Base URL https://api.afer.pro Referencia aferapp.com Reservar demo

Respuestas

El envelope común a todos los endpoints: errorCode, errorMsg y data.

Todas las respuestas comparten el mismo envelope JSON: errorCode (espeja el código de estado HTTP), errorMsg (vacío si todo fue bien) y data con el resultado de la operación:

200 · application/json
{
  "errorCode": 200,
  "errorMsg": "",
  "data": {
    "url": "https://clientes.aferapp.com/mi-empresa/?loginToken=aBc123XyZ"
  }
}

En endpoints de creación, data contiene directamente el identificador cifrado del elemento creado. Cuando una búsqueda no produce resultados, data puede ser false.

La contraparte de cada documento

Todos los listados de documentos y todos los obtener devuelven, junto al documento, quién está al otro lado: el cliente en venta y el proveedor en compra. Y lo devuelven con la misma forma en todas partes, para que el código que pinta un cliente valga igual viniendo de una factura, de un albarán o de un pendiente de cobro.

Llega con sus vías de contacto —email, telefono, movil— y, en el caso del cliente, con sus consentimientos RGPD por canal. Así no hace falta una segunda llamada para decidir si a esa persona se le puede escribir después de haber leído sus documentos.

La contraparte, igual en todos los endpoints
"cliente": {
  "clienteId": "dEf456…",
  "nombre_fiscal": "FERRER INTERIORS SL",
  "nombre_comercial": "Ferrer Interiors",
  "cif": "B07123456",
  "email": "admin@ferrerinteriors.com",
  "telefono": "971123456",
  "movil": "600123456",
  "rgpd": {
    "comunicaciones_email": true,
    "comunicaciones_whatsapp": false,
    "comunicaciones_sms": null,
    "tratamiento_imagenes": null
  }
}

Cada permiso tiene tres estados, no dos:

trueconsentido Dio su permiso expreso para ese canal.
falsedenegado Dijo que no. No le escribas por ahí.
nullsin respuesta Nunca se le ha preguntado. No es un "sí" ni un "no": decide tú qué hacer con tu base legal, pero no lo trates como consentimiento.

Los proveedores llegan con contacto pero sin bloque rgpd: los consentimientos se registran sobre clientes. Si tu cuenta todavía no tiene los campos de RGPD configurados, el bloque simplemente no aparece — nunca llega inventado.

La API no envía nada: te da el dato y el permiso para que tu integración decida. Los envíos que salen de Afer siguen su propio circuito.