Skip to content

Conectores REST ​

Para cuando tienes un backend con API propia. Dos modelos opuestos:

  • REST pull — Mibizum llama a tu API por cron y tú respondes con tus datos.
  • REST push — tu backend nos llama a nosotros cuando algo cambia (tiempo real).

REST pull ​

Mibizum hace GET a tu endpoint, pagina si hace falta y mapea cada item.

Configuración ​

CampoObligatorioDescripción
endpointSíURL de tu API que devuelve JSON.
authNo{ "type": "bearer", "token": "…" } o { "type": "header", "name": "X-API-Key", "value": "…" }.
paginatedNopage (por defecto), cursor o none.
pageParam / limitParamNoNombres de los parámetros de paginación (por defecto page / limit).
pageSizeNoTamaño de página (por defecto 100, máximo 1000).
dataPathNoRuta con puntos hasta el array de items en la respuesta (p. ej. data.items). Si lo omites, probamos items/data/results o la raíz.
cursorPath / cursorParamNoRuta al cursor en la respuesta y nombre del parámetro, si paginated: "cursor".
mappingNoMapeo campo → ruta del item (admite puntos: attrs.0.sku). Sin mapping, asumimos que ya devuelves el documento normalizado.
json
{
  "endpoint":  "https://api.tu-tienda.com/v1/productos",
  "auth":      { "type": "bearer", "token": "tok_…" },
  "paginated": "page",
  "pageSize":  200,
  "dataPath":  "data.items",
  "mapping":   { "id": "sku", "title": "name", "price": "sale_price", "image": "img.0.url" }
}

Paginamos como máximo 50 páginas por sincronización (cortafuegos contra bucles). Por defecto se re-sincroniza cada 6 horas.

REST push ​

Tu backend (o un módulo nativo) nos envía los documentos cuando cambian. Es el modelo en tiempo real y el que usan los módulos nativos como Magento.

  • POST /api/v1/index — publica uno o varios documentos.
  • DELETE /api/v1/index/:id — elimina un documento (idempotente).

Autenticación con tu clave privada (la de escritura e indexación, scope indexer) en la cabecera Authorization: Bearer …. Es un secreto de servidor: mantenla solo en tu backend y regenérala si se expone. Los documentos siguen el shape normalizado (id, title, url y los campos por tipo). Ver la referencia de la API para el detalle de payload, límites y errores.

bash
curl -X POST https://api.mibizum.io/api/v1/index \
  -H "Authorization: Bearer mb_ik_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "tu-catalogo",
    "documents": [
      { "id": "A1", "docType": "product", "title": "Mesa de roble",
        "url": "https://tu-tienda.com/p/a1", "price": 149.0, "stock": 7 }
    ]
  }'

Push vs pull. Si puedes empujar, el push da frescura inmediata sin esperar al cron. Si no quieres tocar tu backend, el pull (o un feed) es más sencillo de mantener.

Documentación oficial de Mibizum.