API de Agrupadores de Stock
La API de Agrupadores de Stock permite gestionar agrupadores de stock en la plataforma Nilo. Los agrupadores de stock representan almacenes o depósitos que sirven a tiendas específicas.
Entendiendo los Agrupadores de Stock
Los Agrupadores de Stock en Nilo representan almacenes o centros de distribución:
- Estructura del Agrupador
- Código interno único para identificación (igual al código de almacén en tu ERP)
- Nombre para visualización y organización
- Estado (habilitado/deshabilitado)
- Asociaciones con tiendas (qué tiendas son servidas por este almacén)
Consideraciones Importantes
- Códigos Únicos: Cada agrupador requiere un código interno único (típicamente el código de almacén de tu ERP)
- Asociaciones con Tiendas: Los agrupadores definen qué tiendas son servidas por qué almacén
- Gestión de Estado: Los agrupadores pueden ser habilitados o deshabilitados sin eliminación
- Operaciones por Lotes: Soporte para asignación/remoción masiva de tiendas
Operaciones Individuales de Agrupador
Crear Agrupador de Stock
POST
/grouper/stockCrea un nuevo agrupador de stock en la plataforma Nilo.
Parámetros del Cuerpo de la Solicitud
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| name | string | Sí | Nombre del agrupador |
| internalCode | string | Sí | Identificador único del agrupador |
Ejemplo del Cuerpo de la Solicitud
{
"name": "Agrupador 1",
"internalCode": "1235"
}
Ejemplo de Uso
- Javascript
- Python
const headers = {
Authorization: "TU_TOKEN_DE_AUTORIZACION",
"x-api-key": "TU_API_KEY",
"Content-Type": "application/json",
};
const data = {
name: "Agrupador 1",
internalCode: "1235",
};
fetch("https://api.nilo.com/grouper/stock", {
method: "POST",
headers: headers,
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
import requests
url = "https://api.nilo.com/grouper/stock"
headers = {
'Authorization': 'TU_TOKEN_DE_AUTORIZACION',
'x-api-key': 'TU_API_KEY',
'Content-Type': 'application/json'
}
data = {
"name": "Agrupador 1",
"internalCode": "1235"
}
response = requests.post(url, headers=headers, json=data)
print(response.text)
Actualizar Agrupador de Stock
PUT
/grouper/{code}/stockActualiza un agrupador de stock existente.
Parámetros de Ruta
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| code | string | Sí | Código del agrupador a actualizar |
Parámetros del Cuerpo de la Solicitud
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| name | string | Sí | Nuevo nombre del agrupador |
Ejemplo del Cuerpo de la Solicitud
{
"name": "Agrupador 1"
}
Ejemplo de Uso
- Javascript
- Python
const headers = {
Authorization: "TU_TOKEN_DE_AUTORIZACION",
"x-api-key": "TU_API_KEY",
"Content-Type": "application/json",
};
const data = {
name: "Agrupador 1",
};
fetch("https://api.nilo.com/grouper/7234/stock", {
method: "PUT",
headers: headers,
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
import requests
url = "https://api.nilo.com/grouper/7234/stock"
headers = {
'Authorization': 'TU_TOKEN_DE_AUTORIZACION',
'x-api-key': 'TU_API_KEY',
'Content-Type': 'application/json'
}
data = {
"name": "Agrupador 1"
}
response = requests.put(url, headers=headers, json=data)
print(response.text)
Cambiar Estado del Agrupador de Stock
PUT
/grouper/{code}/status/stockHabilita o deshabilita un agrupador de stock específico.
Parámetros de Ruta
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| code | string | Sí | Código del agrupador |
Parámetros del Cuerpo de la Solicitud
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| enabled | boolean | Sí | Nuevo estado del agrupador |
Ejemplo del Cuerpo de la Solicitud
{
"enabled": true
}
Ejemplo de Uso
- Javascript
- Python
const headers = {
Authorization: "TU_TOKEN_DE_AUTORIZACION",
"x-api-key": "TU_API_KEY",
"Content-Type": "application/json",
};
const data = {
enabled: true,
};
fetch("https://api.nilo.com/grouper/7234/status/stock", {
method: "PUT",
headers: headers,
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
import requests
url = "https://api.nilo.com/grouper/7234/status/stock"
headers = {
'Authorization': 'TU_TOKEN_DE_AUTORIZACION',
'x-api-key': 'TU_API_KEY',
'Content-Type': 'application/json'
}
data = {
"enabled": True
}
response = requests.put(url, headers=headers, json=data)
print(response.text)
Operaciones por Lotes
Actualización por Lotes de Agrupadores de Stock
POST
/batch/grouper/stockActualiza múltiples agrupadores de stock en una sola operación.
Parámetros del Cuerpo de la Solicitud
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| availability | array | Sí | Array de disponibilidad de productos en agrupadores |
Ejemplo del Cuerpo de la Solicitud
{
"availability": [
{
"productCode": "22222.1",
"grouperCode": "123456",
"available": true
}
]
}
Ejemplo de Uso
- Javascript
- Python
const headers = {
Authorization: "TU_TOKEN_DE_AUTORIZACION",
"x-api-key": "TU_API_KEY",
"Content-Type": "application/json",
};
const data = {
availability: [
{
productCode: "22222.1",
grouperCode: "123456",
available: true,
},
],
};
fetch("https://api.nilo.com/batch/grouper/stock", {
method: "POST",
headers: headers,
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
import requests
url = "https://api.nilo.com/batch/grouper/stock"
headers = {
'Authorization': 'TU_TOKEN_DE_AUTORIZACION',
'x-api-key': 'TU_API_KEY',
'Content-Type': 'application/json'
}
data = {
"availability": [
{
"productCode": "22222.1",
"grouperCode": "123456",
"available": True
}
]
}
response = requests.post(url, headers=headers, json=data)
print(response.text)
Seguridad
Autenticación
Todos los endpoints requieren dos tipos de autenticación:
- API Key en el encabezado:
x-api-key - Token de autorización en el encabezado:
Authorization
Permisos Requeridos
Para los endpoints de agrupadores de stock, se requieren los siguientes permisos:
- Para operaciones de escritura:
supplier/grouper.write - Para operaciones por lotes:
supplier/grouper.bulkwrite