Endpoints para Compañía
La entidad Compañía es un componente esencial en la gestión de nuestra API. Ha sido diseñado para identificar y registrar información clave sobre las empresas. Este registro permite asignar facturas, albaranes, pedidos y clientes de forma eficiente y precisa.
Características Comunes de una Compañía
-
Identificación única: Cada empresa tiene un identificador único
idque la distingue de otras empresas del sistema. -
Datos de la compañía: Almacenamos determinados datos de la empresa en nuestra base de datos (nombre, correo electrónico, número de teléfono, sitio web...).
-
Actividades y Registro: Las actividades realizadas por una compañía dentro del sistema, como la creación, modificación o eliminación de recursos, pueden ser registradas.
Funcionalidades relacionadas con una Compañía
-
Facturación: Las compañías pueden tener facturas relacionadas.
-
Pedidos: Las compañías pueden tener pedidos asociados.
-
Registro de clientes y representantes Puede haber socios comerciales asociados a una compañía existente.
Endpoints
GET/Company/getCompany
Obtener todas las compañías de la base de datos.
Descripción
Este endpoint recupera una lista paginada de la empresa o empresas que están incluidas en la base de datos. La respuesta incluye información sobre la empresa y paginación. Es posible editar las opciones de paginación en los parámetros de solicitud.
Parameters
| Nombre | Descripción | Tipo | Valor por defecto |
|---|---|---|---|
page | Número de página | Integer | 1 |
pageSize | Número de elementos por página | Integer | 10 |
Respuestas
JSON
{
"data": [
{
"id": "string",
"idRemote": "string",
"state": {
"id": "string",
"description": "string",
"country": "string"
},
"companyName": "string",
"comercialName": "string",
"tin": "string",
"phone": "string",
"fax": "string",
"email": "string",
"website": "string",
"urlLopd": "string",
"lodpText": "string",
"invoiceFooter": "string",
"default": true
}
],
"pagination": {
"totalItems": 0,
"itemsPerPage": 0,
"currentPage": 0,
"totalPages": 0,
"nextPageUrl": "string"
}
}
XML
<?xml version="1.0" encoding="UTF-8"?>
<export>
<data>
<item id="string">
<idRemote>string</idRemote>
<state>
<id>string</id>
<description>string</description>
<country>string</country>
</state>
<companyName>string</companyName>
<comercialName>string</comercialName>
<tin>string</tin>
<phone>string</phone>
<fax>string</fax>
<email>string</email>
<website>string</website>
<urlLopd>string</urlLopd>
<lodpText>string</lodpText>
<invoiceFooter>string</invoiceFooter>
<default>true</default>
</item>
</data>
<pagination>
<totalItems>0</totalItems>
<itemsPerPage>0</itemsPerPage>
<currentPage>0</currentPage>
<totalPages>0</totalPages>
<nextPageUrl>string</nextPageUrl>
</pagination>
</export>
POST/Company/create
Crear una nueva compañía usando el método POST
Para crear una compañía debe adjuntar el cuerpo de la solicitud en formato JSON. Asegúrese de seguir el esquema proporcionado en esta documentación para poder realizar la operación con éxito. El campo idRemote proporcionado será el almacenado en en el entorno del ERP del usuario. El sistema creará automáticamente un id local.
Parámetros obligatorios
| Nombre | Descripción | Tipo |
|---|---|---|
idRemote | Identificador de la nueva Compañía | String |
companyName | Nombre de la nueva Compañía | String |
commercialName | Nombre comercial de la nueva Compañía | String |
tin | Número de identificación de la nueva Compañía (CIF) | String |
address | Dirección de la nueva Compañía | String |
city | Ciudad de la nueva Compañía | String |
default | Determina si la nueva Compañía es la Compañía por defecto | Boolean |
El cuerpo de la solicitud debe seguir el siguiente esquema para que el endpoint realice la operación de creación exitosamente:
[
{
"idRemote": "string",
"stateId": "string",
"companyName": "string",
"comercialName": "string",
"tin": "string",
"phone": "string",
"postalCode": "string",
"address": "string",
"city": "string",
"email": "string",
"website": "string",
"urlLopd": "string",
"lodpText": "string",
"invoiceFooter": "string",
"default": true
}
]
Es posible añadir varias Compañías a través de la misma solicitud separándolos con comas dentro del array en el cuerpo de la solicitud.
PUT/Company/update/{id}
Actualizar una compañía existente usando el método PUT
Para actualizar los atributos de una empresa a través de este endpoint, es necesario adjuntar la identificación de la empresa en los parámetros de la solicitud y seguir el esquema JSON adjunto en esta documentación. El parámetro id puede ser tanto el idRemote como el id local guardado en el contexto del B2B.
Si quieres actualizar el atributo stateId asociado a la Compañía, asegúrate de añadir un id registrado en el sistema.
Parámetros
| Nombre | Descripción | Tipo |
|---|---|---|
id | Identificador de la compañía | String |
No es necesario incluir toda la estructura JSON, solo debes incluir los atributos que quieras modificar.
Cuerpo de la solicitud:
Para actualizar enteramente una Compañía, el cuerpo de la solicitud debe seguir el siguiente esquema:
{
"stateId": "string",
"companyName": "string",
"comercialName": "string",
"tin": "string",
"phone": "string",
"postalCode": "string",
"address": "string",
"city": "string",
"email": "string",
"website": "string",
"urlLopd": "string",
"lodpText": "string",
"invoiceFooter": "string",
}
DELETE/Company/delete/{id}
Eliminar una Compañía.
Descripción
Este endpoint permite la eliminación de compañías utilizando su identificador único, que puede ser tanto el ID propio del sistema B2B como el ID proporcionado por usted al registrar las compañías en nuestra plataforma. Una vez eliminada, la compañía se registra en el Historial de Eliminados.
⚠️No será posible eliminar una compañía mientras ésta tenga socios comerciales, pedidos, facturas, albaranes o productos relacionados.
Parámetros
| Nombre | Descripción | Tipo |
|---|---|---|
id | Identificador de Compañía | String |
Posibles Errores en la Respuesta
| Error | Código | Respuesta |
|---|---|---|
| Este error ocurre cuando no se puede establecer una conexión con la base de datos. Es un problema interno del servidor. | 500 | {"code": 500,"error": "Database connection failed."} |
| Este error ocurre cuando no puede insertar o actualizar y en la dbs de pruebas. | 500 | {"code": 500,"error": "Invalid connection name, you cannot insert in default"} |
| Este error indica que falta un parametro. | 400 | {"code": 400,"error": "Parameter $parameter is required"} |
| Este error indica que no está autorizado. | 401 | {"code": 401,"error": "Unauthorized."} |
| Este error indica que no ha sido posible encontrar la compañía. | 404 | {"code": 404,"error": "No entity found for Company with $id."} |
| Este error ocurre cuando intenta insertar una compañía que ya existe. | 409 | {"code": 409,"error": "Duplicate entry"} |
| Este error ocurre cuando intenta enviar demasiadas solicitudes en un corto periodo de tiempo. | 429 | {"code": 429,"error": "Too Many Requests"} |