Receba notificações

Alguns eventos são produzidos apenas do lado do Mercado Livre e a única forma de conhecê-los é através de notificações. Com as notificações você terá um feed em tempo real das mudanças produzidas nos diferentes recursos da nossa API. Por exemplo, se você anunciou um item e mais tarde decidiu pausá-lo, se alguém formulou alguma pergunta, se compraram um item ou até se pagaram e/ou solicitaram o envio. Uma maneira eficiente sem ter que consultar permanentemente nossa API!

Assuntos:

Inscreva-se para receber notificações

Se quiser começar a receber notificações, você deverá acessar seu gerenciador de aplicativos, onde você criou seu aplicativo pela primeira vez, editar os detalhes especificando quais são os topics que você receberá. Aclaração: Caso você ainda não tenha criado seu aplicativo, acesse seção Criar a sua aplicação.

  • URL de retorno de chamada de notificação – Configure a URL pública do domínio onde você quer receber notificações sobre os diversos tópicos.  Por exemplo: “http://myapp.com/notifications”
  • Tópicos: Selecione dentre os diferentes tópicos para receber notificações. 

Nota: Tenha em conta que os topics orders, created_orders, payments e messages não são utilizados para imóveis, serviços e automóveis. 

Topics Disponíveis

  • items - Você receberá notificações sobre qualquer mudança em um item que tiver publicado.
  • orders - Você receberá notificações a partir da criação e alterações realizadas em alguma de suas vendas confirmadas.
  • created_orders - Você receberá notificações de suas vendas recentemente criadas quando entram pelo fluxo do Mercado Pago obrigatório. Você só vai obter dados do produto e quantidade de unidades, pois a compra ainda não foi confirmada. Não deve realizar qualquer ação até não passar para "paid". Serve apenas para reserva de estoque, pois se o comprador finalmente pagar mas o item não tiver estoque, o pagamento será automaticamente devolvido e a venda cancelada.
    Nota: Quando a ordem for paga, as notificações começarão a ser enviadas também a partir de "orders", portanto, sugerimos escolher apenas um dos topics para evitar eventos duplicados.
  • questions- Você receberá notificações de perguntas e respostas feitas.
  • payments- Você receberá notificações quando um pagamento for criado em uma ordem ou o status dela mudar.
  • pictures– Você somente receberá notificações das imagens que, por causa de algum erro, não estiverem disponíveis para download.
    Nota: Ao mesmo tempo, será enviado um email automático para o vendedor, reunindo as imagens com problemas.
  • messages – Você receberá notificações sobre novas mensagens geradas com seu user_id como destinatário.
  • orders_v2 -Você receberá notificações a partir da criação e alterações realizadas em alguma de suas vendas confirmadas. (recomendável).
  • shipments – Você receberá notificações a partir da criação e alterações realizadas nos envios (shippings) de suas vendas confirmadas.
  • quotations - Você receberá notificações referente a cotações que ocorram nas publicações (aplicável apenas para integração de imóveis).
  • invoices – Você receberá notificações referente a invoices geradas (notas fiscais) através do faturamento automático feito pelo mercadolivre (aplicável somente a quem trabalha com o faturamento com mercado envios full).
  • claims – Você receberá notificações referente a reclamações que sejam feitas referente às vendas (Trabalhar com reclamações).

Aclaração:

      Quando a ordem for paga, as notificações começarão a ser enviadas também a partir de "orders", portanto, sugerimos escolher apenas um dos topics para evitar eventos duplicados.
    • questions – Você receberá notificações de perguntas e respontas feitas.
    • payments – Você receberá notificações quando um pagamento for criado em uma ordem ou o status dela mudar.
    • pictures – Você somente receberá notificações das imagens que, por causa de algum erro, não estiverem disponíveis para download.

Nota:

    Ao mesmo tempo, será enviado um email automático para o vendedor, reunindo as imagens com problemas.

Quais eventos disparam notificações?

Tenha em conta que toda e qualquer mudança que houver no Json, em qualquer tópico, serão disparadas as notificações correspondentes às estas. 

É importante que sempre escute as notificações e, em seguida, faça-se a consulta no recurso correspondente para verificar se há alguma mudança em relação à sua aplicação, pois as mudanças podem ocorrer também de outras fontes, como ação via front, Seller Central ou outras aplicações, etc.

Considerações

  • Enviaremos um POST a sua URL, portanto, seu aplicativo deverá confirmar o recebimento com um código de status HTTP 200 no menor tempo possível, pois, caso contrário, a mensagem será considerada não entregue e haverá uma nova tentativa de envio.
  • As mensagens serão enviadas e novas tentativas de envio serão feitas durante um intervalo de 12 horas. Depois desse período, se não forem aceitas pelo aplicativo, elas serão excluídas.
  • Sabendo que pode haver uma grande quantidade de notificações, é recomendável que se trabalhe com filas, onde seu servidor deverá confirmar o recebimento das notificações (HTTP 200) instantaneamente e apenas em seguida faça a consulta do tópico na API; assim, evita que sejam feitas novas tentativas de notificações e não gerará a sensação de notificações duplicadas.
  • Leve em conta que há eventos internos não visíveis para o integrador, porém estes disparam notificações.

Acesso aos detalhes

Depois de receber uma notificação sobre um tópico, você deverá fazer uma solicitação GET ao recurso para acessar os detalhes e, depois, se tiver salvado o JSON anterior, deverá comparar os dois.

items

Notification response:

{
  "resource": "/items/MLB139876",
  "user_id": 1234,
  "topic": "items",
  "received": "2011-10-19T16:38:34.425Z",
  "sent" : "2011-10-19T16:40:34.425Z",
}

Com essas informações, você poderá realizar um GET para o recurso de items:

curl -X GET https://api.mercadolibre.com/items/$ITEM_ID?access_token=$ACCESS_TOKEN

orders e created_orders

Notification response:

{
    "resource": "/orders/139876",
    "user_id": 1234,
    "topic": "orders",
    "received": "2011-10-19T16:38:34.425Z",
    "sent" : "2011-10-19T16:40:34.425Z",
}

Com essas informações, você poderá realizar um GET para o recurso de orders e created_orders:

curl -X GET https://api.mercadolibre.com/orders/$ORDER_ID?access_token=$ACCESS_TOKEN

questions

Notification response:

{
  "resource": "/questions/139876",
  "user_id": 1234,
  "topic": "questions",
  "received": "2011-10-19T16:38:34.425Z",
  "sent" : "2011-10-19T16:40:34.425Z",
}

Com essas informações, você poderá realizar um GET para o recurso questions:

curl -X GET https://api.mercadolibre.com/questions/$QUESTION_ID?access_token=$ACCESS_TOKEN

payments

Notification response:

{
  "resource": "/collections/1780558484",
  "user_id": 149218964,
  "topic": "payments",
  "application_id": 2470,
  "attempts": 1,
  "sent": "2016 - 01 - 15 T18: 12: 31.313 Z ",
  "received": "2016 - 01 - 15 T18: 12: 31.299 Z "
}

Com essas informações, você poderá realizar um GET para o recurso collections:

curl -X GET https://api.mercadolibre.com/collections/$PAYMENT_ID?access_token=$ACCESS_TOKEN

pictures

Notification response:

{
  "messages": [
    {
      "_id": "123aaa456bbb789ccc",
      "application_id": "1234",
      "user_id": "123456789",
      "resource": "/pictures/12345-MLA1234567-20160729"/errors,
      "topic": "pictures",
      "sent": "2016-07-24T11:00:00.836Z",
      "received": "2016-07-24T11:00:00.836Z",
      "attempts": "2",
      "created_at": "2016-07-24T11:00:00.836Z"
    }
  ]
}

Com essas informações, você poderá realizar um GET para o recurso picture:

curl -X GET https://api.mercadolibre.com/pictures/$PICTURE_ID/errors?access_token=$ACCESS_TOKEN

Você terá que identificar por que a imagem não foi corretamente processada. Ver “Considerações e melhores práticas para trabalhar com imagéns”.

API do histórico dos feeds

Um registro de seu histórico de notificações é salvo, e você pode acessá-lo a qualquer momento chamando nosso recurso feeds. Exemplo:

curl -X GET https://api.mercadolibre.com/myfeeds?app_id=$APP_ID&access_token=$ACCESS_TOKEN

Resposta:

{
  "messages": [
  {
    "_id": "123aaa456bbb789ccc",
    "application_id": "1234",
    "user_id": "123456789",
    "resource": "/orders/12345678",
    "topic": "orders",
    "sent": "2014-10-24T11:00:00.836Z",
    "received": "2014-10-24T11:00:00.836Z",
    "attempts": "2",
    "http_code": "400",
    "created_at": "2014-10-24T11:00:00.836Z"
  }
}
}

Nota: Lembre que, por default, só serão mostradas 10 notificações, porém, você pode utilizar LIMIT e OFFSET para modificar o número que quer receber, como mostrado abaixo:

https://api.mercadolibre.com/myfeeds?app_id=$APP_ID&offset=1&limit=5&access_token=$ACCESS_TOKEN

Próximo: Consultas avançadas.

Faça parte da nossa comunidade