Receba notificações
Conteúdos
→Inscreva-se para receber notificações →Topics disponíveis →Quais eventos disparam notificações? →Considerações →Acesso aos detalhes ↳items ↳orders_v2 ↳questions ↳payments ↳pictures ↳messages ↳quotations ↳invoices ↳claims ↳item competition ↳stock fulfillment ↳best price eligible →Teste suas notificações →Histórico das notificações ↳Campos do recurso ↳Filtro por tópico
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á. 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.
Topics disponíveis
items: Você receberá notificações sobre qualquer mudança em um item que tiver publicado.
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.
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 de Mercado Libre Chile).
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. Veja mais Trabalhar com reclamações.
item competition: você receberá notificações quando as publicações de catálogo concorrentes mudarem de status. Tanto do competidor para o vencedor e vice-versa.
stock fulfillment: Você receberá notificações com os detalhes de uma determinada operação executada nas ações que o vendedor armazenou nos depósitos de FBM.
best price eligible: receberá notificações quando uma nova promoção for criada, o valor do target price for modificado ou quando um item que está competindo deixa de ser o vencedor do destaque especial no catálogo.
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/MLA686791111",
"user_id": 123456789,
"topic": "items",
"application_id": 2069392825111111,
"attempts": 1,
"sent": "2017-10-09T13:44:33.006Z",
"received": "2017-10-09T13:44:32.984Z"
}
Com essas informações, você poderá realizar um GET para o recurso de items:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID
orders_v2
Resposta da notificação:
{
"resource":"/orders/2195160686",
"user_id": 468424240,
"topic":"orders_v2",
"application_id": 5503910054141466,
"attempts":1,
"sent":"2019-10-30T16:19:20.129Z",
"received":"2019-10-30T16:19:20.106Z"
}
Com essas informações, você poderá realizar um GET para o recurso mensagens:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/orders/$ORDER_ID
questions
Notification response:
{
"resource": "/questions/5036111111",
"user_id": "123456789",
"topic": "questions",
"application_id": 2069392825111111,
"attempts": 1,
"sent": "2017-10-09T13:51:05.464Z",
"received": "2017-10-09T13:51:05.438Z"
}
Con esta información podrás realizar un GET al recurso de questions:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/questions/$QUESTION_ID
payments
Notification response:
{
"resource": "/collections/3043111111",
"user_id": 123456789,
"topic": "payments",
"application_id": 2069392825111111,
"attempts": 1,
"sent": "2017-10-09T13:58:22.081Z",
"received": "2017-10-09T13:58:22.061Z"
}
Com essas informações, você poderá realizar um GET para o recurso de questions:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/collections/$PAYMENT_ID
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 de picture:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/pictures/$PICTURE_ID/errors
Você terá que identificar por que a imagem não foi corretamente processada.
Veja mais considerações e melhores práticas para trabalhar com imagéns.
messages
Resposta da notificação:
{
"resource": "3f6da1e35ac84f70a24af7360d24c7bc",
"user_id": "268897726",
"topic": "messages",
"application_id": 2219612378080430,
"attempts": 1,
"sent": "2017-08-17T12:59:44.164Z",
"received": "2017-08-17T12:59:44.131Z"
}
Com essas informações, você pode executar um GET no recurso de mensagem:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/messages/$RESOURCE
quotations
Resposta da notificação:
{
"resource":"/quotations/5013267",
"user_id": 484630370,
"topic":"quotations",
"application_id": 5503910054141466,
"attempts":1,
"sent":"2019-10-30T14:04:14.584Z",
"received":"2019-10-30T14:04:14.553Z"
}
Com essas informações, você poderá realizar um GET para o recurso orders:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/quotations/$QUOTATION_ID?caller.type=seller
Onde caller.type é identificar quem é o gerador da ação. Pode ser um vendedor ou um usuário. Geralmente, para aplicativos de lançamento, será o do vendedor.
invoices
Notification response:
{
"resource": "/users/123456789/invoices/$INVOICE_ID",
"user_id": 123456789,
"topic": "invoices",
"application_id": 5503910054141466,
"attempts": 1,
"sent": "2018-03-21T20:51:11.906Z",
"received": "2018-03-21T20:51:11.884Z"
}
Com essas informações, você poderá realizar um GET para o recurso orders:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/$RESOURCE
claims
Notification response:
{
"resource":"/v1/claims/1041417027",
"user_id":"465432224",
"topic":"claims",
"application_id":5503910054141466,
"attempts":1,
"sent":"2019-10-29T17:46:24.606Z",
"received":"2019-10-29T17:46:24.616Z"
}
Com essas informações, você poderá realizar um GET para o recurso orders:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/$RESOURCE
item competition
Notificação:
{
"resource":"/items/ITEM_ID/price_to_win",
"user_id":"123456789",
"topic":"catalog_item_competition_status",
"application_id":4806348059754779,
"attempts":1,
"sent":"2020-03-03T18:57:54.824Z",
"received":"2020-03-03T18:57:54.819Z"
}
Com essas informações, você poderá realizar um GET para o recurso /price_to_win:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/price_to_win
stock fulfillment
Notificação:
{
"resource":"/stock/fulfillment/operations/9876",
"user_id":1234,
"topic":"fbm_stock_operations",
"application_id":12341234,
"attempts":1,
"sent":"2017-10-09T13:58:23.347Z",
"received":"2017-10-09T13:58:23.329Z"
}
Com essas informações, você poderá realizar um GET para o recurso /stock/fulfillment/operations:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/$RESOURCE
best price eligible
Notificação:
{
"resource":"/items/ITEM_ID/best-price",
"user_id":1234,
"topic":"best_price_eligible",
"application_id":2069392825111111,
"attempts":1,
"sent":"2017-10-09T13:58:23.347Z",
"received":"2017-10-09T13:58:23.329Z"
}
Com essas informações, você pode realizar um GET para o recurso /best-price :
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/$RESOURCE
Teste suas notificações
Você pode conferir se está recebendo notificações em sua integração, importando o este link em Postman. Caso sua URL funcione corretamente, você vai receber como resposta code 200 status ok, como mostrado na imagem abaixo.
Histórico das notificações
A partir dessas datas, você deve verificar o histórico de notificações perdidas para esses tópicos, fazendo um GET para o seguinte endpoint:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/missed_feeds?app_id=$APP_ID
Se você estiver usando algum tipo de filtro em sua aplicação, a partir do Mercado Livre geraremos notificações com os seguintes endereços IP:
- 54.88.218.97
- 18.215.140.160
- 18.213.114.129
- 18.206.34.84
Até as datas mencionadas, você pode continuar acessando o histórico de notificações com o seguinte recurso:
Chamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/myfeeds?app_id=$APP_ID
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/myfeeds?app_id=3486171129139063
Resposta:
{
"messages": [
{
"_id": "5da8a1b24be30a49eb66c52a",
"resource": "a35cf79864a845ca9a3bf6aee59bb4d7",
"user_id": "465432224",
"topic": "messages",
"application_id": 3486171129139063,
"attempts": 1,
"sent": "2019-10-17T17:15:30.279Z",
"received": "2019-10-17T17:15:30.259Z",
"request": {
"url": "https://YOUR_URL",
"headers": {
"accept": "application/json",
"content-type": "application/json",
"content-length": 207
},
"data": "{\"resource\":\"a35cf79864a845ca9a3bf6aee59bb4d7\",\"user_id\":\"465432224\",\"topic\":\"messages\",\"application_id\":3486171129139063,\"attempts\":1,\"sent\":\"2019-10-17T17:15:30.279Z\",\"received\":\"2019-10-17T17:15:30.259Z\"}"
},
"response": {
"req_time": 260,
"http_code": 400,
"body": "[object Object]",
"headers": {
"date": "Thu, 17 Oct 2019 17:15:30 GMT",
"content-length": "141",
"content-type": "text/plain; charset=utf-8",
"connection": "close"
}
}
},
{
"_id": "5da87eea5b35b865994cfd7d",
"resource": "/items/MLA820048955",
"user_id": 468424240,
"topic": "items",
"application_id": 3486171129139063,
"attempts": 1,
"sent": "2019-10-17T14:47:06.414Z",
"received": "2019-10-17T14:47:06.375Z",
"request": {
"url": "https://YOUR_URL",
"headers": {
"accept": "application/json",
"content-type": "application/json",
"content-length": 189
},
"data": "{\"resource\":\"/items/MLA820048955\",\"user_id\":468424240,\"topic\":\"items\",\"application_id\":3486171129139063,\"attempts\":1,\"sent\":\"2019-10-17T14:47:06.414Z\",\"received\":\"2019-10-17T14:47:06.375Z\"}"
},
"response": {
"req_time": 498,
"http_code": 200,
"body": "[object Object]",
"headers": {
"content-type": "application/json; charset=utf-8",
"date": "Thu, 17 Oct 2019 14:47:06 GMT",
"content-length": "190",
"connection": "close"
}
}
}
}
Campos do recurso
resource: recurso completo, com o tópico pelo qual a notificação foi gerada.
user_id: usuário que o gerou.
topic: questão de referência da notificação.
request: consulta feita ao URL das notificações, juntamente com seus respectivos URL, header e dados.
response: resposta do servidor que está recebendo a notificação.
http_code: código HTTP retornado por esse servidor, para que ele não tente novamente, você deve enviar um 200.
Filtro tópico
Existe a possibilidade de filtrar por tópico, é muito útil quando você tem um grande número de notificações.
Chamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/myfeeds?app_id=$APP_ID&topic=$TOPIC
Exemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/myfeeds?app_id=3486171129139063&topic=payments
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/myfeeds?app_id=$APP_ID&offset=1&limit=5