Ejemplos y SDKs
Secuencia completa para obtener las cuentas contables de una empresa
A continuación te detallamos un flujo completo de llamadas para la obtención de datos de las cuentas contables de una empresa en a3innuva Contabilidad a través de la API.
Obtener el access-token
Para obtener el access-token necesitamos que un usuario con acceso a a3innuva Contabilidad se valide en el servidor de la WKA. Deberemos montar una URL que podremos pegar en un navegador local:
https://login.wolterskluwer.eu/auth/core/connect/authorize?
client_id=YOUR_CLIENT_ID&
response_type=code+id_token&
response_mode=fragment&
redirect_uri=http://oob/oauth20_desktop.srf&
scope=offline_access+openid+WK.ES.NEWPOL.COR.API+WK.ES.NEWPOL.ACC.API+WK.ES.NEWPOL.MNG.API+WK.ES.Webhooks&
state=state&
nonce=a022a4d0-86eb-495b-8bcb-56f69da59ce6
Estamos redirigiendo la respuesta de la autenticación de WKA a la url http://oob/oauth20_desktop.srf, que es la que se utiliza para aplicaciones on-premise. Esto hará que el navegador, una vez el usuario se haya autenticado, nos muestre una pantalla de error ya que no puede resolver esa dirección, pero en la url-fragment del navegador encontraremos el Code que podemos utilizar para enviar la petición POST:
curl --location 'https://login.wolterskluwer.eu/auth/core/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code=CODE_PETICION_ANTERIOR' \
--data-urlencode 'redirect_uri=http://oob/oauth20_desktop.srf' \
--data-urlencode 'client_id=YOUR_CLIENT_ID' \
--data-urlencode 'client_secret=YOUR_CLIENT_PASSWORD'
Obtendremos el access-token y refresh-token:
{
"id_token": "eyIkaWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJ4NXQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkiLCJraWQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkifQ.eyIkaWQiOiIxIiwiJGlkIjoiMSIsImlzcyI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbSIsImF1ZCI6IldLLkVTLkEzV2ViQXBpLjYxNjAyIiwiZXhwIjoxNjg1ODU2NjIzLCJuYmYiOjE2ODU2ODM4MjMs",
"access_token": "eyIkaWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJ4NXQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkiLCJraWQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkifQ.eyIkaWQiOiIxIiwiJGlkIjoiMSIsImlzcyI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbSIsImF1ZCI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbS9yZXNvdXJjZXMiLCJleHAiOjE2",
"expires_in": 86400,
"token_type": "Bearer",
"refresh_token": "fecfb71adea6721a39ca4861a962a0b64e7d1994a9"
}
Obtener relación de empresas
curl --location 'https://a3api.wolterskluwer.es/a3innuva-contabilidad/api/companies?pageNumber=1&pageSize=25' \
--header 'Authorization: Bearer eyIkaWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJ4NXQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkiLCJraWQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkifQ.eyIkaWQiOiIxIiwiJGlkIjoiMSIsImlzcyI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbSIsImF1ZCI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbS9yZXNvdXJjZXMiLCJleHAiOjE2' \
--header 'Ocp-Apim-Subscription-Key: 2kxwf5rb7ffb65dd5' \
--header 'Content-Type: application/json' \
--header 'context: none'
[
{
"vatName": "EMPRESA PRUEBAS S.A.",
"vatNumber": "H41585142",
"state": "Enabled",
"chartOfAccountId": 1,
"accountLength": 10,
"correlationId": "b1f14e5a-ed3b-45ec-b555-6cac1d2396c7",
"version": "2022-09-20T07:36:30.9691227Z",
"sequenceVersion": "637992561909691227"
},
{
"vatName": "EMPRESA PRUEBAS, S.L. ",
"vatNumber": "04544545K",
"state": "Enabled",
"chartOfAccountId": 1,
"accountLength": 10,
"correlationId": "A3TFR:061602:CM:98d52a37-3659-4d01-a526-750888feb5d9",
"version": "2023-04-24T13:35:34.4231448Z",
"sequenceVersion": "638179401344231450"
}
]
Obtener datos de las cuentas contables
curl --location 'https://a3api.wolterskluwer.es/a3innuva-contabilidad/api/accounts?pageNumber=1&pageSize=50' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyIkaWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJ4NXQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkiLCJraWQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkifQ.eyIkaWQiOiIxIiwiJGlkIjoiMSIsImlzcyI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbSIsImF1ZCI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbS9yZXNvdXJjZXMiLCJleHAiOjE2' \
--header 'Ocp-Apim-Subscription-Key: 2kxwf5rb7ffb65dd5' \
--header 'context: {"clientId": "A3TFR:061602:CM:98d52a37-3659-4d01-a526-750888feb5d9"}'
[
{
"correlationId": "8bc0fcaf-1d19-4842-9a7e-90d87e3c8fb9",
"code": "1000000000",
"description": "Capital social",
"state": "Enabled",
"version": "2023-04-24T13:46:59.1472528Z",
"sequenceVersion": "638179408191472526"
},
{
"correlationId": "",
"code": "1010000000",
"description": "Fondo social",
"state": "Template",
"version": "0001-01-01T00:00:00Z",
"sequenceVersion": "0"
},
{
"correlationId": "",
"code": "1534000000",
"description": "Desembolsos no exigidos, empresas asociadas",
"state": "Template",
"version": "0001-01-01T00:00:00Z",
"sequenceVersion": "0"
},
{
"correlationId": "",
"code": "1535000000",
"description": "Desembolsos no exigidos, otras partes vinculadas",
"state": "Template",
"version": "0001-01-01T00:00:00Z",
"sequenceVersion": "0"
}
]
Github
Visita nuestro repo en github donde podrás encontrar inspiración para el desarrollo de aplicaciones que integren con las soluciones de a3innuva.