Cufy API
Clientes guardados

Guardar un cliente para reutilizarlo al emitir

POST/v1/customers

Estado: implementada. Ambientes: simulation, qualification. Permisos: documents:write.

Alcance: Clientes de la empresa y ambiente de la credencial, con RLS; uno ajeno responde 404 igual que uno inexistente. El comprador se valida con las reglas de la emisión (FISCAL_VALIDATION_FAILED). Sin unicidad por identificación. Idempotency-Key obligatoria; external_id único entre los activos, también con solicitudes concurrentes (409 CUSTOMER_EXTERNAL_ID_CONFLICT).

Valida el comprador con las mismas reglas de la emisión (FISCAL_VALIDATION_FAILED). Repetir la misma Idempotency-Key devuelve el mismo cliente. external_id usado por otro cliente activo: 409 CUSTOMER_EXTERNAL_ID_CONFLICT con resource_id.

Authorization

ClientApiKey
X-API-Key<token>

Secreto ligado a empresa, actor, permisos y ambiente. No admite cambiar empresa por body/header.

In: header

Header Parameters

Idempotency-Key*string

Obligatoria en mutaciones. Alcance: empresa/ambiente/operación/recurso destino. Retención mínima 90 días y mientras haya trabajo pendiente. Mismo contenido recupera resultado; contenido diferente produce 409.

Match^[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$
Length1 <= length <= 128

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Datos fiscales de un comprador para reutilizar al emitir, validados con las mismas reglas del comprador de la factura. external_id es la referencia opcional del ERP: única entre los clientes activos de la empresa y ambiente; archivar un cliente la libera. Al actualizar, el cuerpo reemplaza al cliente completo: omitir external_id lo quita. No hay unicidad por identificación ni fusión de compradores.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/customers" \  -H "Idempotency-Key: string" \  -H "Content-Type: application/json" \  -d '{    "external_id": "ERP-CLIENTE-0001",    "buyer": {      "party_type": "person",      "identification": {        "type_code": "13",        "number": "1000000000"      },      "name": "Comprador de ejemplo",      "email": "comprador@example.com",      "tax_registration": {        "responsibility_codes": [          "R-99-PN"        ],        "tax_scheme_codes": [          "01"        ]      }    }  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "external_id": "string",  "buyer": {    "party_type": "company",    "identification": {      "check_digit": "s",      "type_code": "31",      "number": "string"    },    "name": "string",    "address": {      "country_code": "CO",      "department_code": "st",      "municipality_code": "strin",      "city_name": "string",      "line": "string",      "postal_code": "string"    },    "email": "user@example.com",    "tax_registration": {      "responsibility_codes": [        "string"      ],      "tax_scheme_codes": [        "string"      ]    }  },  "status": "active",  "version": 1,  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z",  "archived_at": "2019-08-24T14:15:22Z"}