Saltar al contenido
Secciones de la documentación

Catálogos

Da de alta y actualiza tus clientes, productos y proveedores, y las cuentas de tus portales de clientes y de proveedores. Estas rutas no usan folios ni créditos.

Cómo funcionan

  • Los datos van en el cuerpo como formulario (application/x-www-form-urlencoded), no como JSON.
  • Cada registro tiene un guid. Sin guid se crea uno nuevo y la respuesta te da su guid; guárdalo. Con guid se actualiza ese registro.
  • Al actualizar, manda todos los campos: los que no mandes se guardan vacíos.
  • Un guid que no existe en tu cuenta responde "updated" sin cambiar nada. Usa siempre el guid que te devolvió el alta.
  • No se validan las claves del SAT (régimen, uso, forma de pago, código postal): se revisan cuando facturas.

Clientes

POST/catalog/customer
curl
curl -sS -X POST "$FD_API/catalog/customer" \
  -H "X-Api-Key: $FD_API_KEY" \
  --data-urlencode "nombre=XENON INDUSTRIAL ARTICLES" \
  --data-urlencode "rfc=XIA190128J61" \
  --data-urlencode "domiciliofiscalreceptor=76343" \
  --data-urlencode "regimenfiscalreceptor=601" \
  --data-urlencode "usocfdi=G03" \
  --data-urlencode "correo=cliente@facturadigital.com.mx"
200
{ "message": "New customer added successful. (Receptores)", "guid": "3f2b9c1e-7a4d-4e8b-9c0a-1d2e3f4a5b6c", "code": 200 }
nombrestringobligatorio
Nombre o razón social, como en su constancia.
rfcstringobligatorio
RFC del cliente.
domiciliofiscalreceptorstringopcional
Código postal fiscal (CFDI 4.0). Sin guiones bajos.
regimenfiscalreceptorstringopcional
Régimen fiscal (CFDI 4.0).
usocfdi, formapago, metodopago, moneda, condicionespagostringopcional
Valores por omisión al facturarle.
correo, correo2, telefonostringopcional
Contacto.
dom_calle, dom_noexterior, dom_nointerior, dom_colonia, dom_localidad, dom_referencia, dom_municipio, dom_estado, dom_pais, dom_codigopostalstringopcional
Domicilio para el PDF.
diascredito, plantilla_id, decimalescabecera, decimalesconceptointegeropcional
Días de crédito, plantilla de PDF y decimales.
guidstringopcional
Para actualizar un cliente existente.

La API no revisa duplicados: el mismo RFC enviado dos veces sin guid crea dos clientes.

GET/catalog/customer

Con el parámetro guid en la URL, regresa el cliente en data. Ojo con los nombres: aquí el código postal y el régimen vienen como domicilio_fiscal_receptor y regimen_fiscal_receptor. Si no existe, responde HTTP 200 con code "404" y data: null. No hay búsqueda por RFC ni lista de clientes.

Productos y servicios

POST/catalog/product
claveprodserv, claveunidadstringopcional
Claves del SAT.
noidentificacion, unidad, descripcionstringopcional
Tu SKU, unidad y descripción.
valorunitariostringopcional
Precio unitario.
porc_tr_iva, porc_tr_ieps, porc_re_iva, porc_re_isr, porc_re_iepsstringopcional
Porcentajes de traslado y retención.
guidstringopcional
Para actualizar un producto existente.

Proveedores

POST/catalog/supplier

Los mismos campos que un cliente, sin domiciliofiscalreceptor, regimenfiscalreceptor ni los decimales. nombre y rfc son obligatorios.

Usuarios del portal de clientes

POST/catalog/customeruser
rfcstringobligatorio
RFC de tu cliente. No se aceptan los RFC genéricos.
correostringobligatorio
Correo de tu cliente.
contrasenastringobligatorio
Contraseña inicial.
guidstringopcional
Para actualizar la cuenta.

Crea la cuenta sin activar. Para que tu cliente pueda entrar, invítalo desde tu cuenta en Configuración › Portales › AutoFactura Clientes › Usuarios del portal. Si ya existe una cuenta con ese RFC, responde code 1, «Error, la cuenta ya está registrada.».

Usuarios del portal de proveedores

POST/catalog/supplieruser
rfcstringobligatorio
RFC del proveedor.
contrasenastringobligatorio
Contraseña.
activostringobligatorio
1 puede entrar, 0 no.
correo, nombrestringopcional
Contacto.
guidstringopcional
Para actualizar la cuenta.

No manda correo: avísale tú a tu proveedor. Si ya existe una cuenta con ese RFC, responde code 1.

Revisado contra la API v5 en producción el 2026-11-03.