Crear cliente
const url = 'https://api.posdata.so/public/v1/customers';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"name":"example","last_name":"example","phone":"example","email":"hello@example.com","person_type":"person","document_type":"CC","document_number":"example","contact_channel":"none"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.posdata.so/public/v1/customers \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --data '{ "name": "example", "last_name": "example", "phone": "example", "email": "hello@example.com", "person_type": "person", "document_type": "CC", "document_number": "example", "contact_channel": "none" }'El cambio llega a las cajas del negocio por su sincronización normal (en segundos si están en línea; si están sin conexión, al reconectarse).
Permiso requerido: customers:write.
Autorización
Sección titulada «Autorización»Parámetros
Sección titulada «Parámetros»Parámetros de cabecera
Sección titulada «Parámetros de cabecera»Obligatorio en todo POST. Un valor único por operación (p. ej. un UUID); reutilízalo solo para reintentar la MISMA operación. Válido 24 h.
Cuerpo de la peticiónobligatorio
Sección titulada «Cuerpo de la peticiónobligatorio»Respuestas
Sección titulada «Respuestas»Creado
Cliente del negocio.
object
person (persona natural) o company (persona jurídica).
Tipo de identificación: CC, TI, NIT, CE, PASAPORTE.
Ejemplo
{ "object": "customer"}Petición inválida (VALIDATION_ERROR, INVALID_JSON, INVALID_CURSOR).
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}Sin API key válida (UNAUTHENTICATED, INVALID_API_KEY, API_KEY_REVOKED, API_KEY_EXPIRED, API_KEY_WRONG_ENVIRONMENT, ACCOUNT_INACTIVE).
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}Sin permiso (PLAN_REQUIRED, INSUFFICIENT_SCOPE, BROWSER_REQUESTS_NOT_ALLOWED).
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}Conflicto (CONFLICT, SKU_ALREADY_EXISTS, IDEMPOTENCY_IN_PROGRESS, NO_WAREHOUSE, DEVICES_OUTDATED).
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}Regla de negocio o idempotencia (IDEMPOTENCY_KEY_REUSED, VARIANT_STOCK_UNSUPPORTED, COMPOSITE_STOCK_UNSUPPORTED).
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}Límite de peticiones (RATE_LIMITED). Respeta Retry-After.
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}Error interno (INTERNAL_ERROR). Reintenta y comparte el request_id si persiste.
object
object
Explicación en español, con el siguiente paso.
Campo que causó el error, si aplica.
Ejemplo
{ "error": { "code": "UNAUTHENTICATED" }}