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/itemAutenticació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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
collection_id | String (UUID) | Obligatorio | UUID de la colección de búsqueda destino. |
external_id | String | Obligatorio | Identificador externo único dentro de la colección. |
item | Object | Obligatorio | Objeto JSON completo a almacenar en el ítem (payload). |
embedding_json | Object | Opcional | Objeto JSON opcional usado como payload de embedding; reemplaza la configuración de la colección cuando se envía. |
active | Boolean | Opcional | Indica 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).