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.

Topics

– URL de retorno das notificações: Configure a URL pública do domínio onde você quer receber notificações sobre os diversos tópicos. Por exemplo: “http://myshoes-app.com/callbacks”.

– Topics: Selecione dentre os diferentes tópicos para receber notificações.
Aclaração: Tenha em conta que os topics orders, created_orders e payments 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 sobre qualquer alteração realizada 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.
  • 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.

Considerações

  • 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.
  • Enviaremos um POST a sua URL, portanto, seu aplicativo deverá confirmar o recebimento com um código de status HTTP 200, caso contrário, a mensagem será considerada não entregue e haverá uma nova tentativa de envio.
  • Seu aplicativo deverá enviar uma resposta em 20 segundos, caso contrário, o tempo limite será atingido a notificação será considerada como não entregue e haverá uma nova tentativa de envio.

Quais eventos disparam notificações?

items

  • Alterações em quaisquer atributos.
  • Alterações no status: a publicação deve ser verificada por um operador e o status é alterado para “under_review” ou é pausado, e o status muda para “pausado”.

orders

  • Redução de estoque: alguém compra um de seus produtos, e o estoque tem uma baixa. Um novo pedido é criado.
  • Pagamento: o comprador adiciona um pagamento ao pedido.
  • Envio: novas informações sobre o envio são associadas ao pedido ou o status do envio muda para: pendente, em processamento, ativo, entregue, não entregue.
  • Feedback: o comprador qualifica você como vendedor ou você envia feedback ao comprador. Um feed sobre o pedido é recebido.
  • Aclaração: orders é composto por blocos de outras apis, porém, nem todos os dados são exibidos por serem desnecessários. Esses blocos independentes podem sofrer mudanças, gerando eventos e posteriores notificações sobre a ordem, embora, às vezes, as mudanças relacionadas ao json anterior não sejam visualizadas.

creaters_orders

  • A notificação de creaters_orders chegará quando uma ordem que entrou pelo fluxo de Mercado Pago obrigatório for criada. Serve somente para reserva de estoque.
  • Outras notificações quando a ordem estiver “paid”, são as mesmas que as do topic “orders”. Caso você tenha selecionado os dois, chegarão notificações de ambos os topics.

questions

  • Você recebe uma nova pergunta.
  • Você responde a uma pergunta.
  • Você exclui uma pergunta que considera inadequada.

payments

  • Se gera um pagamento.
  • O estado do pagamento muda.

pictures

  • Quando alguma imagem não estiver disponível para download por causa de algum erro.

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}

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"
  }
}
}



Próximo:
Consultas avançadas.

Qualifique entre 1 e 5