Ir para o conteúdo

Resolução de problemas

1. Erros no envio do pacote de requisições

Este tipo de erro ocorre na requisição da solicitação de envio de mensagens e impede a internalização do pedido. Neste caso a aplicação cliente recebe uma resposta com erro e não o id da requisição. O erro deve ser corrigido para tentativa posterior.

Mais informações sobre como fazer o envio das mensagens e processar as respostas nos guias rápidos Como enviar mensagens de notificação (com template).

Template inexistente

Aplicação envia nome de template inexistente na solicitação de envio de mensagens de notificação. Neste caso o pacote de requisições nem é internalizado e a aplicação recebe uma resposta contendo uma mensagem de erro conforme abaixo.

Erro de template inexistente

{ 
    [
        "O template nome-template-inexistente não foi encontrado na lista de templates cadastrados."
    ]
}

Um template deve ser cadastrado na conta da aplicação cliente, conforme explicado nos Requisitos para envio de mensagens, antes de ser usado no envio de mensagens.

Id de Mídia inválido

Aplicação envia uma mensagem de notificação ou retorno que usa mídia no cabeçalho mas enviou uma id de mídia incorreto, referente a uma mídia não cadastrada na Cloud API da Meta. Neste caso a aplicação recebe uma resposta contendo uma mensagem de erro conforme abaixo. Este erro também ocorre quando a aplicação envia uma mensagem informando um cabeçalho de tipo diferente do tipo de mídia informado. Um exemplo é o uso de um cabeçalho do tipo Document, mas o id da mídia informado corresponde a uma imagem.

Erro de id de mídia inválido

{
    [
        "Não existe mídia com o id informado."
    ]
}

Mensagem de Notificação

Neste caso a aplicação cliente deve informar um id de mídia coerente com o template utilizado, seja trocando o id da mídia ou o nome do template.

Mensagem de Retorno

Neste caso a aplicação cliente deve informar um id de mídia coerente com o tipo do cabeçalho, seja trocando o id da mídia ou o tipo do cabeçalho.

Campos obrigatórios não enviados no payload

Se no payload da solicitação do envio de mensagens de notificação estiver faltando algum campo obrigatório, como por exemplo o nome do template, a aplicação cliente receberá uma resposta com http status code 400, indicando requisição malformada.

A aplicação cliente deve incluir todos os campos obrigatórios do payload, conforme a documentação Validação de pacote de requisições.

2. Erros na chamada à Cloud API da Meta para envio de mensagem

Este tipo de erro ocorre após a internalização do pedido de envio de mensagens. O idRequisicao foi gerado, enviado na resposta para a aplicação cliente, mas aconteceu um erro na hora de enviar a mensagem usando a Cloud API da Meta. A aplicação cliente toma conhecimento deste erro ao consultar o status do envio das mensagens e então deve decidir o que fazer para consertar.

A mensagem de erro estará contida no atributo mensagemErro da entrada específica para o destinatário em questão dentro do atributo requisicoesEnvio da resposta da consulta de status. Mais detalhes sobre como fazer esta consulta no guia rápido Como consultar status de envio de mensagens.

Enviar template incoerente com o payload de dados

Uso de template com cabeçalho de mídia sem informar o id da mesma

Um erro que pode acontecer é a aplicação cliente enviar uma solicitação de envio informando um template que usa mídia no cabeçalho e não enviar valor do id da mídia a ser inserido no cabeçalho. Neste caso o status de envio de uma mensagem para um destinatário será de falha e a mensagem de erro será como esta abaixo.

Erro de id de mídia não informado para cabeçalho de mídia

[Error status code: 400]; (#132012) Parameter format does not match format in the created template; header: Format mismatch, expected DOCUMENT, received UNKNOWN

Caso no payload a aplicação cliente envie incorretamente uma lista de parâmetros de texto para um template com cabeçalho do tipo mídia, o erro muda para a mensagem abaixo:

Erro de parâmetros de texto enviados para cabeçalho de mídia

[Error status code: 400]; (#132012) Parameter format does not match format in the created template; header: header: Format mismatch, expected DOCUMENT, received TEXT

Enviar template coerente com payload de dados, mas incorreto

É possível que a aplicação cliente tenha dois templates parecidos no que se refere a parâmetros e tipos de cabeçalho e ao solicitar o envio de mensagens a aplicação informe o nome de template diferente do desejado. Neste caso não há identificação de erro na solicitação nem no status e mensagem provavelmente será entregue ao usuário final. O que pode ser feito caso tenha suspeita que este problema aconteceu é consultar o status do envio e verificar se o template utilizado no envio era o template correto.

Enviar parâmetros de corpo incorretos

A aplicação cliente envia um pacote de requisições informando um template que tem número de parâmetros no corpo diferente do número de parâmetros enviados no payload. Neste caso a mensagem de erro registrada no status de envio para o destinatário específico será parecida com o exemplo abaixo.

Erro de número de parâmetros no paylod diferente do template

[Error status code: 400]; (#132000) Number of parameters does not match the expected number of params; body: number of localizable_params (1) does not match the expected number of params (2)

Neste exemplo específico o corpo de texto do template declarou dois parâmetros, mas apenas um foi enviado no payload.

Erro de tamanho do texto do cabeçalho

O texto do cabeçalho não pode exceder o limite de 60 caracteres, seja um texto estático ou dinâmico. No caso do texto dinâmico este limite inclui a aplicação do parâmetro ao texto parametrizado. Se a interpolação do parâmetro fizer com que o tamanho final seja maior que 60, um erro como este abaixo pode ser recebido ao tentar enviar a mensagem.

Erro de tamanho máximo do texto de cabeçalho excedido

[Error status code: 400]; (#132005) Translated text too long; header: Length of the parameters and the template text is 73, which exceeds the allowed length of 60