Dimo Empresa - API
...
Documentation
Base URLs
- LocalHost:
http://localhost:8080/ApiDimoEmpresaJavaEnvironment/rest
- PreProducción:http://10.5.1.31:90878103/rest
Authentication
- API Key: All endpoints require an API key passed in the headersTodos los endPoints necesitan un ApiKey en el header.
- Header:
API-KEY
- Example ValueValor de ejemplo:
BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
- Descripción:
Aparte de seguridad por esta clave se identifica a la Empresa.
- Header:
Endpoints
...
AltaColaborador
- Endpoint:
/colaboradores/alta
- MethodMétodo:
POST
Description: Creates a new collaborator. - Descripción: Crea un nuevo colaborador para la empresa
- Headers:
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
Request Body:
dataCode Block language py title json linenumbers true { "
colaborador": { "nroDocumento": 4040440, "nombres": "Arturo", "apellidos": "Sosa Bagnoli", "nroTelefono": "0971159618", "correo": "asosa@cabal.com.py" } }
- Response: No response example provided.
2. ListarColaborador
...
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
...
3. CrearAcreditacion
- Endpoint:
/acreditaciones/crear
- Method:
POST
- Description: Creates a new accreditation.
- Headers:
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
- Request Body:json
Expand title Consideraciones del Request "nroDocumento" => Debe ser numérico, contener el número de documento de la persona a quien se le va a asociar como colaborador de la empresa.
"nroTelefono" => Debe tener ese formato, no debe contener caracteres especiales ni espacios.
"correo" => Debe ser un correo valido. Response:
acreditacionCode Block language py title json linenumbers true { "
usuarioheader": { "
"test1"codReturn":
descripcion3, "
prueba 1txtReturn": "
,WARNING"
},
lista"
[data":
{{ "info": "El colaborador
ya existe",
nroDocumento"
4040440nroTarjeta":
"monto": 1500000 }, { "nroDocumento": 4040440, "monto": 1200000 }, { "nroDocumento": 404011111, "monto": 1600000 } ] } }"", "tarjetaMask": ""
- Response: No response example provided.
4. EjecutarAcreditacion
...
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
...
Error Handling
- Common HTTP Status Codes:
200 OK
: The request was successful.400 Bad Request
: The request could not be understood or was missing required parameters.401 Unauthorized
: Authentication failed or user does not have permissions for the desired action.404 Not Found
: The requested resource could not be found.500 Internal Server Error
: An error occurred on the server.
Example Usage
Here are some example requests using curl:
AltaColaborador
...
} }
Expand title Respuestas posibles "codReturn": 0, "txtReturn": "SUCCESS", "info": "Registrado como colaborador, ya tiene cuenta Dimo" => Se agregó correctamente al colaborador y ese colaborador ya tiene una cuenta Dimo, por lo que se le creo la tarjeta prepaga asociada a la empresa.
"codReturn": 0, "txtReturn": "SUCCESS", "info": "Registrado como colaborador, aun no tiene cuenta DIMO" => Se agregó correctamente al colaborador y ese colaborador aún no tiene una cuenta dimo. Por lo tanto no se le creó la tarjeta prepaga de la empresa.
"codReturn": 1, "txtReturn": "ERROR", "info": "Hubo un problema al procesar la solicitud" => Hubo un problema interno por el cual no se pudo procesar la solicitud. Se notifico al equipo de Sistemas para su revisión.
"codReturn": 2, "txtReturn": "WARNING", "info": "Valores del request no validos" => No corresponde los valores del request. (telefono o correo).
"codReturn": 3, "txtReturn": "WARNING", "info": "El colaborador ya existe" => El colaborador ya se encuentra vinculado a la empresa y ya tiene su tarjeta prepaga creada.
"codReturn": 4, "txtReturn": "ERROR", "info": "Hubo un problema en el registro del colaborador" => Hubo un problema al crear al usuario, sistemas ya fue notificado.
ListarColaborador
- Endpoint:
/colaboradores/listar
- Método:
POST
- Descripción: Lista uno o todos los colaboradores de la empresa, con información adicional de cada uno.
- Headers:
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
Request Body:
Code Block language py title json linenumbers true { "nroDocumento": 4040440
...
}
Expand title Consideraciones del Request "nroDocumento" => Debe ser numérico, contener el número de documento de la persona a quien se le va a asociar como colaborador de la empresa.
"nroDocumento" => Debe tener el valor 0 para que el endpoint devuelva todos los colabores de la empresa.Response Body:
Code Block language py title json linenumbers true { "
...
header":
...
{ "
...
codReturn":
...
0, "
...
txtReturn": "
...
SUCCESS" },
...
...
ListarColaborador
...
...
...
"data"
...
CrearAcreditacion
...
: [ { "apellidos": "Sosa", "correo": "asosa@cabal.com.py", "
...
documento": "
...
4040440",
...
"
...
estado":
...
"Usuario registrado",
...
...
"
...
nombres":
...
"Arturo",
...
...
...
"nroTarjeta": "6043512000595678",
...
...
"nroTelefono":
...
"0986215487",
...
...
"
...
tarjetaMask":
...
...
"6043-XXXX-XXXX-5678" } ]
...
EjecutarAcreditacion
...
Este documento proporciona una descripción clara y concisa de la API de "Dimo Empresa", con ejemplos prácticos para cada uno de los endpoints disponibles. Para cualquier actualización o modificación, asegúrate de mantener esta documentación sincronizada con los cambios en la API.
Si necesitas integrarlo con una plataforma de documentación interactiva como Swagger, Postman o cualquier otra, aquí tienes algunos pasos generales para hacerlo:
Integración con Swagger/OpenAPI
- Crear un archivo de especificación OpenAPI: Este archivo (
swagger.yaml
oswagger.json
) contendrá todas las definiciones de tu API. - Generar la documentación: Puedes usar herramientas como Swagger UI para generar una interfaz interactiva.
Ejemplo de Especificación OpenAPI (YAML)
...
}
Expand title Respuestas posibles "codReturn": 0, "txtReturn": "SUCCESS" => Cuando encuentra los datos. (El data puede ser de un colaborador o de todos los colabores de la empresa).
"codReturn": 1, "txtReturn": "ERROR" => Cuando el endpoint tuvo un problema al procesar la petición.
"codReturn": 2, "txtReturn": "No existe el colaborador" => Cuando no hay un colaborador registrado con el documento enviando en el request.
CrearAcreditacion
- Endpoint:
/acreditaciones/crear
- Método:
POST
- Descripción: Crea una nueva orden de acreditación.
- Headers:
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
Request Body:
Code Block language py title json linenumbers true { "acreditacion": { "usuario": "test1", "descripcion":"prueba 1", "lista": [
...
{
...
...
...
"nroDocumento": 4040440,
...
"monto": 1500000
...
},
...
...
{
...
"nroDocumento": 4040440,
...
"monto": 1200000
...
...
}, {
...
...
"nroDocumento": 404011111,
...
"monto":
...
1600000 } ]
...
...
...
} }
Expand title Consideraciones del Request "usuario" => Puede enviar el nombre del usuario que creo la acreditación para asociar esa información a la petición.
"descripcion" => Puede enviar alguna descripción para asociar a la petición. Ej.: 'Acreditación de Salario mes de Junio'.
"nroDocumento" => Debe ser numérico, contener el número de documento de la persona a quien se le va a asociar como colaborador de la empresa.
"monto" => Debe contener el valor a ser acreditado al colaborador sin separación de puntos ni decimales.Response Body:
Code Block language py title json linenumbers true { "header": {
...
...
"codReturn": 1, "txtReturn": "WARNING" },
...
"data": { "estadoAcreditacion": "APROBADO",
...
"idAcreditacion":
...
"274", "acreditacionesValidas": [
...
{
...
...
"estado": "Usuario registrado",
...
"monto": "1500000",
...
...
"nroDocumento": "4040440" },
...
...
{
...
"estado": "Usuario registrado",
...
...
"monto": "1200000", "nroDocumento": "4040440"
...
...
...
}
...
],
...
"acreditacionesNoValidas":
...
[
...
...
{
...
...
...
...
...
"estado":
...
"No esta registrado como
...
colaborador",
...
...
...
"monto": "1600000",
...
...
...
"nroDocumento": "404011111" }
...
]
...
} }
Expand title Respuestas posibles "codReturn": 0, "txtReturn": "SUCCESS", "estadoAcreditacion": "APROBADO" => Todos los colaboradores del Request pueden recibir su acreditación sin problemas.
"codReturn": 1, "txtReturn": "ERROR", "estadoAcreditacion": "Hubo un problema al procesar la peticion" => El endpoint tuvo un problema procesando la petición. Sistemas ya fue notificado.
"codReturn": 2, "txtReturn": "WARNING", "estadoAcreditacion": "APROBADO" => Hay usuarios que no pertenecen a la lista de colabores de la empresa, pero si se procesa la orden para el resto.
"codReturn": 3, "txtReturn": "ERROR", "estadoAcreditacion": "No existe ningun colaborador valido" => Todos los colabores del request, no pertenecen a la empresa.
EjecutarAcreditacion
- Endpoint:
/acreditaciones/ejecutar
- Método:
POST
- Descripción: Ejecutar una acreditación.
- Headers:
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
Request Body:
Code Block language py title json linenumbers true { "acreditacion": { "usuario": "test1",
...
"idAcreditacion":274
...
} }
Expand title Consideraciones del Request "usuario" => Puede enviar el nombre del usuario que creo la acreditación para asociar esa información a la petición.
"idAcreditacion" => Debe enviar el ID de la orden de acreditación devuelta por el endpoint anterior.Response Body:
Code Block language py title json linenumbers true { "header": {
...
"codReturn": 0, "txtReturn": "SUCCESS" },
...
"data": { "descripcion": "Se proceso correctamente"
...
} }
Expand title Respuestas posibles "codReturn": 0, "txtReturn": "SUCCESS", "descripcion": "Se proceso correctamente" => Todos los colaboradores del Request pueden recibir su acreditación sin problemas.
"codReturn": 1, "txtReturn": "ERROR", "descripcion": "Hubo un problema al ejecutar la acreditacion" => El endpoint tuvo un problema procesando la petición. Sistemas ya fue notificado.
"codReturn": 2, "txtReturn": "ERROR", "descripcion": "No existe la orden de acreditacio" => Hay usuarios que no pertenecen a la lista de colabores de la empresa, pero si se procesa la orden para el resto.
"codReturn": 3, "txtReturn": "WARNING", "descripcion": "Esta orden de acreditacion ya fue ejecutada" => Todos los colabores del request, no pertenecen a la empresa.
"codReturn": 4, "txtReturn": "ERROR", "descripcion": "DINAMICO" => Se devuelve una descripción distinta dependiendo de la validación que rechazo la petición.
HistoricoAcreditaciones
- Endpoint:
/acreditaciones/historico
- Método:
POST
- Descripción: Devuelve los datos del histórico.
- Headers:
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
Request Body:
Code Block language py title json linenumbers true { "filtros": {
...
"fechaInicio":
...
"01/09/2024", "fechaFinal": "11/09/2024", "estado": "APROBADO"
...
} }
Expand title Consideraciones del Request "fechaInicio" => Debe tener el formato de "dd/mm/yyyy"
"fechaFinal" => Debe tener el formato de "dd/mm/yyyy"
"estado" => Valores posibles: APROBADO, APROBADO-EJECUTADO y PENDIENTE.Se puede enviar uno o todos los campos vacios => "" Esto devolverá todos los registros.
Response Body:
Code Block language py title json linenumbers true { "header": { "codReturn": 0, "txtReturn": "SUCCESS" },
...
"data": [
...
{
...
...
...
"descripcion": "Orden para Joel",
...
...
...
...
"estado": "APROBADO",
...
...
"fechaAprob": "03/09/2024 09:30:22",
...
...
"fechaEjec": "03/09/24 09:30",
...
"fechaInsert": "03/09/2024 09:30:22",
...
"glosa":
...
"ACREDITACION DE SALARIOS",
...
"idAcreditacion": "570",
...
"montoTotal": "1000000",
...
"usuarioAprob":
...
"test1", "usuarioEjec": "test1",
...
"usuarioInsert": "test1" },
...
{
...
"descripcion": "Orden Nro. 5500", "estado": "APROBADO",
...
...
"fechaAprob": "02/09/2024 10:53:40",
...
"fechaEjec": "02/09/24 10:53", "fechaInsert": "02/09/2024 10:53:40",
...
...
"glosa": "ACREDITACION DE SALARIOS",
...
"idAcreditacion":
...
"568",
...
"montoTotal": "1000000",
...
...
Integración con Postman
- Importar el archivo JSON: En Postman, puedes importar el archivo JSON directamente para obtener una colección con todos los endpoints definidos.
- Generar documentación: Postman permite generar documentación interactiva y publicarla en línea.
Publicación en GitHub Pages o GitBook
- Markdown documentation: Puedes convertir esta documentación en formato Markdown y publicarla en plataformas como GitHub Pages o GitBook para una presentación atractiva y accesible.
...
"usuarioAprob": "test1", "usuarioEjec": "test1", "usuarioInsert": "test1" }, { "descripcion": "Joel acreditación", "estado": "APROBADO", "fechaAprob": "02/09/2024 10:52:23", "
...
fechaEjec":
...
"02/09/24 10:52", "
...
fechaInsert":
...
"02/09/2024 10:52:23", "
...
glosa": "
...
ACREDITACION DE SALARIOS", "
...
idAcreditacion": "
...
567", "
...
montoTotal": "
...
1000000", "
...
usuarioAprob": "
...
test1",
...
- Response: No response example provided.
ListarColaborador
- Endpoint:
/colaboradores/listar
- Method:
POST
- Description: Lists a collaborator by document number.
- Headers:
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
- Request Body:json
{
nroDocumento"
4040440 }usuarioEjec":
- Response: No response example provided.
CrearAcreditacion
- Endpoint:
/acreditaciones/crear
- Method:
POST
- Description: Creates a new accreditation.
- Headers:
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
- Request Body:json
{
acreditacion"test1", "
{usuarioInsert":
"usuario": "test1","test1"
"descripcion":}, {
"prueba
1",
lista"
[descripcion":
{"Acreditación Joel",
"estado": "APROBADO",
nroDocumento"
4040440fechaAprob":
"monto":"02/09/2024 10:51:10", "fechaEjec": "02/09/24 10:51",
1500000
}"fechaInsert":
{"02/09/2024 10:51:10",
"glosa": "ACREDITACION DE SALARIOS",
nroDocumento"
4040440idAcreditacion":
"monto": 1200000"566",
}"montoTotal": "1000000",
{"usuarioAprob": "test1",
"nroDocumento":"usuarioEjec": "test1", "usuarioInsert": "test1"
404011111,} ] }
DisponibleCuentaEmpresa
- Endpoint:
/acreditaciones/disponible
- Método:
POST
- Descripción: Devuelve los datos de la cuenta.
- Headers:
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
Request Body: (SIN REQUEST, SOLO POST)
Response Body:
monto": 1600000Code Block language py title json linenumbers true { "
}data": { "disponible": "45075000",
]"estado": "Operativa",
}"nroCuenta": "",
}- Response: No response example provided.
EjecutarAcreditacion
- Endpoint:
/acreditaciones/ejecutar
- Method:
POST
- Description: Executes an accreditation.
- Headers:
API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled
- Request Body:json
{
acreditacion"
{nroTarjeta":
usuario"2C382210F8FE550D", "
test1",nroTarjetaCripto": "
idAcreditacion6043-XXXX-XXXX-6775" }, "
274header": {
}
} - Response: No response example provided.
PreProducción
API-KEY - Validar
- Endpoint:
/auth/realms/mdw/check
- Method:
GET
- Description: Validates an API key.
- Headers: None required.
- URL Parameters:
- `apiKey: t7DQWbMzns339c9CA4rt7FBByqhYKd94
AVW0MamEuSOfjV9c3A`
- Response: No response example provided.
Error Handling
"codReturn": 0, "txtReturn": "SUCCESS" } }
Manejo de errores
- Common HTTP Status Codes:
200 OK
: The request was successful.400 Bad Request
: The request could not be understood or was missing required parameters.401 Unauthorized
: Authentication failed or user does not have permissions for the desired action.404 Not Found
: The requested resource could not be found.500 Internal Server Error
: An error occurred on the server.
Example Usage
Here are some example requests using curl:
AltaColaborador
...
- server.
Ejemplos de uso
Ejemplos de como consumir por curl:
AltaColaborador
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
curl -X POST "http:// |
...
10.5.1.31:8103/rest/colaboradores/alta" \ -H "API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled" \ -H "Content-Type: application/json" \ -d '{ "data": { "nroDocumento": 4040440, "nombres": "Arturo", "apellidos": "Sosa Bagnoli", "nroTelefono": "0971159618", "correo": "asosa@cabal.com.py" } }' |
...
ListarColaborador
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
curl -X POST "http:// |
...
10.5.1.31:8103/rest/colaboradores/listar" \ -H "API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled" \ -H "Content-Type: application/json" \ -d '{ "nroDocumento": 4040440 } |
...
CrearAcreditacion
...
' |
CrearAcreditacion
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
curl -X POST "http:// |
...
10.5.1.31:8103/rest/acreditaciones/crear" \ -H "API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled" \ -H "Content-Type: application/json" \ -d '{ "acreditacion": { "usuario": "test1", "descripcion": |
...
"prueba 1", "lista": [ { "nroDocumento": 4040440, "monto": 1500000 |
...
}, { "nroDocumento": 4040440, "monto": |
...
1200000 }, { "nroDocumento": |
...
404011111, "monto": |
...
1600000 } |
...
] |
...
}
}' |
EjecutarAcreditacion
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
curl -X POST "http://10.5.1.31:8103/rest/acreditaciones/ejecutar" \ -H "API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled" \ -H "Content-Type: application/json" \ -d '{ "acreditacion": { "usuario": "test1", |
...
"idAcreditacion": |
...
274 } }' |
...
EjecutarAcreditacion
...
HistoricoAcreditacion
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
curl -X POST "http:/ |
...
/10.5.1.31:8103/rest/acreditaciones/ |
...
historico" \ -H "API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled" \ -H "Content-Type: application/json" \ -d '{ " |
...
filtros": { "fechaInicio": |
...
"01/09/2024", "fechaFinal": " |
...
11/09/2024", " |
...
estado": |
...
"APROBADO" } }' |
...
API-KEY - Validar
...
ConsultarDisponible
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
curl -X |
...
POST "http://10.5.1.31: |
...
8103/ |
...
rest/ |
...
acreditaciones/disponible" \
-H "API-KEY: BMMyeLpIomvnnGwmN8IOydFCON4AQelKTIY4C44Fljg8AjFled" \
-H "Content-Type: application/json" \
-d '' |
Este documento proporciona una guía completa para la integración y uso de la API de Dimo Empresa. Asegúrate de seguir las mejores prácticas de seguridad y yo me comprometo a mantener actualizada la documentación para reflejar cualquier cambio en la |
---|
...
language | java |
---|---|
theme | DJango |
title | sh |
...
API. |
| Versión de la doc: v1.0.1.0 |
---|