Mocks para mensagens por vendas de itens com FULL

Importante:
Os recursos produtivos estarão disponíveis em:
Mercado Libre Chile e Brasil: a partir de 19 de oututbro de 2020
Mercado Libre Argentina, Colombia e México: a partir de 5 de novembro de 2020
Lembre-se de atualizar sua integração antes das datas mencionadas, pois os vendedores não poderão iniciar a conversa na venda de itens com FULL e os blocos de mensagens permanecerão.
Apenas para MLB, depois que o produto for entregue, o comprador terá as mensagens disponíveis e o vendedor poderá responder quando o comprador entrar em contato.

Com estes recursos, você poderá começar a integrar a nova funcionalidade de mensagens de pós-venda para vendas de itens com FULL (fulfillment), em que o vendedor deverá escolher um motivo para iniciar a conversa com o comprador e terá um conjunto de mensagens disponíveis para envio. Certifique-se de que seus vendedores usem mensagens para ajudar os compradores a concluir seus pedidos e responder suas perguntas!
A seguir, mostramos o pack_id e o access token teste junto com os mocks para obter a árvore de motivos e verificar a quantidade de mensagens disponíveis que o vendedor pode enviar ao comprador.

Além você pode olhar o nosso webinar:




Conteúdos

→Template disponível dependendo segundo país
→Consultar as opções de comunicação disponíveis por pack_id
→Consultar a quantidade disponível de mensagens pós-venda por pack_id
→Enviar mensagem de acordo com a opção
    ↳Option_id REQUEST_BILLING_INFO
    ↳Option_id SEND_INVOICE_LINK
    ↳Option_id OTHER
→Exemplos de mensagens de erro


Pack_id Descrição
2000000000000000 pack_id para MLA e MCO
2000000000000001 pack_id para MLM
2000000000000002 pack_id para MLB e MLC
2000000000000004 Conversa bloqueada, causa: fulfillment
2000000000000006 Há outra solicitação bloqueando esta operação.
2000000000000008 Texto inválido.
2000000000000010 Sem cap disponível, o option já foi executado.
Notas:
- O único access_token permitido para os mocks é: 123123123
- Os packs id permitidos e suas descrições mencionadas acima estão disponíveis apenas para teste de funcionalidade antes da implementação.

Template disponível dependendo segundo país

O template é um texto pré-definido disponibilizado pelo Mercado Livre, que o vendedor não pode modificar. Apenas aplica para a opção “REQUEST_BILLING_INFO”.

MLA:

Para adjuntarte la factura de tu compra necesito los siguientes datos:

  • Nombre y apellido
  • DNI
  • Domicilio
  • Código postal

MLM:

Para adjuntarte la factura de tu compra necesito los siguientes datos:

  • Nombre y apellido
  • RFC
  • Domicilio
  • Código postal

MCO:

Para adjuntarte la factura de tu compra necesito los siguientes datos:

  • Nombre y apellido
  • Tipo y número de documento
  • Email
  • Domicilio
  • Código postal
  • Código de municipio
  • Código de departamento

Consultar as opções de comunicação disponíveis por pack_id

Importante:
O recurso produtivo será /messages/action_guide/packs/$PACK_ID?access_token=$ACCESS_TOKEN e a resposta não mudará.

Chamada:

curl -X GET https://api.mercadolibre.com/messages_mock/action_guide/packs/$PACK_ID?access_token=$ACCESS_TOKEN

Ejemplo para MLA e MCO:

curl -X GET https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000000?access_token=123123123

Resposta:

{
    "options": [
        {
            "id": "REQUEST_BILLING_INFO",
            "internal_description": "This is an example...",
            "enabled": true,
            "type": "template",
            "templates": [
                {
                    "id": "TEMPLATE___REQUEST_BILLING_INFO___1",
                    "vars": null
                }
            ],
            "actionable": true,
            "child_options": null,
            "cap_available": 1
        },
        {
            "id": "OTHER",
            "internal_description": "This is an example...",
            "enabled": true,
            "type": "free_text",
            "templates": null,
            "actionable": true,
            "char_limit": 100,
            "child_options": null,
            "cap_available": 1
        }
    ]
}

Exemplo para MLM:

curl -X GET https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000001?access_token=123123123

Resposta:

{
   "options":[
      {
         "id":"REQUEST_BILLING_INFO",
         "internal_description":"This is an example...",
         "enabled":true,
         "type":"template",
         "templates":[
            {
               "id":"TEMPLATE___REQUEST_BILLING_INFO___1",
               "vars":null
            }
         ],
         "actionable":true,
         "child_options":null,
         "cap_available":1
      },
      {
         "id":"SEND_INVOICE_LINK",
         "internal_description":"This is an example...",
         "enabled":true,
         "type":"free_text",
         "templates":null,
         "actionable":true,
         "char_limit":350,
         "child_options":null,
         "cap_available":1
      },
      {
         "id":"OTHER",
         "internal_description":"This is an example...",
         "enabled":true,
         "type":"free_text",
         "templates":null,
         "actionable":true,
         "char_limit":100,
         "child_options":null,
         "cap_available":1
      }
   ]
}

Campos da resposta

char_limit: é o número máximo de caracteres aceitos na opção.


Exemplo para MLB e MLC:

curl -X GET https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000002?access_token=123123123

Resposta:

{
    "options": [
    	    {
	        "id": "OTHER",
	        "internal_description": "This is an example...",
	        "enabled": true,
	        "type": "free_text",
	        "actionable": true,
	        "child_options": null,
	        "cap_available": 1
	    }
	]
}

Em breve, atualizaremos os resultados das opções.


Exemplo de usuário não permitido:

curl -X GET https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000002?access_token=987654321

Resposta:

{
   "cause": "",
   "error": "forbidden",
   "message": "You are not allowed to access the information of the pack 2000000000000002",
   "status": 403
}

Consultar a quantidade disponível de mensagens pós-venda por pack_id

Dentro da árvore de motivos, as categorias podem ter a opção de enviar uma mensagem ao comprador e você pode reconhecê-los com o campo cap_available:

  • Se for 0 (zero), o vendedor não poderá enviar mensagens ao comprador
  • Se for 1 (um) ou mais, indique a quantidade disponível para envio.

Lembre-se que a mensagem terá caracteres limitados e manterá as moderações de uma mensagem normal (apenas para OTHER e SEND_INVOICE_LINK).
Caso o vendedor tenha consumido o limite de mensagens disponíveis para envio, se ele entrar novamente em uma seção de campo aberto (OTHER), a resposta retornará um erro de que não é mais possível fazê-lo, e ele deverá aguardar o resposta do comprador.


Chamada:

curl -X GET https://api.mercadolibre.com/messages_mock/action_guide/packs/$PACK_ID/caps_available?access_token=$ACCESS_TOKEN
Importante:
O recurso produtivo será /messages/action_guide/packs/$PACK_ID/caps_available?access_token=$ACCESS_TOKEN e a resposta não mudará.

Ejemplo para MLA e MCO:

curl -X GET https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000000/caps_available?access_token=123123123

Resposta:

[
    {
        "option_id": "REQUEST_BILLING_INFO",
        "cap_available": 1
    },
    {
        "option_id": "OTHER",
        "cap_available": 1
    }
]

Ejemplo para MLM:

curl -X GET https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000001/caps_available?access_token=123123123

Resposta:

[
    {
        "option_id": "REQUEST_BILLING_INFO",
        "cap_available": 1
    },
    {
        "option_id": "SEND_INVOICE_LINK",
        "cap_available": 1
    },
    {
        "option_id": "OTHER",
        "cap_available": 1
    }
]

Ejemplo para MLB e MLC:

curl -X GET https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000002/caps_available?access_token=123123123

Resposta:


[
    {
        "option_id": "OTHER",
        "cap_available": 1
    }
]

Exemplo de usuário não permitido:

curl -X GET https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000002/caps_available?access_token=987654321

Resposta:

   {
    "cause": "",
    "error": "forbidden",
    "message": "You are not allowed to access the information of the pack 2000000000000002",
    "status": 403
}

Enviar mensagem de acordo com a opção

Após procurar as opções disponíveis para o pack_id, você deve enviar a mensagem como o seguinte POST. Lembre-se de que, após a resposta do comprador, as seguintes mensagens devem ser enviadas diretamente com o post /messages.
Conheça os option_id disponibilizados pelos sites:


Sitio / Option_id “REQUEST_BILLING_INFO”:
Solicitar informações de faturamento
“SEND_INVOICE_LINK”:
Enviar link para faturamento
“OTHER”:
Outros, campo livre
MLA
MLB
MLM
MCO
MLC

Option_id REQUEST_BILLING_INFO

Exemplo:

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000000/option?access_token=123123123 -H 'Content-Type: application/json'  
{
    "option_id": "REQUEST_BILLING_INFO",
    "template_id": "TEMPLATE___REQUEST_BILLING_INFO___1"
}

Resposta de mensagem enviada:

{
    "id": "94353d192b9640e8b1ed3c77aa406f39",
    "to": {
        "user_id": 618491100,
        "name": "Test Test"
    },
    "status": "available",
    "text": "Este es un template para solicitar datos de facturación: ",
    "message_date": {
        "received": "2020-09-09T19:07:24.890Z",
        "available": "2020-09-09T19:07:25.056Z",
        "notified": null,
        "created": "2020-09-09T19:07:24.890Z",
        "read": null
    },
    "message_moderation": {
        "status": "clean",
        "reason": null,
        "source": "online",
        "moderation_date": "2020-09-09T19:07:25.056Z"
    }
}
Nota:
No campo text será o conteúdo enviado correspondente ao template.

Exemplo:

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000000/option?access_token=123123123 -H 'Content-Type: application/json'  \
{
    "option_id": "SEND_INVOICE_LINK",
    "text": "Texto de ejemplo..."
}

Enviar no text o link para gerar a nota fiscal.

Respuesta de mensaje enviado:

{
    "id": "94353d192b9640e8b1ed3c77aa406f39",
    "to": {
        "user_id": 618491100,
        "name": "Test Test"
    },
    "status": "available",
    "text": "Para facturar su pedido, puede hacer click en el siguiente enlace:  Facturar pedido ",
    "message_date": {
        "received": "2020-09-09T19:07:24.890Z",
        "available": "2020-09-09T19:07:25.056Z",
        "notified": null,
        "created": "2020-09-09T19:07:24.890Z",
        "read": null
    },
    "message_moderation": {
        "status": "clean",
        "reason": null,
        "source": "online",
        "moderation_date": "2020-09-09T19:07:25.056Z"
    }
}

Option_id OTHER

Chamada:

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/$PACK_ID/option?access_token=$ACCESS_TOKEN -H 'Content-Type: application/json'  \
{
    "option_id": "OTHER",
    "text": "Texto de ejemplo..."
}
Importante:
O recurso produtivo será /messages/action_guide/packs/$PACK_ID/option?access_token=$ACCESS_TOKEN e a resposta não mudará.

Exemplo de mensagem enviada com sucesso:

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000000/option?access_token=123123123 -H 'Content-Type: application/json'  \
{
    "option_id": "OTHER",
    "text": "Cómo estás María, estaría necesitando de..."
}

Resposta de mensagem enviada:

{
    "id": "94353d192b9640e8b1ed3c77aa406f39",
    "to": {
        "user_id": 618491100,
        "name": "Test Test"
    },
    "status": "available",
    "text": "Cómo estás María, estaría necesitando de...",
    "message_date": {
        "received": "2020-09-09T19:07:24.890Z",
        "available": "2020-09-09T19:07:25.056Z",
        "notified": null,
        "created": "2020-09-09T19:07:24.890Z",
        "read": null
    },
    "message_moderation": {
        "status": "clean",
        "reason": null,
        "source": "online",
        "moderation_date": "2020-09-09T19:07:25.056Z"
    }
}
Nota:
O campo text tem o conteúdo enviado no corpo da chamada.

Exemplo de mensagem moderada:

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000002/option?access_token=123123123 -H 'Content-Type: application/json'  \
{
    "option_id": "OTHER",
    "text": "Cómo estás María, estaría necesitando de..."
}

Resposta com mensagem moderada:

{
    "id": "94353d192b9640e8b1ed3c77aa406f39",
    "to": {
        "user_id": 618491100,
        "name": "Test Test"
    },
    "status": "moderated",
    "text": "Cómo estás María, estaría necesitando de...",
    "message_date": {
        "received": "2020-09-09T19:02:11.438Z",
        "available": null,
        "notified": null,
        "created": "2020-09-09T19:02:11.438Z",
        "read": null
    },
    "message_moderation": {
        "status": "rejected",
        "reason": "out_of_place_language",
        "source": "online",
        "moderation_date": "2020-09-09T19:02:11.697Z"
    }
}

Campos da resposta

status: status da mensagem. Por exemplo: available o moderated
message_moderation:
status: status de moderação de mensagem.
reason: razão para moderação. Por exemplo: out_of_place_language moderação para linguagem imprópria.


Exemplos de mensagens de erro

Por exceder o limite de 100 caracteres (option OTHER)

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000000/option?access_token=123123123 -H 'Content-Type: application/json'  
{
    "option_id": "OTHER",
    "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
}

Resposta:

{
    "cause": "",
    "error": "bad_request",
    "message": "The text is invalid.",
    "status": 400
}

Por quantidade (cap) não disponível

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000010/option?access_token=123123123 -H 'Content-Type: application/json'  \
{
    "option_id": "OTHER",
    "text": "Cómo estás María, estaría necesitando de..."
}

Resposta:

{
    "cause": "",
    "error": "limit_exceeded",
    "message": "You are not allowed to execute the option OTHER again.",
    "status": 403
}

Por option_id inválido

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000000/option?access_token=123123123 -H 'Content-Type: application/json'  \
{
    "option_id": "HOLA",
    "text": "Cómo estás María, estaría necesitando de..."
}

Resposta:

{
    "cause": "",
    "error": "not_found",
    "message": "The option selected is not valid.",
    "status": 404
}

Por outra solicitação bloqueando o recurso

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000006/option?access_token=123123123 -H 'Content-Type: application/json'  \
{
    "option_id": "OTHER",
    "text": "Cómo estás María, estaría necesitando de..."
}

Resposta:

{
    "cause": "",
    "error": "conflict",
    "message": "There is another request locking this operation.",
    "status": 409
}

Esse erro acontece porque o vendedor executa várias opções simultâneas na mesma venda y, para evitar que sejam feitos mais caps do que os disponíveis, criamos um “Lock” do serviço no vendedor e na venda, que é liberado ao final de execução da opção.


Por pack_id com mensagens bloqueadas

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000004/option?access_token=123123123 -H 'Content-Type: application/json'  
{
    "option_id": "OTHER",
    "text": "Cómo estás María, estaría necesitando de..."
}

Resposta:

{
   "cause": "blocked_by_fulfillment",
   "error": "forbidden",
   "message": "The conversation is blocked.",
   "status": 403
}

O vendedor não está autorizado para consultar as informações desse pack id

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000004/option?access_token=987654321 -H 'Content-Type: application/json'  
{
    "option_id": "OTHER",
    "text": "Cómo estás María, estaría necesitando de..."
}

Resposta:

{
    "status_code": 403,
    "code": "forbidden",
    "message": "You are not allowed to access the information of the pack 2000000000000000.",
}

Por o template_id errado

curl -X POST https://api.mercadolibre.com/messages_mock/action_guide/packs/2000000000000000/option?access_token=123123123 -H 'Content-Type: application/json'  
{
    "option_id": "REQUEST_BILLING_INFO",
    "template_id": "TEMPLATE"
}

Resposta:

{
   "cause":"",
   "error":"bad_request",
   "message":"The template TEMPLATE is invalid.",
   "status":400
}

Erro 500:

{
    "status_code": 500,
    "code": "internal_server_error",
    "message": "Internal server error.",
}

Voltar: Mensagens de pós venda.

ou registre-se para receber as últimas notícias sobre nossa API