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. Singuidse crea uno nuevo y la respuesta te da suguid; guárdalo. Conguidse actualiza ese registro. - Al actualizar, manda todos los campos: los que no mandes se guardan vacíos.
- Un
guidque no existe en tu cuenta responde "updated" sin cambiar nada. Usa siempre elguidque 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
/catalog/customercurl -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"{ "message": "New customer added successful. (Receptores)", "guid": "3f2b9c1e-7a4d-4e8b-9c0a-1d2e3f4a5b6c", "code": 200 }nombre- Nombre o razón social, como en su constancia.
rfc- RFC del cliente.
domiciliofiscalreceptor- Código postal fiscal (CFDI 4.0). Sin guiones bajos.
regimenfiscalreceptor- Régimen fiscal (CFDI 4.0).
usocfdi, formapago, metodopago, moneda, condicionespago- Valores por omisión al facturarle.
correo, correo2, telefono- Contacto.
dom_calle, dom_noexterior, dom_nointerior, dom_colonia, dom_localidad, dom_referencia, dom_municipio, dom_estado, dom_pais, dom_codigopostal- Domicilio para el PDF.
diascredito, plantilla_id, decimalescabecera, decimalesconcepto- Días de crédito, plantilla de PDF y decimales.
guid- Para actualizar un cliente existente.
La API no revisa duplicados: el mismo RFC enviado dos veces sin guid crea dos clientes.
/catalog/customerCon 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
/catalog/productclaveprodserv, claveunidad- Claves del SAT.
noidentificacion, unidad, descripcion- Tu SKU, unidad y descripción.
valorunitario- Precio unitario.
porc_tr_iva, porc_tr_ieps, porc_re_iva, porc_re_isr, porc_re_ieps- Porcentajes de traslado y retención.
guid- Para actualizar un producto existente.
Proveedores
/catalog/supplierLos mismos campos que un cliente, sin domiciliofiscalreceptor, regimenfiscalreceptor ni los decimales. nombre y rfc son obligatorios.
Usuarios del portal de clientes
/catalog/customeruserrfc- RFC de tu cliente. No se aceptan los RFC genéricos.
correo- Correo de tu cliente.
contrasena- Contraseña inicial.
guid- 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
/catalog/supplieruserrfc- RFC del proveedor.
contrasena- Contraseña.
activo1puede entrar,0no.correo, nombre- Contacto.
guid- 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.