Ejemplos y SDKs
Secuencia completa para obtener trabajadores
A continuación te detallamos un flujo completo de llamadas para la obtención de datos de empleados en a3innuva Nómina a través de la API.
Obtener el access-token
Para obtener el access-token necesitamos que un usuario con acceso a a3innuva Nómina 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+IDInfo+WK.ES.A3EquipoContex&
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/Laboral/api/companies?pageNumber=1&pageSize=25' \
--header 'Authorization: Bearer eyIkaWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJ4NXQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkiLCJraWQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkifQ.eyIkaWQiOiIxIiwiJGlkIjoiMSIsImlzcyI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbSIsImF1ZCI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbS9yZXNvdXJjZXMiLCJleHAiOjE2' \
--header 'Ocp-Apim-Subscription-Key: 2kxwf5rb7ffb65dd5' \
--header 'Content-Type: application/json'
[
{
"companyCode": 1,
"companyName": "EMPRESA PRUEBAS S.A.",
"identifierNumber": "H41585142",
"lastUpdate": "2022-12-21T09:49:41.577Z"
},
{
"companyCode": 100,
"companyName": "EMPRESA TEST",
"identifierNumber": "E2133833T",
"lastUpdate": "2023-02-08T15:56:06.727Z"
}
]
Obtener datos de trabajadores
curl --location 'https://a3api.wolterskluwer.es/Laboral/api/companies/100/employees?pageSize=100&pageNumber=1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyIkaWQiOiIxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJ4NXQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkiLCJraWQiOiIwQ1ZvX1k2YzdfOWxQTE9EeHFxZ3ZwS1hCQUkifQ.eyIkaWQiOiIxIiwiJGlkIjoiMSIsImlzcyI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbSIsImF1ZCI6Imh0dHBzOi8vbG9naW4ud29sdGVyc2tsdXdlcmNsb3VkLmNvbS9yZXNvdXJjZXMiLCJleHAiOjE2' \
--header 'Ocp-Apim-Subscription-Key: 2kxwf5rb7ffb65dd5'
[
{
"employeeId": "f1f40323-fee5-454e-a6b9-16801eb5ef50",
"employeeCode": "000001",
"completeName": "García Lao, Juan",
"identifierNumber": "00047787Q",
"dropDate": "0001-01-01T00:00:00Z",
"workplaceCode": 1,
"tariffGroupID": 7,
"extraPayGroupID": "235b709b-b214-49dc-97b9-9659cfe62c1d",
"lastUpdate": "2023-04-04T11:27:10.093Z"
},
{
"employeeId": "fbb9cafb-2ce4-4528-81b1-85ae2e13b273",
"employeeCode": "000002",
"completeName": "López Martínez, María",
"identifierNumber": "00005716N",
"dropDate": "0001-01-01T00:00:00Z",
"workplaceCode": 1,
"tariffGroupID": 1,
"lastUpdate": "2022-06-30T11:22:59.563Z"
},
]
Github
Visita nuestro repo en github donde podrás encontrar inspiración para el desarrollo de aplicaciones que integren con las soluciones de a3innuva.