Crear o actualizar ítem de búsqueda

Crea o actualiza un ítem dentro de una colección de búsqueda del negocio autenticado. Hace upsert por negocio + colección + external_id.

POST/api/external/v2/search/item

Autenticación

Este endpoint se autentica con una API key mediante la cabecera X-API-Key (formato ek_live_...), en lugar del token bearer del resto de la referencia.

Cuerpo de la solicitud

ParámetroTipoObligatorioDescripción
collection_idString (UUID)ObligatorioUUID de la colección de búsqueda destino.
external_idStringObligatorioIdentificador externo único dentro de la colección.
itemObjectObligatorioObjeto JSON completo a almacenar en el ítem (payload).
embedding_jsonObjectOpcionalObjeto JSON opcional usado como payload de embedding; reemplaza la configuración de la colección cuando se envía.
activeBooleanOpcionalIndica si el ítem queda activo tras el upsert (por defecto true).

Ejemplo de solicitud

bash
curl -X POST "https://eclectic-api-537143970188.us-central1.run.app/api/external/v2/search/item" \
  -H "X-API-Key: ek_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "collection_id": "35f6f8cc-b550-4278-a2ea-099f3a4e0730",
    "external_id": "sku-12345",
    "item": {
      "name": "Blue T-Shirt",
      "price": 19.99,
      "description": "100% cotton blue t-shirt"
    },
    "active": true
  }'

Ejemplo de respuesta

json
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "collection_id": "35f6f8cc-b550-4278-a2ea-099f3a4e0730",
  "external_id": "sku-12345",
  "source": "api",
  "operation": "created",
  "is_active": true,
  "embedding_regenerated": true,
  "payload": {
    "name": "Blue T-Shirt",
    "price": 19.99,
    "description": "100% cotton blue t-shirt"
  },
  "embedding_json": {
    "name": "Blue T-Shirt",
    "description": "100% cotton blue t-shirt"
  },
  "created_at": "2024-09-23T20:09:10Z",
  "updated_at": "2024-09-23T20:09:10Z"
}

Notas

  • Si no envías embedding_json, se deriva de los embedding_fields configurados en la colección.
  • El campo operation indica si el ítem fue created, updated o unchanged.
  • Posibles errores: 400 (validación), 401 (API key inválida o ausente).