CredonixDocs
Referencia de la APIClientes

Crear

Crea un cliente en tu organización.

Descripción general

Este endpoint crea un cliente con las mismas reglas que el formulario de la aplicación. El único campo obligatorio es name, el alias del cliente; el resto son opcionales. Una solicitud exitosa devuelve 201 con el cliente creado, incluido su id y su financial_summary.

La API normaliza los datos fiscales: legal_name se guarda en mayúsculas y tax_id (RFC) en mayúsculas y sin guiones, espacios ni otros caracteres. No se validan duplicados: dos clientes pueden tener el mismo alias o RFC.

Si no hay un tipo de cambio USD/MXN registrado, el cliente se crea igual y los totales de financial_summary llegan en null.

Acepta el header Idempotency-Key para reintentar sin crear clientes duplicados (ver Idempotencia).

Requiere el permiso Crear en Clientes.

Endpoint

POSThttps://app.credonix.mx/api/v1/customers

Solicitud mínima


Envía solo name. send_weekly_message toma false por defecto.

{
  "name": "Distribuidora Monterrey"
}

Cliente con datos fiscales


Envía la razón social sin el tipo de sociedad, el RFC, el régimen fiscal y el código postal junto con los datos de contacto.

{
  "name": "Escuela Kemper",
  "legal_name": "ESCUELA KEMPER URGATE",
  "tax_id": "EKU9003173C9",
  "tax_regime": "601",
  "address_zip_code": "42501",
  "contact_email": "[email protected]"
}

Normalización del RFC y la razón social


El RFC puede llegar en minúsculas y con guiones o espacios: la API lo guarda en mayúsculas y solo con letras y números. La razón social se guarda en mayúsculas.

{
  "name": "Comercializadora del Norte",
  "tax_id": "xaxx-010101-000",
  "legal_name": "comercializadora del norte",
  "contact_email": "[email protected]"
}

Reglas de los campos

CampoTipoRequeridoNotas
namestringAlias del cliente. No puede ser vacío.
send_weekly_messagebooleanNoPor defecto false.
legal_namestring | nullNoRazón social sin el tipo de sociedad (S.A. de C.V., S. de R.L., S.A.P.I., S.C., A.C., etc.). Se guarda en mayúsculas.
tax_idstring | nullNoRFC de 12 caracteres (persona moral) o 13 (persona física). Se quitan los caracteres que no sean letras, números, Ñ o & y se guarda en mayúsculas.
tax_regimestring | nullNoRégimen fiscal.
websitestring | nullNoTexto libre.
address_street, address_exterior_number, address_interior_number, address_neighborhood, address_city, address_state, address_countrystring | nullNoTexto libre.
address_zip_codestring | nullNoCódigo postal. Texto libre al crear. Al editar debe tener 5 dígitos.
contact_namestring | nullNoTexto libre.
contact_phonestring | nullNoTeléfono válido en formato internacional (por ejemplo +525512345678) o "".
contact_email, contact_second_emailstring | nullNoCorreo válido o "".

No se aceptan campos adicionales: cualquier campo desconocido responde 400.

Errores

400 — validación fallida

errors trae un elemento por cada problema, con el campo, el código y el mensaje.

{
  "code": "VALIDATION_ERROR",
  "message": "La petición contiene datos inválidos. Revisa errors para ver el detalle de cada campo.",
  "errors": [
    {
      "field": "name",
      "code": "too_small",
      "message": "El alias del cliente es requerido"
    },
    {
      "field": "tax_id",
      "code": "custom",
      "message": "El RFC no tiene un formato válido. Debe ser de 12 caracteres para persona moral o 13 para persona física."
    }
  ],
  "request_id": "a8139f51-b8c3-4f16-b1bc-89f6eb9f1c1e"
}

Un campo desconocido se reporta en body:

{
  "code": "VALIDATION_ERROR",
  "message": "La petición contiene datos inválidos. Revisa errors para ver el detalle de cada campo.",
  "errors": [
    {
      "field": "body",
      "code": "unrecognized_keys",
      "message": "Llave desconocida: \"foo\""
    }
  ],
  "request_id": "d076969e-3fe7-4f46-8bd0-f80dcc8b9576"
}

403 — permiso insuficiente

{
  "code": "INSUFFICIENT_PERMISSIONS",
  "message": "Esta API key no tiene el permiso Crear en Clientes. Un administrador puede editar sus permisos en Configuración, sección Desarrolladores.",
  "request_id": "baf572e6-4fe7-4bc7-b5fb-ac4ae217ba84"
}
StatusCódigoCausa
400VALIDATION_ERRORFalta name, un campo tiene formato inválido o se envió un campo desconocido.
403INSUFFICIENT_PERMISSIONSLa API key no tiene el permiso Crear en Clientes.
Abrir Credonix