Envoyer un message d'image
Dans cet extrait de code, vous apprendrez à envoyer un message image WhatsApp à l'aide de l'API Messages. Pour WhatsApp, la taille maximale des médias sortants est de 64 Mo.
IMPORTANT : Si un client ne vous a pas envoyé de message au préalable, la première fois que vous envoyez un message à un utilisateur, WhatsApp exige que le message contienne un modèle. Ceci est expliqué plus en détail dans la section Comprendre le sujet de WhatsApp.
Exemple
Vous trouverez ci-dessous la description de toutes les variables utilisées dans chaque extrait de code :
| Clé | Description |
|---|---|
VONAGE_APPLICATION_ID | The Vonage Application ID. |
VONAGE_APPLICATION_PRIVATE_KEY_PATH | Private key path. |
VONAGE_PRIVATE_KEY_PATH | Private key path. |
BASE_URL | For production use the base URL is |
MESSAGES_API_URL | There are two versions of the API, each with their own endpoints. For production the previous Messages API endpoint was |
WHATSAPP_NUMBER | The WhatsApp number that has been allocated to you by Vonage. For sandbox testing the number is 14157386102. |
VONAGE_WHATSAPP_NUMBER | Refer to |
VONAGE_NUMBER | Refer to |
TO_NUMBER | Replace with the number you are sending to. E.g. |
IMAGE_URL | The link to the image file to send. |
IMAGE_CAPTION | The text describing the image being sent. |
NOTE : N'utilisez pas de point de départ + ou 00 lorsque vous saisissez un numéro de téléphone, commencez par l'indicatif du pays, par exemple, 447700900000.
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Créez un fichier nommé send-image.js et ajoutez le code suivant :
const { Vonage } = require('@vonage/server-sdk');
const { Channels } = require('@vonage/messages');
/**
* It is best to send messages using JWT instead of basic auth. If you leave out
* apiKey and apiSecret, the messages SDK will send requests using JWT tokens
*
* @link https://developer.vonage.com/en/messages/technical-details#authentication
*/
const vonage = new Vonage(
{
applicationId: VONAGE_APPLICATION_ID,
privateKey: VONAGE_PRIVATE_KEY,
},
{
...(MESSAGES_API_URL ? {apiHost: MESSAGES_API_URL} : {}),
},
);Rédiger le code
Ajouter ce qui suit à send-image.js:
vonage.messages.send({
to: MESSAGES_TO_NUMBER,
from: WHATSAPP_SENDER_ID,
channel: Channels.WHATSAPP,
messageType: 'image',
image: {
url: MESSAGES_IMAGE_URL,
},
})
.then((resp) => console.log(resp.messageUUID))
.catch((error) => console.error(error));Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Ajouter ce qui suit à build.gradle:
Créez un fichier nommé SendWhatsappImage et ajoutez le code suivant à la méthode main:
Rédiger le code
Ajouter ce qui suit à la méthode main du fichier SendWhatsappImage:
Exécutez votre code
Nous pouvons utiliser le plugin Applications pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :
Exécutez la commande gradle suivante pour exécuter votre application, en remplaçant com.vonage.quickstart.kt.messages.whatsapp par le paquet contenant SendWhatsappImage:
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Ajouter ce qui suit à build.gradle:
Créez un fichier nommé SendWhatsappImage et ajoutez le code suivant à la méthode main:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Rédiger le code
Ajouter ce qui suit à la méthode main du fichier SendWhatsappImage:
var response = client.getMessagesClient().sendMessage(
WhatsappImageRequest.builder()
.to(MESSAGES_TO_NUMBER).from(WHATSAPP_SENDER_ID)
.url(MESSAGES_IMAGE_URL).caption(MESSAGES_CAPTION)
.build()
);
System.out.println("Message sent successfully. ID: "+response.getMessageUuid());Exécutez votre code
Nous pouvons utiliser le plugin Applications pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :
Exécutez la commande gradle suivante pour exécuter votre application, en remplaçant com.vonage.quickstart.messages.whatsapp par le paquet contenant SendWhatsappImage:
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Créez un fichier nommé send-image.php et ajoutez le code suivant :
$keypair = new \Vonage\Client\Credentials\Keypair(
file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH),
VONAGE_APPLICATION_ID
);
$client = new \Vonage\Client($keypair);Rédiger le code
Ajouter ce qui suit à send-image.php:
$imageObject = new \Vonage\Messages\MessageObjects\ImageObject(
'https://example.com/image.jpg',
'This is a whatsapp image'
);
$whatsApp = new \Vonage\Messages\Channel\WhatsApp\WhatsAppImage(
TO_NUMBER,
FROM_NUMBER,
$imageObject
);
$client->messages()->send($whatsApp);Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Créez un fichier nommé send-image.rb et ajoutez le code suivant :
Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Essayez-le
Lorsque vous exécutez le code, un message image WhatsApp est envoyé au numéro de destination.