Saltar al contenido principal

API de Agrupadores de Promociones

La API de Agrupadores de Promociones permite gestionar agrupadores de promociones en la plataforma Nilo. Los agrupadores de promociones representan segmentaciones comerciales que determinan qué tiendas pueden ver promociones específicas.

Entendiendo los Agrupadores de Promociones

Los Agrupadores de Promociones en Nilo representan segmentos comerciales para dirigir promociones:

  • Estructura del Agrupador
    • Código interno único para identificación (igual al código de segmento en tu ERP)
    • Nombre para visualización y organización
    • Estado (habilitado/deshabilitado)
    • Asociaciones con tiendas (qué tiendas pertenecen a este segmento)

Consideraciones Importantes

  1. Códigos Únicos: Cada agrupador requiere un código interno único (típicamente el código de segmento comercial de tu ERP)
  2. Asociaciones con Tiendas: Los agrupadores definen qué tiendas pueden ver las promociones asignadas a ellos
  3. Gestión de Estado: Los agrupadores pueden ser habilitados o deshabilitados sin eliminación
  4. Operaciones por Lotes: Soporte para asignación/remoción masiva de tiendas

Operaciones Individuales de Agrupador

Crear Agrupador de Promociones

POST/grouper/promotion

Crea un nuevo agrupador de promociones en la plataforma Nilo.

Parámetros del Cuerpo de la Solicitud

ParámetroTipoRequeridoDescripción
namestringNombre del agrupador
internalCodestringIdentificador único del agrupador

Ejemplo del Cuerpo de la Solicitud

{
"name": "Agrupador 1",
"internalCode": "1235"
}

Ejemplo de Uso

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/promotion", {
method: "POST",
headers: headers,
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));

Actualizar Agrupador de Promociones

PUT/grouper/{code}/promotion

Actualiza un agrupador de promociones existente.

Parámetros de Ruta

ParámetroTipoRequeridoDescripción
codestringCódigo del agrupador a actualizar

Parámetros del Cuerpo de la Solicitud

ParámetroTipoRequeridoDescripción
namestringNuevo nombre del agrupador

Ejemplo del Cuerpo de la Solicitud

{
"name": "Agrupador 1"
}

Ejemplo de Uso

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/promotion", {
method: "PUT",
headers: headers,
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));

Cambiar Estado del Agrupador de Promociones

PUT/grouper/{code}/status/promotion

Habilita o deshabilita un agrupador de promociones específico.

Parámetros de Ruta

ParámetroTipoRequeridoDescripción
codestringCódigo del agrupador

Parámetros del Cuerpo de la Solicitud

ParámetroTipoRequeridoDescripción
enabledbooleanNuevo estado del agrupador

Ejemplo del Cuerpo de la Solicitud

{
"enabled": true
}

Ejemplo de Uso

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/promotion", {
method: "PUT",
headers: headers,
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));

Operaciones por Lotes

Actualización por Lotes de Agrupadores de Promociones

POST/batch/grouper/promotion

Actualiza múltiples agrupadores de promociones en una sola operación.

Parámetros del Cuerpo de la Solicitud

ParámetroTipoRequeridoDescripción
addobjectNoTiendas para agregar a los agrupadores
removeobjectNoTiendas para eliminar de los agrupadores

Ejemplo del Cuerpo de la Solicitud

{
"add": {
"stores": [
{
"groupInternalCode": "2345",
"storeInternalCode": "124f"
}
]
},
"remove": {
"stores": [
{
"groupInternalCode": "2345",
"storeInternalCode": "125f"
}
]
}
}

Ejemplo de Uso

const headers = {
Authorization: "TU_TOKEN_DE_AUTORIZACION",
"x-api-key": "TU_API_KEY",
"Content-Type": "application/json",
};

const data = {
add: {
stores: [
{
groupInternalCode: "2345",
storeInternalCode: "124f",
},
],
},
remove: {
stores: [
{
groupInternalCode: "2345",
storeInternalCode: "125f",
},
],
},
};

fetch("https://api.nilo.com/batch/grouper/promotion", {
method: "POST",
headers: headers,
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));

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 promociones, se requieren los siguientes permisos:

  • Para operaciones de escritura: supplier/grouper.write
  • Para operaciones por lotes: supplier/grouper.bulkwrite