Marcar uma mensagem recebida como lida
Neste trecho de código, você aprenderá como marcar uma mensagem recebida no WhatsApp como read. Marcar uma mensagem como read isso fará com que apareçam marcas de verificação azuis ao lado dessa mensagem na interface do WhatsApp, em vez de marcas de verificação cinzas.
Para marcar uma mensagem recebida como lida, basta enviar um PATCH solicitação ao objeto de mensagem armazenado nos servidores da Vonage, identificando a mensagem específica por meio de seu UUID. Como os objetos de mensagem são geolocalizados, é necessário utilizar uma URL específica para a região na solicitação; essa URL estará presente no corpo da mensagem recebida a ser marcada como read.
IMPORTANTE: Se um cliente não tiver enviado uma mensagem para você primeiro, na primeira vez que você enviar uma mensagem a um usuário, o WhatsApp exige que a mensagem contenha um modelo. Isso é explicado com mais detalhes no Tópico: Entendendo o WhatsApp.
Exemplo
Veja a seguir a descrição de todas as variáveis utilizadas em cada trecho de código:
| Chave | Descrição |
|---|---|
JWT | Used to authenticate your request. See |
VONAGE_APPLICATION_ID | The Vonage Application ID. |
VONAGE_PRIVATE_KEY_PATH | Private key path. |
GEOSPECIFIC_MESSAGES_API_URL | The URL for the Geo-specific Messages API endpoint. One of |
GEOSPECIFIC_VONAGE_API_HOST | The hostname for the Geo-specific API endpoint. One of |
MESSAGE_UUID | The UUID of the specific message. |
NOTA: Não use um espaço à esquerda + ou 00 Ao digitar um número de telefone, comece com o código do país; por exemplo, 447700900000.
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
Escreva o código
Adicione o seguinte ao arquivo ` mark-as-read.sh`:
curl -X PATCH "${GEOSPECIFIC_MESSAGES_API_URL}/${MESSAGES_MESSAGE_ID}" \
-H "Authorization: Bearer "$JWT\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d $'{
"status": "read",
}'
Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
Adicione o seguinte ao arquivo ` build.gradle`:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crie um arquivo chamado ` MarkAsRead ` e adicione o código a seguir ao método ` main `:
val client = Vonage {
applicationId(VONAGE_APPLICATION_ID)
privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}Escreva o código
Adicione o seguinte ao método ` main ` do arquivo ` MarkAsRead `:
client.messages.existingMessage(MESSAGES_MESSAGE_ID, MESSAGES_GEOSPECIFIC_API_HOST).markAsRead()Execute seu código
Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.kt.messages.whatsapp ` pelo pacote que contém ` MarkAsRead`:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
Adicione o seguinte ao arquivo ` build.gradle`:
implementation 'com.vonage:server-sdk:9.3.1'Crie um arquivo chamado ` MarkAsRead ` e adicione o código a seguir ao método ` main `:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Escreva o código
Adicione o seguinte ao método ` main ` do arquivo ` MarkAsRead `:
client.getMessagesClient().ackInboundMessage(MESSAGES_MESSAGE_ID, ApiRegion.API_EU);Execute seu código
Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.messages.whatsapp ` pelo pacote que contém ` MarkAsRead`:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
Install-Package VonageEscreva o código
Adicione o seguinte ao arquivo ` MarkAsRead.cs`:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var vonageClient = new VonageClient(credentials);
await vonageClient.MessagesClient.UpdateAsync(WhatsAppUpdateMessageRequest.Build(MESSAGES_MESSAGE_ID));Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
composer require vonage/clientCrie um arquivo chamado ` send-file.php ` e insira o seguinte código:
$keypair = new \Vonage\Client\Credentials\Keypair(
file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH),
VONAGE_APPLICATION_ID
);
$client = new \Vonage\Client($keypair);Escreva o código
Adicione o seguinte ao arquivo ` send-file.php`:
$fileObject = new \Vonage\Messages\MessageObjects\FileObject(
'https://example.com/file.pdf',Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
pip install vonage python-dotenvEscreva o código
Adicione o seguinte ao arquivo ` mark-as-read.py`:
client.messages.mark_whatsapp_message_read("MESSAGES_MESSAGE_ID")Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
gem install vonageCrie um arquivo chamado ` mark-as-read.rb ` e insira o seguinte código:
client = Vonage::Client.new(
application_id: VONAGE_APPLICATION_ID,
private_key: VONAGE_PRIVATE_KEY,
api_host: GEOSPECIFIC_VONAGE_API_HOST
)Escreva o código
Adicione o seguinte ao arquivo ` mark-as-read.rb`:
client.messaging.update(
message_uuid: MESSAGES_MESSAGE_ID,
status: 'read'
)Execute seu código
Salve este arquivo no seu computador e execute-o:
Experimente
Ao executar o código, é enviada uma solicitação para marcar a mensagem recebida especificada como lida.