Clients
HTTP header parameters
- Authorization (string): API authorisation. Example:
Bearer {token}
Base URL
https://api.saltra.es/api/v4/customerGet clients
Parameters
- search optional (string): Search field; you can search by email, name, CIF, etc.
- page optional (integer): Current page.
- perPage optional (integer): Number of records per page (maximum 50; asking for more returns 50).
GET /
{
"search": "B188888888",
"page": 1,
"perPage": 20
}Response
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
}
}
}Save a client
Parameters
- name (string) : Client name. Required. Maximum 255 characters.
- access (object) : Access credentials. Required.
- email (string) : Email address. Required. Maximum 50 characters; it must not already exist in Saltra.
- password optional (string) : Password, at least 4 characters. If you do not send it, the client receives an email link to create it (unless
not_notify= 1). - password_confirmation (string) : Password confirmation. Required only if you send
password.
- not_notify optional (boolean): Do NOT notify the client that the user was created. Possible values: 1 = do NOT notify the client, 0 = notify the client.
- sub_activa optional (boolean): Client access to the Saltra platform. With 0 the company is created without access and no email is sent to it.
- alternativo optional (string or array): Alternative notification emails, comma-separated or as a list (100 characters at most in total).
- profile (object) : Client profile data. Required.
- dni (string) : Company CIF. Required. Maximum 10 characters.
- razon_social (string) : Registered name of the company. Required. Maximum 80 characters.
- codigo_postal optional (string) : Postcode. Maximum 5 characters.
- direccion optional (string) : Address. Maximum 190 characters.
- external_id optional (string) : The company's identifier in your system. Maximum 100 characters.
- account (array) : Contribution accounts. Required, at least one account.
- regimen (string) : Scheme of the account, 4 digits (e.g.
0111). Required. - cuenta (string) : Contribution account code, 11 digits. Required.
- alias (string) : Account alias. Required. Maximum 30 characters.
- convenio_colectivo optional (string) : Collective agreement. Maximum 15 characters.
- regimen (string) : Scheme of the account, 4 digits (e.g.
- parameters optional (object) : Client parameters.
- representativeData optional (object) : Details of the company's legal representative. If you send it, its four fields are required.
- doc (string) : Representative's identity document. Maximum 11 characters.
- name (string) : Representative's first name. Maximum 80 characters.
- surname (string) : Representative's surname. Maximum 80 characters.
- job_position (string) : Representative's job position. Maximum 50 characters.
- representativeData optional (object) : Details of the company's legal representative. If you send it, its four fields are required.
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"
}
}
}
}Minimal request, with the required fields only:
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"
}
]
}
}If you already have a company with that CIF, no new one is created: the contribution accounts it is missing are added to it and the response returns that company, with a message explaining so.
Response
Respuesta
{
"success": true,
"message": "OK",
"data": {
"id": 9999,
"name": "NOMBRE DE LA EMPRESA",
"access": {
"email": "test@example.es"
},
"...": "..."
}
}If a required field is missing or a field is invalid, the response is 422 with the per-field detail in 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"]
}
}Delete a client
Parameters
- id (integer): Client ID.
DELETE /{customerID}
customerIDResponse
Respuesta
{
"success": true,
"message": "OK"
}Deactivate a client
Parameters
- id (integer): Client ID.
- active (integer) : Possible values:
- true: Activate
- false: Deactivate
PUT /{customerID}/activate
{
"active": false,
}Response
Respuesta
{
"success": true,
"message": "OK"
}