Recursos
Catálogo y sincronización
El endpoint estrella de lectura de v2: las publicaciones de su cuenta real, con filtros, infracciones abiertas y paginación por cursor. Y su contraparte de escritura: decidir qué hace Automeli con cada publicación.
/v2/productsDevuelve cada publicación con nombres limpios (sin columnas internas de la base de datos): identificadores, estados en Mercado Libre y Amazon, precios de ambos lados, fechas en ISO 8601 y las infractions abiertas. Es la fuente para reconciliar su sistema con lo que Automeli ve de su cuenta.
GET /productscurl "https://api.automeli.com/api/v2/products?limit=50&ml_status=active" \
-H "X-API-Key: automeli_live_..."Página del catálogo. total sólo en la primera petición (sin cursor); para seguir, repetir con ?cursor=<next_cursor> hasta que has_more sea false.
{
"data": [
{
"listing_id": "MCO1234567890",
"sku": "B003H03SDQ",
"title": "Ejemplo de producto",
"brand": "ACME",
"permalink": "https://articulo.mercadolibre.com.co/…",
"image_url": "https://http2.mlstatic.com/…jpg",
"ml_status": "active",
"ml_sub_status": null,
"amazon_status": "Disponible",
"ml_category": "Soluciones Limpiadoras",
"ml_main_category": "Hogar y Muebles",
"ml_listing_type": "gold_pro",
"published_with_automeli": true,
"pause_reason": "",
"paused_since": null,
"amazon_total_price": 24.99,
"amazon_price": 19.99,
"amazon_shipping_cost": 0,
"amazon_taxes": 0,
"ml_price": 89000,
"stock": 8,
"weight_lb": 1.2,
"manufacturing_time": "5",
"shipping_origin": "amazonUSA",
"created_at": "2026-05-08T12:00:00.000Z",
"amazon_reviewed_at": "2026-06-30T03:11:00.000Z",
"ml_updated_at": "2026-06-30T04:00:00.000Z",
"automeli_sync_status": "enabled",
"automeli_tax_category": 0,
"last_change": "Disponible",
"discount_percentage": -12,
"image_differs_from_amazon": false,
"amazon_image_url": null,
"infractions": []
}
],
"next_cursor": "eyJsYXN0X2lkIjoi…",
"has_more": true,
"count": 1,
"total": 12840
}cursor) trae total; las siguientes se piden con ?cursor=<next_cursor> hasta que has_more sea false. No cambie los filtros a mitad de la paginación. Ver guía de paginación →Filtros disponibles (query params)
limitcursorlisting_idskuml_statusactive, paused, closed, deleted, under_review, …amazon_statuspublished_with_automeliautomeli_sync_statusenabled o disabled. Omitir = todos. Valor no habilitado para su cuenta → 422 (el mensaje lista los válidos).deleted_in_automeli2 = incluye ambos.created_from / created_tocreated_at.amazon_reviewed_from / amazon_reviewed_toamazon_reviewed_at.ml_updated_from / ml_updated_toml_updated_at.Campos que merecen una nota
automeli_sync_statusenabled o disabled (algunas cuentas tienen estados adicionales habilitados y pueden verlos aquí). Se cambia con el endpoint de abajo.paused_sincepause_reason actual. null = disponible o pausa aún no reprocesada.discount_percentagediscount_total_price.image_differs_from_amazon / amazon_image_urlinfractions{ id_reason, reason, resolution }. Vacío si no tiene.Errores posibles de este endpoint (2)
E_AUTH_FORBIDDEN_SCOPESu key no tiene el permiso requerido (ver scopes)
403E_PRODUCT_INVALID_BODYBody o query malformado (campo, fecha o estado inválido)
422Define qué hace Automeli con cada publicación a partir de ahora. El estado se envía como palabra, no como número.
/v2/products/sync-statusenabledSincronizado: se revisa en Amazon y se actualiza en Mercado Libre.disabledNo se actualiza (excluido total).PATCH /products/sync-statuscurl -X PATCH "https://api.automeli.com/api/v2/products/sync-status" \
-H "X-API-Key: automeli_live_..." \
-H "Content-Type: application/json" \
-d '{
"status": "disabled",
"listing_ids": ["MCO1234567890", "MCO9876543210"]
}'Cambio aplicado. updated = publicaciones del seller encontradas en la lista.
{
"status": "disabled",
"requested": 2,
"updated": 2
}listing_id ajeno se ignora silenciosamente y no cuenta en updated. Con include_not_found: true la respuesta agrega matched y not_found.listing_id por llamada. Si envía más, la API responde 422 antes de tocar la base; para volúmenes mayores, divida en lotes. Ante reintentos por red, use un Idempotency-Key.Errores posibles de este endpoint (4)
E_AUTH_FORBIDDEN_SCOPESu key no tiene el permiso requerido (ver scopes)
403E_RATE_LIMITEDExcedió el rate limit. Ver Retry-After
429E_IDEMPOTENCY_CONFLICTMisma Idempotency-Key con body distinto
409E_PRODUCT_INVALID_BODYBody o query malformado (campo, fecha o estado inválido)
422