Compatibilidades entre ítems y productos de Autopartes

Importante:
Este recurso está disponible sólo para Argentina, México y Brasil.

Las compatibilidades permiten asociar los ítems publicados a los productos compatibles del marketplace por ejemplo, si tienes un “Amortiguador Corven Plus” publicado podrás definir atributos como Marca, Modelo, Año y Motor para los cuales este repuesto es compatible. De esta manera, mejoras la calidad de las publicaciones y reduces la cantidad de publicaciones por ítem.
Para esto, deberás acceder al dump y verificar que el dominio de los ítems y el dominio de los productos sean compatibles. Luego, podrás asociar las compatibilidades de 3 (tres) maneras diferentes y por último, listarlas.
Si la compatibilidad no es la adecuada, podrás eliminar aquellas definidas por los usuarios (vendedores).

Contenidos

→Verificar compatibilidad entre dominios
→Contar productos de un dominio
→Asociar compatibilidades
   ↳Por producto
   ↳Por dominio de producto
   ↳Por producto y dominio de producto
→Listar compatibilidades
    ↳Obtener todas compatibilidades de un ítem
   ↳Obtener una compatibilidad particular de un ítem mediante su id
→Eliminar compatibilidades


Verificar compatibilidad entre dominios

Antes de crear compatibilidades entre ítems y productos, debes verificar que los dominios de ítems y productos sean compatibles.

Consultando el siguiente dump, obtienes las compatibilidades para cada dominio por site.

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' http://api.mercadolibre.com/catalog/dumps/domains/$SITE_ID/compatibilities

Respuesta:

[
   {
      "domain_id":"$domain_id",
      "compatibilities":[
         {
            "compatible_domain_id":"$domain_id"
         },
         {
            "compatible_domain_id":"$domain_id"
         }
      ]
   },
   {
      "domain_id":"$domain_id",
      "compatibilities":[
         {
            "compatible_domain_id":"$domain_id"
         },
         {
            "compatible_domain_id":"$domain_id"
         }
      ]
   }
]

Ejemplo llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/catalog/dumps/domains/MLA/compatibilities

Ejemplo respuesta:

[
   {
       "domain_id": "MLA-AUTOMOTIVE_SHOCK_ABSORBERS",
       "compatibilities": [
           {
               "compatible_domain_id": "MLA-CARS_AND_VANS"
           }
       ]
   }
]

Obtén más información de dominios, productos y atributos de autopartes.


Contar productos de un dominio

Para consultar la cantidad de productos existentes por dominio (familia de producto) que cumplen con determinados atributos y valores puedes realizar el siguiente POST. Esto te permitirá validar, previo a asociar las compatibilidades, la cantidad de productos y evitar errores en la asignación de compatibilidades.
Esto es importante ya que solo se pueden asignar un máximo de 200 productos por llamado.

Nota:
El límite de tráfico por APP_ID es de 100 rpm.

Llamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/catalog_compatibilities/products_search/count_family_products
{
  "domain_id": "$domainId",
  "attributes": [{
    "id": "$attributeId1",
    "value_id": "$valueId1"
  }, {
    "id": "$attributeId2",
    "value_name": "$valueName2"
  }]
}

Ejemplo:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/catalog_compatibilities/products_search/count_family_products
{
  "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
  "attributes": [{
      "id": "BRAND",
      "value_name": "Volkswagen"
    },
    {
      "id": "CAR_AND_VAN_MODEL",
      "value_name": "VENTO"
    }
  ]
}

Respuesta:

{
   "count":141
}

Asociar compatibilidades

Para asociar compatibilidades de un ítem con un producto y/o dominio podrás consultar hasta un máximo de 200 productos por llamado (incluidos los definidos en los dominios) y hacerlo de 3 maneras diferentes:

  • Por producto: para agregar nuevas compatibilidades a un ítem debes enviar las compatibilidades que quieras añadir. No es necesario enviar las existentes para mantener las actuales.
  • Por dominio de producto: puedes especificar un conjunto de atributos que definen el dominio de productos. Para cada dominio, debes especificar su dominio y para cada atributo, un value conformado por id y/o name.
  • Por producto y dominio: puedes asociar compatibilidades a un ítem publicado de otro producto y una dominio de productos, es decir, te permite asociar de manera conjunta las 2 primeras.
Nota:
El límite de tráfico por APP_ID es de 100 RPM (request por minuto).

Asociar por producto

Para asociar una compatibilidad a uno o varios productos individuales, puedes utilizar el product search.

Llamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/compatibilities
{
   "products":[
      {
         "id":"$productId1"
      },
      {
         "id":"$productId2"
      }
   ]
}

Ejemplo:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLM794706391/compatibilities
{
   "products":[
      {
         "id":"MLM15847274"
      }
   ]
}

Respuesta:

{
  "products": [{
    "id": "d8b9af3b-1b36-096d-a0bf-4b0fb19085f8",
    "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
    "catalog_product_id": "MLM15847274",
    "catalog_product_name": "Ford Crown Victoria 2001 Police Interceptor",
    "source": "SELLER",
    "restrictions": []
  }],
  "items": []
}

Asociar por dominio de producto

Para asociar compatibilidades definidas por los atributos que determinan un dominio, conoce los dominios y atributos de autopartes.

Nota:
Puedes informar hasta 10 dominios de productos distintos por llamada.

Llamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$item_id/compatibilities
{
  "products_families": [{
    "domain_id": "$domainId",
    "attributes": [{
      "id": "$attributeId1",
      "value_id": "$valueId1"
    }, {
      "id": "$attributeId2",
      "value_name": "$valueName2"
    }]
  }]
}

Ejemplo (excepto MLM):

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLA794706391/compatibilities
{
  "products_families": [{
    "domain_id": "MLA-CARS_AND_VANS",
    "attributes": [{
        "id": "BRAND",
        "value_id": "60249"
      },
      {
        "id": "VEHICLE_YEAR",
        "value_id": "6730991"
      },
      {
        "id": "MODEL",
        "value_id": "1252874"
      },
      {
        "id": "TRIM",
        "value_id": "2228234"
      }
    ]
  }]
}

Respuesta:

{
  "products": [{
      "id": "4cb9af35-8e9b-ebfd-9e7f-2245ac363d10",
      "domain_id": "MLA-CARS_AND_VANS",
      "catalog_product_id": "MLA15863808",
      "catalog_product_name": "Volkswagen Gol Sedan 2010 Comfortline",
      "source": "SELLER",
      "restrictions": []
    },
    {
      "id": "c2b9af35-8e78-f34f-ef71-30bb11af0742",
      "domain_id": "MLA-CARS_AND_VANS",
      "catalog_product_id": "MLA15856472",
      "catalog_product_name": "Chrysler Cirrus 2010 Touring",
      "source": "SELLER",
      "restrictions": []
    }

  ],
  "items": []
}

Ejemplo MLM:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLM794706391/compatibilities
{
   "products_families": [
       {
           "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
           "attributes": [
               {
                   "id": "DRIVE_TYPE",
                   "value_id": "8182649"

               },
               {
                   "id": "CAR_AND_VAN_BODY_TYPE",
                   "value_id": "8183109"

               },
               {
                   "id": "YEAR",
                   "value_name": "2010"

               }
           ]
       }
   ]
}

Respuesta:

{
   "products": [
{
           "id": "4cb9af35-8e9b-ebfd-9e7f-2245ac363d10",
           "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
           "catalog_product_id": "MLM15863808",
           "catalog_product_name": "Volkswagen Gol Sedan 2010 Comfortline",
           "source": "SELLER",
           "restrictions": []
       },
       {
           "id": "c2b9af35-8e78-f34f-ef71-30bb11af0742",
           "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
           "catalog_product_id": "MLM15856472",
           "catalog_product_name": "Chrysler Cirrus 2010 Touring",
           "source": "SELLER",
           "restrictions": []
       }

],
   "items": []
}

Asociar por producto y dominio de productos

Llamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$item_id/compatibilities
{
  "products": [{
    "id": "$productId1"
  }, {
    "id": "$productId2"
  }],
  "products_families": [{
    "domain_id": "$domainId",
    "attributes": [{
        "id": "$attributeId1",
        "value_id": "$valueId1"
      },
      {
        "id": "$attributeId2",
        "value_name": "$valueName2"
      }
    ]
  }]
}

Ejemplo:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLM794706391/compatibilities
{
  "products": [{
    "id": "MLM15847274"
  }],
  "products_families": [{
    "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
    "attributes": [{
        "id": "DRIVE_TYPE",
        "value_id": "8182649"

      },
      {
        "id": "CAR_AND_VAN_BODY_TYPE",
        "value_id": "8183109"

      },
      {
        "id": "YEAR",
        "value_name": "2010"

      }
    ]
  }]
}

Respuesta:

{
  "products": [{
      "id": "48af8178-50ce-971a-fc41-8c9a954cea62",
      "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
      "catalog_product_id": "MLA123254432",
      "catalog_product_name": "Producto 1",
      "source": "SELLER",
      "restrictions": [

      ]
    },
    {
      "id": "8abae1a7-9ced-411e-93d6-df6173c7f5fe",
      "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
      "catalog_product_id": "MLA123254551",
      "catalog_product_name": "Producto 2",
      "source": "SELLER",
      "restrictions": [

      ]
    }
  ]
}

Posibles errores

400: validaciones de consistencia:

  • Los campos obligatorios están incompletos.
  • El formato de los ids es incorrecto.
  • Se encontraron y/o especificaron más de 200 productos para los dominios de productos.
  • Se especificaron más de 10 dominios de productos.
  • Los productos y/o dominios no pertenecen al mismo site que el ítem.
  • Los productos deben ser todos hijos.
  • El dominio del ítem es compatible con los dominios de los productos especificados y/o con los dominios especificados en los dominos de productos especificadas.

403: token inválido o falta de permisos sobre el ítem.
404: no existe el ítem, los productos o los dominios especificados.


Listar compatibilidades

Con este recurso, puedes listar todas las compatibilidades para un ítem particular. El atributo products contiene las compatibilidades del vendedor y catalog_compatibilities_count, la cantidad de compatibilidades del catálogo de Mercado Libre, es decir, estas últimas compatibilidades no estarán listadas debido a limitantes en licencias de propiedad intelectual.

Nota:
Si una compatibilidad cargada por el vendedor ya está disponible en el catálogo de Mercado Libre, no se mostrará en el campo products de la respuesta.

Obtener todas compatibilidades de un ítem

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/compatibilities

Ejemplo llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLM794706391/compatibilities

Ejemplo respuesta:

{
  "products": [{
      "id": "48af8178-50ce-971a-fc41-8c9a954cea62",
      "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
      "catalog_product_id": "MLA123254432",
      "catalog_product_name": "Producto 1",
      "source": "SELLER",
      "restrictions": []
    },
    {
      "id": "8abae1a7-9ced-411e-93d6-df6173c7f5fe",
      "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
      "catalog_product_id": "MLA123254551",
      "catalog_product_name": "Producto 2",
      "source": "SELLER",
      "restrictions": [

      ]
    }
  ],
  "catalog_compatibilities_count": 15
}

Un error 404 significa que el ítem no existe.

 

Obtener una compatibilidad particular de un ítem mediante su id

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/compatibilities/$compatibility_id

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLM794706391/compatibilities/$compatibility_id

Respuesta:

{
  "id": "8abae1a7-9ced-411e-93d6-df6173c7f5fe",
  "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
  "catalog_product_id": "MLM123254551",
  "catalog_product_name": "Producto 2",
  "source": "SELLER",
  "restrictions": []
}

Un error 404 significa que el ítem o la compatibilidad no existen.


Eliminar compatibilidades

En caso de haber asociado una compatibilidad incorrecta con el ítem, podrás eliminarla siempre que haya sido realizada por el vendedor.

 

Eliminar una compatibilidad específica para el ítem indicado

Llamada:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/compatibilities/$COMPATIBILITY_ID

Ejemplo:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLM794706391/compatibilities/4cb9af35-8e9b-ebfd-9e7f-2245ac363d10

La respuesta será un http 200.


Eliminar compatibilidades para un ítem

Llamada:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/compatibilities

Ejemplo:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLM794706391/compatibilities

Respuesta:

{
  "deleted_compatibilities": [
    "d0ba2aeb-7409-0037-7b23-0b91266fd00e",
    "72ba233d-16d8-218b-4062-7a97dab166c8"
  ]
}

Eliminar compatibilidades para un dominio de un ítem

Llamada:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/compatibilities
{
"products_families": [{
  "domain_id": "$domain_id",
  "attributes": [{
    "id": "$attribute_id1",
    "values":[{ 
      "id": "$value_id1",
      "name": "$value_name1"
    }]
  },{
    "id": "$attribute_id2",
    "values":[{ 
      "id": "$value_id1",
      "name": "$value_name1"
    }]
  }]
}]
}

Ejemplo:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLM794706391/compatibilities
	{
  "products_families": [{
          "domain_id": "MLM-CARS_AND_VANS_FOR_COMPATIBILITIES",
          "attributes": [{
                  "id": "DRIVE_TYPE",
                  "value_id": "8182649"           
              },
              {
                  "id": "CAR_AND_VAN_BODY_TYPE",
                  "value_id": "8183109"
              },
              {
                  "id": "YEAR",
                  "value_name": "2010"              
              }]
      }]
}

Respuesta:

{
   "deleted_compatibilities": [
       "d0ba2aeb-7409-0037-7b23-0b91266fd00e",
       "72ba233d-16d8-218b-4062-7a97dab166c8"
   ]
}

Posibles errores

400: formato incorrecto / más de 200 productos para el dominio especificado / más de 10 dominios especificados.
403: token inválido o falta de permisos sobre el ítem.
404: el ítem o la compatibilidad no existen.

o regístrate para recibir las últimas novedades sobre nuestra API