Skip to content

Gestión de Clientes

La API de gestión de clientes permite realizar operaciones CRUD completas sobre los clientes del sistema. Incluye funcionalidades para consultar, crear, actualizar y eliminar clientes, así como obtener información específica y eventos relacionados.

Endpoint: GET /api/v1/customers

Descripción: Obtiene una lista de todos los clientes registrados en el sistema.

Accept: application/json
Content-Type: application/json
Authorization: Bearer {token}
ParámetroTipoDescripciónEjemplo
type_identificationstringFiltrar por tipo de identificaciónruc, cedula, pasaporte
pageintegerNúmero de página para paginación1
per_pageintegerElementos por página15
Terminal window
curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/customers?type_identification=ruc" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_token_here"
{
"data": [
{
"id": 934666822,
"full_name": "CARVAGU S.A.",
"email": "[email protected]",
"identification_type": "ruc",
"identification_number": "0991434879001",
"address": "Chongón km 24",
"phone": null,
"website": null,
"is_business": true
}
],
"meta": {
"current_page": 1,
"per_page": 15,
"total": 1
}
}

Endpoint: POST /api/v1/customers/create

Descripción: Crea un nuevo cliente en el sistema.

Accept: application/json
Content-Type: application/json
Authorization: Bearer {token}
CampoTipoRequeridoDescripción
identification_numberstringNúmero de identificación del cliente
namestringNombre del cliente
lastnamestringNoApellido del cliente (para personas naturales)
identification_typestringTipo de identificación: RUC, CEDULA, PASAPORTE
emailstringCorreo electrónico del cliente
addressstringNoDirección del cliente
phonestringNoTeléfono del cliente
websitestringNoSitio web del cliente
is_businessbooleanNoIndica si es un negocio (true) o persona natural (false)

Cliente Empresa (RUC):

{
"identification_number": "0991434879001",
"name": "CARVAGU S.A.",
"identification_type": "RUC",
"email": "[email protected]",
"address": "S/N",
"is_business": true
}

Cliente Persona Natural (Cédula):

{
"identification_number": "0921498846",
"name": "HECTOR ANTONIO",
"lastname": "REYES VILLON",
"identification_type": "CEDULA",
"email": "[email protected]",
"address": "Cerecita Km 51"
}
Terminal window
curl -X POST "https://dev-facturacion.e-dinky.test/api/v1/customers/create" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_token_here" \
-d '{
"identification_number": "0991434879001",
"name": "CARVAGU S.A.",
"identification_type": "RUC",
"email": "[email protected]",
"address": "S/N",
"is_business": true
}'
{
"message": "Registro creado",
"status": "CREATED",
"payload": {
"id": 1617479572,
"full_name": "CARVAGU S.A.",
"email": "[email protected]",
"identification_type": "ruc",
"identification_number": "0991434879001"
}
}

Endpoint: PUT /api/v1/customers/update

Descripción: Actualiza la información de un cliente existente.

Accept: application/json
Content-Type: application/json
Authorization: Bearer {token}

Utiliza los mismos campos que en la creación. El cliente se identifica por el identification_number.

Terminal window
curl -X PUT "https://dev-facturacion.e-dinky.test/api/v1/customers/update" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_token_here" \
-d '{
"identification_number": "0991434879001",
"name": "CARVAGU S.A.",
"identification_type": "RUC",
"email": "[email protected]",
"address": "Chongón km 24",
"is_business": true
}'
{
"message": "Registro Actualizado",
"status": "UPDATED",
"payload": {
"id": 934666822,
"full_name": "CARVAGU S.A.",
"email": "[email protected]",
"identification_type": "ruc",
"identification_number": "0991434879001",
"address": "Chongón km 24",
"phone": null,
"website": null,
"is_business": true
}
}

Endpoint: DELETE /api/v1/customers/{identificacion}

Descripción: Elimina un cliente del sistema.

Accept: application/json
Content-Type: application/json
Authorization: Bearer {token}
ParámetroTipoDescripción
identificacionstringNúmero de identificación del cliente a eliminar
Terminal window
curl -X DELETE "https://dev-facturacion.e-dinky.test/api/v1/customers/0991434879001" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_token_here"

Endpoint: GET /api/v1/customers/{identificacion}

Descripción: Obtiene la información detallada de un cliente específico.

Accept: application/json
Content-Type: application/json
Authorization: Bearer {token}
ParámetroTipoDescripción
identificacionstringNúmero de identificación del cliente
Terminal window
curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/customers/0991434879001" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_token_here"

Endpoint: GET /api/v1/customers/{identificacion}/events

Descripción: Obtiene el historial de eventos relacionados con un cliente específico.

Accept: application/json
Content-Type: application/json
Authorization: Bearer {token}
ParámetroTipoDescripción
identificacionstringNúmero de identificación del cliente
Terminal window
curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/customers/0991434879001/events" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_token_here"

Endpoint: GET /api/v1/customers/{identificacion}/dataset

Descripción: Obtiene información adicional y estadísticas del cliente.

Accept: application/json
Content-Type: application/json
Authorization: Bearer {token}
ParámetroTipoDescripción
identificacionstringNúmero de identificación del cliente
Terminal window
curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/customers/0991434879001/dataset" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_token_here"

La API de clientes soporta el sistema de filtros avanzados. Para más información sobre cómo implementar filtros, consulta la documentación de filtros.

CampoTipoDescripción
idintegerID único del cliente
full_namestringNombre completo del cliente
emailstringCorreo electrónico
identification_typestringTipo de identificación
identification_numberstringNúmero de identificación
addressstringDirección
phonestringTeléfono
websitestringSitio web
is_businessbooleanEs negocio
created_atdatetimeFecha de creación
updated_atdatetimeFecha de actualización
{
"filters": [
{
"field": "identification_type",
"condition": "equals",
"value": "ruc"
},
{
"field": "is_business",
"condition": "equals",
"value": true
}
],
"logic": "and"
}
CódigoDescripción
RUCRegistro Único de Contribuyentes
CEDULACédula de Identidad
PASAPORTEPasaporte
CódigoDescripción
200Consulta exitosa
201Cliente creado/actualizado exitosamente
400Error en los datos enviados
401Token de autorización inválido
404Cliente no encontrado
422Error de validación
500Error interno del servidor
  • El campo identification_number debe ser único en el sistema
  • Para clientes tipo empresa (is_business: true), se recomienda usar tipo de identificación RUC
  • Para personas naturales, usar CEDULA o PASAPORTE
  • El campo full_name se genera automáticamente combinando name y lastname
  • Los eventos del cliente incluyen historial de documentos, pagos y modificaciones
  • El dataset proporciona estadísticas y métricas del cliente