Traducida del inglés. Si hay alguna diferencia, la página en inglés es la referencia. Leer en inglés
Duplicados: Requiere atención y Mismo producto
Cómo gestionan las importaciones los productos que quizá ya existen, cómo resolverlos y cómo unir dos productos en uno.
Cuando una importación de un canal encuentra un elemento que podría ser un producto que ya está en
Nembol (pero sin certeza), no adivina ni lo
descarta: el elemento entra en pausa, con estado to_verify ("Requiere
atención" en el panel). No se publica, sincroniza ni vincula hasta que
alguien decida.
Encontrar lo que requiere atención
curl "https://api.nembol.com/rest/v1/products?status=to_verify" \
-H "Authorization: Bearer $NEMBOL_API_KEY"Cada producto explica el motivo en requires_attention:
{
"id": "prod_7c1e",
"status": "to_verify",
"requires_attention": {
"reason": "ambiguous_match",
"message": "The SKU matches more than one product in Nembol",
"channel": "etsy",
"conflicting_product_ids": ["prod_51aa", "prod_51ab"],
"detected_at": "2026-10-13T10:00:00.000Z"
}
}Las importaciones indican cuántos elementos entraron así (import.requires_attention
en la operación). Mientras un producto está en to_verify, las escrituras de anuncios responden
409 product_requires_attention y las escrituras de inventario asociadas por SKU lo omiten.
Resolverlo
Hay dos salidas:
- Es el mismo artículo que un producto existente → únelos con
POST /products/merge(más abajo). Esto también lo resuelve. - En cualquier otro caso →
POST /products/{id}/resolve:
resolution | Cuándo |
|---|---|
keep_independent (+ with) | Es un producto distinto de los de with. Se recuerda: no se vuelve a proponer. Si with deja fuera algunos productos en conflicto, sigue en to_verify con los demás. Comprueba resolved_ids. |
made_to_order | Anuncio de Etsy con una sola cantidad para todas las variantes, hecho por encargo: cada variante mantiene esa cantidad. |
recheck | El vendedor corrigió la configuración de Etsy: Nembol vuelve a leer el anuncio (409 still_requires_attention si aún no está corregida). |
ignore | No se quiere en Nembol: el producto se elimina y las futuras importaciones omiten ese anuncio del canal. No cambia nada en el canal. |
Los motivos de Etsy (etsy_shared_quantity, etsy_processing_profiles) son
configuraciones del canal, no duplicados: keep_independent responde
409 resolution_not_applicable para ellos.
Los anuncios ignorados se listan con GET /ignored_listings;
DELETE /ignored_listings/{id} deja de ignorar uno, y la siguiente importación de
ese canal lo vuelve a traer.
Unir dos productos (Mismo producto)
curl -X POST https://api.nembol.com/rest/v1/products/merge \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"product_ids": ["prod_51aa", "prod_7c1e"], "survivor_id": "prod_51aa", "dry_run": true}'- El superviviente conserva su id; los demás se archivan con
merged_intoy sus anuncios pasan al superviviente. Después, todos los canales comparten un único stock por variante. - Envía siempre primero
dry_run: truey muestra la vista previa:title,variantsy lo que mostrará cada canal (listings). choiceselige, por campo, de qué producto procede un valor (por defecto: el superviviente):title,description,sku,barcode,price,quantity,photos,tags,category. Por ejemplo:"choices": {"photos": {"from": "prod_7c1e"}, "quantity": {"values": {"var_1": 5}}}. Tomarphotostrae también las imágenes de las variantes de ese producto. Los canales conservan sus propios títulos y descripciones.- Los productos que no se parecen aparecen en
looks_different: para unirlos hace faltaconfirm_different: true. - Se rechaza cuando dos productos están publicados en la misma cuenta de canal
(
422 same_channel_account). - Se puede deshacer durante 30 días con
POST /actions/{id}/undo(el id está en la cabeceraNembol-Action-Id).
Variantes que no se corresponden
Las variantes se asocian por SKU y después por valores de opción. Cuando eso falla, la unión
responde 422 variants_differ con error.details.matching: ambas listas de
variantes y una suggestion. Si manual_allowed es true (el producto absorbido
solo está publicado en Etsy, Shopify o WooCommerce, con el mismo número de
variantes), asócialas tú y vuelve a enviar la unión:
{
"product_ids": ["prod_51aa", "prod_7c1e"],
"survivor_id": "prod_51aa",
"variant_maps": { "prod_7c1e": { "var_e1": "var_a1", "var_e2": "var_a2" } }
}El mapa debe ser completo y uno a uno. Tras la unión, las variantes del canal toman los nombres de Nembol (y los SKU cuando el canal lo permite).
Eventos
Una unión emite product.updated para el superviviente (data.merged) y
product.deleted para cada producto absorbido (data.merged_into). Una
resolución emite product.updated (product.deleted para ignore).
Buenas prácticas para agentes
- Nunca resuelvas ni unas por tu cuenta: muestra a la persona los productos en conflicto uno al lado del otro y deja que elija.
- Usa
dry_runantes de cada unión y guarda el id de la acción para poder deshacerla.
Última actualización el 20 de octubre de 2026
¿Necesitas ayuda?
Escríbenos y te responde una persona, normalmente en un día laborable.
Importar productos
Trae a Nembol el catálogo de un canal conectado, o un CSV, desde tu app o tu agente: solo elementos nuevos, vinculación por SKU, filtros para una importación, progreso en directo y deshacer.
Retirar anuncios y limpiar
Retira anuncios de los canales, archiva productos y entiende qué significa realmente eliminar.