Documentación

Contactos

El directorio de clientes y proveedores del libro — el mismo que la pantalla Contactos. Recurso JSON:API book_party : crear es un upsert por identificación (repetir un POST con la misma identificación actualiza el contacto en lugar de duplicarlo).

El objeto book_party #

Atributos

active boolean requerido

false desactiva el registro sin borrarlo.

identification string requerido

RUC, cédula o identificación fiscal — única por libro; crear con una identificación existente actualiza ese contacto.

kind enum requerido

Cómo participa en tus operaciones: cliente, proveedor o ambos.

customersupplierboth

name string requerido

Nombre o razón social.

payment_method enum requerido

transferchequecash

related_party boolean requerido

Marca de parte relacionada para los anexos tributarios.

address string
bank_account_number string
bank_account_type enum

savingschecking

bank_name string
city string
credit_limit_cents integer
email string

Correo al que se envían los comprobantes emitidos a este contacto.

expense_account_id uuid
group string
id_type string

Código del tipo de identificación (catálogo del país; en Ecuador SRI Tabla 6: 04 RUC, 05 cédula, 06 pasaporte).

paid_from_account_code string
payment_terms_days integer
person_type enum

Persona natural o sociedad — decide validaciones y reportes (ATS).

naturalsociedad

phone string

Filtrable por: activeaddressbank_account_numberbank_account_typebank_namecitycredit_limit_centsemailexpense_account_idgroupidid_typeidentificationkindnamepaid_from_account_codepayment_methodpayment_terms_daysperson_typephonerelated_party

Ordenable por: activeaddressbank_account_numberbank_account_typebank_namecitycredit_limit_centsemailexpense_account_idgroupidid_typeidentificationkindnamepaid_from_account_codepayment_methodpayment_terms_daysperson_typephonerelated_party

Crear (o actualizar) un contacto#

POST /api/v1/contacts Bearer

Upsert por identification dentro del libro de la llave.

Content-Type: application/vnd.api+json

Cuerpo de la solicitud

identification string requerido

RUC, cédula o identificación fiscal — única por libro; crear con una identificación existente actualiza ese contacto.

name string requerido

Nombre o razón social.

active boolean

false desactiva el registro sin borrarlo.

email string

Correo al que se envían los comprobantes emitidos a este contacto.

id_type string

Código del tipo de identificación (catálogo del país; en Ecuador SRI Tabla 6: 04 RUC, 05 cédula, 06 pasaporte).

kind enum

Cómo participa en tus operaciones: cliente, proveedor o ambos.

customersupplierboth

person_type enum

Persona natural o sociedad — decide validaciones y reportes (ATS).

naturalsociedad

related_party boolean

Marca de parte relacionada para los anexos tributarios.

Devuelve · 201 con data · 400 si el cuerpo no cumple el esquema.

cURL
curl -X POST https://edge.datil.com/api/v1/contacts \
  -H "Authorization: Bearer $DATIL_API_KEY" \
  -H "Content-Type: application/vnd.api+json" \
  -d '{
  "data": {
    "type": "book_party",
    "attributes": {
      "identification": "0992345678001",
      "name": "ACME S.A.",
      "kind": "customer",
      "email": "pagos@acme.ec"
    }
  }
}'
Respuesta · 201
{
  "data": {
    "type": "book_party",
    "id": "5b7e29d4-1c8a-4f3e-9b6d-2e4a8c0d1f35",
    "attributes": {
      "active": true,
      "identification": "0992345678001",
      "kind": "customer",
      "name": "ACME S.A.",
      "payment_method": "transfer",
      "related_party": false,
      "address": null,
      "bank_account_number": null,
      "bank_account_type": "savings",
      "bank_name": null,
      "city": null,
      "credit_limit_cents": null,
      "email": "pagos@acme.ec",
      "expense_account_id": null,
      "group": null,
      "id_type": "04",
      "paid_from_account_code": null,
      "payment_terms_days": null,
      "person_type": "sociedad",
      "phone": null
    }
  }
}

Listar contactos#

GET /api/v1/contacts Bearer

Parámetros

filter[…] object

Filtra por atributo: filter[kind]=customer , u operadores anidados como filter[issue_date][greater_than]=2026-07-01 . Combinable con filter[and] / filter[or] .

sort string

Atributos separados por coma; prefijo - para descendente: sort=-issue_date .

page[limit] integer

Máximo de registros por página.

page[offset] integer

Desplazamiento desde el inicio del listado.

page[count] boolean

Con true , la respuesta incluye el total en meta.page.total .

fields[tipo] string

Atributos a devolver, separados por coma — el sparse fieldset de JSON:API.

Devuelve · 200 con data — lista de objetos book_party .

cURL
curl "https://edge.datil.com/api/v1/contacts?filter[kind]=customer&page[limit]=20" \
  -H "Authorization: Bearer $DATIL_API_KEY"
Respuesta · 200
{
  "data": [
    {
      "type": "book_party",
      "id": "5b7e29d4-1c8a-4f3e-9b6d-2e4a8c0d1f35",
      "attributes": {
        "active": true,
        "identification": "0992345678001",
        "kind": "customer",
        "name": "ACME S.A.",
        "payment_method": "transfer",
        "related_party": false,
        "address": null,
        "bank_account_number": null,
        "bank_account_type": "savings",
        "bank_name": null,
        "city": null,
        "credit_limit_cents": null,
        "email": "pagos@acme.ec",
        "expense_account_id": null,
        "group": null,
        "id_type": "04",
        "paid_from_account_code": null,
        "payment_terms_days": null,
        "person_type": "sociedad",
        "phone": null
      }
    }
  ]
}

Consultar un contacto#

GET /api/v1/contacts/:id Bearer

Parámetros

id uuid requerido

Id del contacto.

Devuelve · 200 con data · 404 .

cURL
curl "https://edge.datil.com/api/v1/contacts/5b7e29d4-1c8a-4f3e-9b6d-2e4a8c0d1f35" \
  -H "Authorization: Bearer $DATIL_API_KEY"
Respuesta · 200
{
  "data": {
    "type": "book_party",
    "id": "5b7e29d4-1c8a-4f3e-9b6d-2e4a8c0d1f35",
    "attributes": {
      "active": true,
      "identification": "0992345678001",
      "kind": "customer",
      "name": "ACME S.A.",
      "payment_method": "transfer",
      "related_party": false,
      "address": null,
      "bank_account_number": null,
      "bank_account_type": "savings",
      "bank_name": null,
      "city": null,
      "credit_limit_cents": null,
      "email": "pagos@acme.ec",
      "expense_account_id": null,
      "group": null,
      "id_type": "04",
      "paid_from_account_code": null,
      "payment_terms_days": null,
      "person_type": "sociedad",
      "phone": null
    }
  }
}

Actualizar un contacto#

PATCH /api/v1/contacts/:id Bearer

Content-Type: application/vnd.api+json

Parámetros

id uuid requerido

Id del contacto.

Cuerpo de la solicitud

active boolean

false desactiva el registro sin borrarlo.

bank_account_number string
bank_account_type enum

savingschecking

bank_name string
credit_limit_cents integer
email string

Correo al que se envían los comprobantes emitidos a este contacto.

expense_account_id uuid
id_type string

Código del tipo de identificación (catálogo del país; en Ecuador SRI Tabla 6: 04 RUC, 05 cédula, 06 pasaporte).

identification string

RUC, cédula o identificación fiscal — única por libro; crear con una identificación existente actualiza ese contacto.

kind enum

Cómo participa en tus operaciones: cliente, proveedor o ambos.

customersupplierboth

name string

Nombre o razón social.

paid_from_account_code string
payment_method enum

transferchequecash

person_type enum

Persona natural o sociedad — decide validaciones y reportes (ATS).

naturalsociedad

related_party boolean

Marca de parte relacionada para los anexos tributarios.

Devuelve · 200 con data · 404 .

cURL
curl -X PATCH https://edge.datil.com/api/v1/contacts/5b7e29d4-1c8a-4f3e-9b6d-2e4a8c0d1f35 \
  -H "Authorization: Bearer $DATIL_API_KEY" \
  -H "Content-Type: application/vnd.api+json" \
  -d '{
  "data": {
    "type": "book_party",
    "attributes": {
      "email": "pagos@acme.ec",
      "active": true
    }
  }
}'
Respuesta · 200
{
  "data": {
    "type": "book_party",
    "id": "5b7e29d4-1c8a-4f3e-9b6d-2e4a8c0d1f35",
    "attributes": {
      "active": true,
      "identification": "0992345678001",
      "kind": "customer",
      "name": "ACME S.A.",
      "payment_method": "transfer",
      "related_party": false,
      "address": null,
      "bank_account_number": null,
      "bank_account_type": "savings",
      "bank_name": null,
      "city": null,
      "credit_limit_cents": null,
      "email": "pagos@acme.ec",
      "expense_account_id": null,
      "group": null,
      "id_type": "04",
      "paid_from_account_code": null,
      "payment_terms_days": null,
      "person_type": "sociedad",
      "phone": null
    }
  }
}
Sin conexión — reintentando…

Esenciales

Sesión, seguridad, idioma y tema. Sin ellas el sitio no funciona.

Siempre activas