Skip to Content
Clientes

Clientes

Parámetros en la cabecera HTTP

  • Authorization (caracteres): Autorización de la API. Ejemplo: Bearer {token}

URL base

https://api.saltra.es/api/v4/customer

Obtener los clientes

Parámetros

  • search opcional (caracteres): Campo de búsqueda, puedes buscar por correo, nombre, cif, etc.
  • page opcional (número entero): Página actual.
  • perPage opcional (número entero): Cantidad de registros por página (máximo 50; si pides más, se devuelven 50).
GET /
{ "search": "B188888888", "page": 1, "perPage": 20 }

Respuesta

Respuesta
{ "success": true, "message": "OK", "data": { "data": [ { "id": 9999, "name": "USER CUSTOMER", "active": 1, "access": { "email": "test@example.es" }, "profile": { "identificacion": 1, "dni": "B188888888", "razon_social": "CUSTOMER", "codigo_postal": "01005", "direccion": "CALLE", "country": 724, "account": [ { "id": 9999, "activa": 1, "alias": "CUSTOMER", "convenio_colectivo": "60888888888888", "cuenta": "28199993333", "regimen": "0111", } ], "parameters": { "representativeData": { "doc": "77056403D", "name": "JOSE", "surname": "APELLIDO", "job_position": "ADMINISTRADOR" } } } } ], "pagination": { "page": 1, "lastPage": 1, "perPage": 50, "total": 2 } } }

Guardar un cliente

Parámetros

  • name (caracteres) : Nombre del cliente. Obligatorio. Máximo 255 caracteres.
  • access (objeto) : Datos de acceso. Obligatorio.
    • email (caracteres) : Correo electrónico. Obligatorio. Máximo 50 caracteres; no puede existir ya en Saltra.
    • password opcional (caracteres) : Contraseña, mínimo 4 caracteres. Si no la envías, el cliente recibe por correo un enlace para crearla (salvo con not_notify = 1).
    • password_confirmation (caracteres) : Confirmación de contraseña. Obligatoria solo si envías password.
  • not_notify opcional (boolean): NO notificar al cliente de la creación del usuario, posibles valores: 1 = NO notificar al cliente, 0 = Notificar al cliente.
  • sub_activa opcional (boolean): Acceso del cliente a la plataforma Saltra. Con 0 la empresa se crea sin acceso y no se le envía ningún correo.
  • alternativo opcional (caracteres o array): Correos alternativos de notificación, separados por comas o en una lista (entre todos, máximo 100 caracteres).
  • profile (objeto) : Datos de perfil del cliente. Obligatorio.
    • dni (caracteres) : CIF de la empresa. Obligatorio. Máximo 10 caracteres.
    • razon_social (caracteres) : Razón social, nombre de la empresa. Obligatorio. Máximo 80 caracteres.
    • codigo_postal opcional (caracteres) : Código postal. Máximo 5 caracteres.
    • direccion opcional (caracteres) : Dirección. Máximo 190 caracteres.
    • external_id opcional (caracteres) : Identificador de la empresa en tu sistema. Máximo 100 caracteres.
    • account (array) : Cuentas de cotización. Obligatorio, al menos una cuenta.
      • regimen (caracteres) : Régimen de la cuenta, 4 dígitos (por ejemplo 0111). Obligatorio.
      • cuenta (caracteres) : Cuenta de cotización, 11 dígitos. Obligatorio.
      • alias (caracteres) : Alias de la cuenta. Obligatorio. Máximo 30 caracteres.
      • convenio_colectivo opcional (caracteres) : Convenio colectivo. Máximo 15 caracteres.
    • parameters opcional (objeto) : Parámetros del cliente.
      • representativeData opcional (objeto) : Datos del representante legal de la empresa. Si lo envías, sus cuatro campos son obligatorios.
        • doc (caracteres) : Documento de identidad del representante. Máximo 11 caracteres.
        • name (caracteres) : Nombre del representante. Máximo 80 caracteres.
        • surname (caracteres) : Apellidos del representante. Máximo 80 caracteres.
        • job_position (caracteres) : Cargo del representante. Máximo 50 caracteres.
POST /
{ "name": "NOMBRE DE LA EMPRESA", "access": { "email": "test@example.es", "password": "123456", "password_confirmation": "123456" }, "not_notify": 1, "profile": { "dni": "B46469763", "razon_social": "NOMBRE DE LA EMPRESA", "codigo_postal": "01005", "direccion": "calle alava...", "external_id": "ERP-000123", "account": [ { "alias": "Regimen de madrid", "cuenta": "28148369999", "regimen": "0111" }, { "alias": "Regimen de prueba", "cuenta": "13119940999", "regimen": "0112" } ], "parameters": { "representativeData": { "doc": "77056403D", "name": "JOSE", "surname": "APELLIDO", "job_position": "ADMINISTRADOR" } } } }

Petición mínima, solo con los campos obligatorios:

POST / (mínimo)
{ "name": "NOMBRE DE LA EMPRESA", "access": { "email": "test@example.es" }, "profile": { "dni": "B46469763", "razon_social": "NOMBRE DE LA EMPRESA", "account": [ { "alias": "Regimen de madrid", "cuenta": "28148369999", "regimen": "0111" } ] } }

Si ya tienes una empresa con ese CIF, no se crea otra: se le añaden las cuentas de cotización que le falten y la respuesta devuelve esa empresa, con un message que lo explica.

Respuesta

Respuesta
{ "success": true, "message": "OK", "data": { "id": 9999, "name": "NOMBRE DE LA EMPRESA", "access": { "email": "test@example.es" }, "...": "..." } }

Si falta un campo obligatorio o alguno no es válido, la respuesta es 422 con el detalle por campo en errors:

Respuesta 422
{ "success": false, "status": 422, "message": "Error de validación", "errors": { "profile.account": ["Debe haber al menos una Cuenta de Cotización asociada al cliente"], "profile.parameters.representativeData.job_position": ["El campo Cargo del Representante Legal es obligatorio"] } }

Eliminar un cliente

Parámetros

  • id (número entero): ID del cliente.
DELETE /{customerID}
customerID

Respuesta

Respuesta
{ "success": true, "message": "OK" }

Desactivar un cliente

Parámetros

  • id (número entero): ID del cliente.
  • active (número entero) : Posibles valores:
    • true: Activar
    • false: Desactivar
PUT /{customerID}/activate
{ "active": false, }

Respuesta

Respuesta
{ "success": true, "message": "OK" }
Actualizado el