Ir al contenido

Proveedores

Los proveedores de la empresa. Su id es el que se indica en provider al crear gastos.

GET/providers/

Además de la paginación, admite estos parámetros:

Parámetro Descripción
filter Texto que se busca en el nombre, los apellidos, la razón social, el nombre comercial, el NIF, la dirección y los datos de contacto. No distingue mayúsculas.
sortBy Campo por el que se ordena: createdAt (por defecto), updatedAt, business_name, trade_name, cif, town o region.
Ejemplo de envíolo que se manda a la API

Esta petición no lleva cuerpo: basta con la dirección y la clave de API.

Con curl
curl "https://api-sandbox.tukonta.com/v1/providers/" \
-H "X-API-KEY: $TUKONTA_API_KEY" \
-H "Accept: application/json"
Ejemplo de respuestalo que devuelve la API

Notas:

  1. En el objeto del proveedor, name, surname_1 y surname_2 solo aparecen si business_type es individual.
{
"data": [
{
"id": "string",
"cif": "string",
"business_name": "string",
"trade_name": "string",
"name": "string",
"surname_1": "string",
"surname_2": "string",
"business_type": "string",
"address": "string",
"postal_code": "string",
"town": "string",
"region": "string",
"country_code": "string",
"contact_person": "string",
"phone": "string",
"email": "string",
"web": "string",
"fax": "string",
"personal_comment": "string",
"total_expenses": number,
"draft_expenses": number,
"issued_expenses": number,
"locked_expenses": number
}
],
"pagination": {
"total": number,
"offset": number,
"limit": number,
"count": number,
"hasMore": boolean
}
}
GET/providers/:id
Ejemplo de envíolo que se manda a la API

Esta petición no lleva cuerpo: basta con la dirección y la clave de API.

Con curl
curl "https://api-sandbox.tukonta.com/v1/providers/ID_PROVEEDOR" \
-H "X-API-KEY: $TUKONTA_API_KEY" \
-H "Accept: application/json"
Ejemplo de respuestalo que devuelve la API
  • POST /providers/ y PUT /providers/:id devuelven lo mismo que GET /providers/:id.
  • Los contadores de gastos (total_expenses, draft_expenses, issued_expenses, locked_expenses) solo vienen en la lista.
{
"id": "string",
"cif": "string",
"business_name": "string",
"trade_name": "string",
"name": "string",
"surname_1": "string",
"surname_2": "string",
"business_type": "string",
"address": "string",
"postal_code": "string",
"town": "string",
"region": "string",
"country_code": "string",
"contact_person": "string",
"phone": "string",
"email": "string",
"web": "string",
"fax": "string",
"personal_comment": "string"
}
POST/providers/

El cuerpo de la petición debe contener los siguientes campos obligatorios:

Campo Tipo Descripción
business_type string Tipo de proveedor: individual o company.
cif string Código de identificación fiscal único del proveedor. Si ya existe un proveedor activo con el mismo CIF, no se podrá crear.
trade_name string Nombre comercial.
business_name string Razón social. Obligatorio si business_type es company.
name string Nombre. Obligatorio si business_type es individual.
surname_1 string Primer apellido. Obligatorio si business_type es individual.
surname_2 string Segundo apellido. Obligatorio si business_type es individual, country_code es ES y el NIF/DNI corresponde a un DNI.
address string Dirección.
postal_code string Código postal.
town string Población.
country_code string Código del país. Se debe indicar el código del país en ISO 3166-1 (dos letras) según el siguiente listado: https://es.wikipedia.org/wiki/ISO_3166-2#Códigos_actuales.
region string Provincia. Si country_code es ES, se debe indicar el nombre de la provincia según el siguiente listado: https://es.wikipedia.org/wiki/Provincia_(Espa%C3%B1a)#Tabla_de_provincias.

Y los siguientes campos opcionales:

Campo Tipo Descripción
contact_person string Persona de contacto.
phone string Teléfono.
email string Correo electrónico.
web string Página web.
fax string Fax.
personal_comment string Comentario personal.
Ejemplo de envíolo que se manda a la API
Cuerpo de la petición: empresa
{
"business_type": "company",
"business_name": "Suministros Norte S.L.",
"trade_name": "Suministros Norte",
"cif": "B87654323",
"address": "Calle Gran Vía 10",
"postal_code": "48001",
"town": "Bilbao",
"region": "Bizkaia",
"country_code": "ES",
"contact_person": "Ane Etxeberria",
"phone": "+34944000000",
"email": "facturacion@example.com",
"web": "https://example.com",
"fax": "",
"personal_comment": "Proveedor creado desde la API pública"
}
Con curl: empresa
curl -X POST "https://api-sandbox.tukonta.com/v1/providers/" \
-H "X-API-KEY: $TUKONTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"business_type": "company",
"business_name": "Suministros Norte S.L.",
"trade_name": "Suministros Norte",
"cif": "B87654323",
"address": "Calle Gran Vía 10",
"postal_code": "48001",
"town": "Bilbao",
"region": "Bizkaia",
"country_code": "ES",
"contact_person": "Ane Etxeberria",
"phone": "+34944000000",
"email": "facturacion@example.com",
"web": "https://example.com",
"fax": "",
"personal_comment": "Proveedor creado desde la API pública"
}'
PUT/providers/:id

El cuerpo es igual que al crear un proveedor, con los mismos campos obligatorios: envía siempre el proveedor completo, solo con los campos de la tabla: otros campos, como id o los contadores que devuelve la consulta, dan 400. Si ya existe otro proveedor activo con el mismo NIF, no se podrá actualizar.

Ejemplo de envíolo que se manda a la API
Cuerpo de la petición
{
"business_type": "company",
"business_name": "Suministros Norte S.L.",
"trade_name": "Suministros Norte",
"cif": "B87654323",
"address": "Calle Gran Vía 12",
"postal_code": "48001",
"town": "Bilbao",
"region": "Bizkaia",
"country_code": "ES",
"contact_person": "Ane Etxeberria",
"phone": "+34944000001",
"email": "facturacion@example.com",
"web": "https://example.com",
"fax": "",
"personal_comment": "Dirección actualizada"
}
Con curl
curl -X PUT "https://api-sandbox.tukonta.com/v1/providers/ID_PROVEEDOR" \
-H "X-API-KEY: $TUKONTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"business_type": "company",
"business_name": "Suministros Norte S.L.",
"trade_name": "Suministros Norte",
"cif": "B87654323",
"address": "Calle Gran Vía 12",
"postal_code": "48001",
"town": "Bilbao",
"region": "Bizkaia",
"country_code": "ES",
"contact_person": "Ane Etxeberria",
"phone": "+34944000001",
"email": "facturacion@example.com",
"web": "https://example.com",
"fax": "",
"personal_comment": "Dirección actualizada"
}'
DELETE/providers/:id

No se puede eliminar un proveedor si tiene gastos activos asociados.

Ejemplo de envíolo que se manda a la API

Esta petición no lleva cuerpo: basta con la dirección y la clave de API.

Con curl
curl -X DELETE "https://api-sandbox.tukonta.com/v1/providers/ID_PROVEEDOR" \
-H "X-API-KEY: $TUKONTA_API_KEY" \
-H "Accept: application/json"
Ejemplo de respuestalo que devuelve la API
{ "message": "Proveedor eliminado correctamente." }