Endpoints para Almacén
La entidad Almacén está asociada a un producto y a un stock. Cada almacén incluye una serie de atributos que lo describen además de información relevante sobre el país.
Características Comunes de los Almacenes
-
Identificación Única: Cada almacén tiene un identificador único
idque los distingue de otros almacenes en el sistema. Además cuenta con un campoidRemote, que hace referencia al id que puede estar almacenado en la base de datos del ERP del cliente. -
Datos de Almacén: Un almacén tiene información asociada como nombre, dirección, ciudad, estado, código postal, datos del país asociado y otros detalles.
-
Actividades y Registro: Las actividades realizadas por un almacén dentro del sistema, como la creación o modificación de recursos, pueden ser registradas.
-
País: Se almacena información básica sobre el país al que pertenece el almacén, como
idRemote,descriptioneiso.
Endpoints
GET/Warehouse/getWarehouse
Obtención de una Lista Paginada de Almacenes.
Descripción
Este endpoint recupera una lista paginada de almacenes del sistema. Permite a los clientes obtener datos de almacenes basados en parámetros de paginación como el número de página (page) y el número de ítems por página (pageSize). La respuesta incluye información detallada sobre cada almacén, incluyendo su ID, nombre, dirección, ciudad, estado, código postal, marca de tiempo de última actualización e información del país.
Parámetros
| Nombre | Descripción | Tipo | Valor Predeterminado |
|---|---|---|---|
page | Número de página | Integer | 1 |
pageSize | Número de ítems por página | Integer | 10 |
Respuestas
JSON
{
"data": [
{
"id": "string",
"idRemote": "string",
"name": "string",
"address": "string",
"city": "string",
"state": "string",
"postalCode": "string",
"country": {
"id": "string",
"idRemote": "string",
"description": "string",
"iso": "string"
},
"createdAt": "string",
"updatedAt": "string"
}
],
"pagination": {
"totalItems": 0,
"itemsPerPage": 0,
"currentPage": 0,
"totalPages": 0,
"nextPageUrl": "string"
}
}
XML
<?xml version="1.0" encoding="UTF-8"?>
<export>
<data>
<item>
<id>string</id>
<idRemote>string</idRemote>
<name>string</name>
<address>string</address>
<city>string</city>
<state>string</state>
<postalCode>string</postalCode>
<country>
<id>string</id>
<idRemote>string</idRemote>
<description>string</description>
<iso>string</iso>
</country>
<createdAt>string</createdAt>
<updatedAt>string</updatedAt>
</item>
</data>
<pagination>
<totalItems>0</totalItems>
<itemsPerPage>0</itemsPerPage>
<currentPage>0</currentPage>
<totalPages>0</totalPages>
<nextPageUrl>string</nextPageUrl>
</pagination>
</export>
POST/Warehouse/create
Registro de Almacenes en la API: Uso del Método POST
Actualmente, nuestro método POST en la API está configurado para aceptar únicamente datos en formato JSON. Para registrar almacenes de manera efectiva, es esencial seguir un proceso que asegure la integridad de los datos y el correcto funcionamiento del sistma.
Proceso de Registro:
- Creación de País: Para poder registrar un almacén, debemos comprobar que existe un País asociado. Es necesario que exista un país para poder crear un almacén. 👉Registrar País🌱
Detalles del Método POST:
Debes tener en cuenta que el State que vayas a añadir como localización para el nuevo Almacén debe estar relacionado con el Country que le corresponde. Por ejemplo, no puedes asociar a Francia la provincia Madrid.
Todos los parámetros del cuerpo de la solicitud son obligatorios.
La petición debe cumplir el siguiente esquema:
[
{
"idRemote": "string",
"name": "string",
"address": "string",
"city": "string",
"stateId": "string",
"postalCode": "string",
"countryId": "string"
}
]
Es posible añadir varios almacenes a través de la misma solicitud separándolos con comas dentro del array en el cuerpo de la solicitud.
PUT/Warehouse/update/{id}
Actualización de Almacenes
Descripción
El método PUT de nuestra API permite a los clientes actualizar los datos de almacenes utilizando el parámetro id. Este campo id puede ser tanto el identificador propio del sistema B2B como el idRemote que usted nos proporciona al registrar los almacenes en nuestra plataforma. De esta manera nuestra plataforma garantiza una gestión eficiente y precisa de la información de los almacenes.
No es necesario incluir toda la estructura JSON, solo debes mandar lo que quieras modificar
Parámetros
| Nombre | Descripción | Tipo |
|---|---|---|
id | Identificador de Almacén | String |
Cuerpo de la solicitud
El cuerpo de la solicitud debe seguir el siguiente esquema en formato JSON:
{
"idRemote": "string",
"name": "string",
"address": "string",
"city": "string",
"stateId": "string",
"postalCode": "string",
"countryId": "string"
}
DELETE/Warehouse/delete/{id}
Eliminación de Almacén
Descripción
El método DELETE permite la eliminación de almacenes utilizando su identificador único. Este campo id puede ser tanto el identificador generado por la base de datos del B2B como el idRemote que usted nos proporciona al registrar los almacenes. Es importante destacar que al eliminar un almacén, también se elimina en el Stock correspondiente. Una vez eliminado, el Almacén se registra en el Historial de Eliminados.
Parámetros
| Nombre | Descripción | Tipo |
|---|---|---|
id | Identificador de Almacén | 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 el Almacén. | 404 | {"code": 404,"error": "No entity found for Warehouse with $id."} |
| Este error ocurre cuando intenta insertar un almacén 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"} |