https://d226lax1qjow5r.cloudfront.net/blog/blogposts/how-to-send-mms-with-node-js-dr/node_js_mms.png

Comment envoyer des messages MMS avec Node.js

Publié le August 30, 2023

Temps de lecture : 4 minutes

L'API Messages de Vonage vous permet désormais d'envoyer des MMS (Multimedia Messaging Service) à partir de US 10DLCTFN et Shortcode que vous avez dans votre tableau de bord vers d'autres numéros à l'intérieur des États-Unis.

Dans cet article, vous apprendrez à envoyer un MMS à l'aide de Node.js en utilisant le logiciel officiel vonage-node-sdk officielle.

Conditions préalables

Avant de commencer, assurez-vous que vous disposez des éléments suivants :

  • Une compréhension de base de JavaScript et Node.js.

  • Node.js installé sur votre machine.

  • Un nouveau numéro américain capable d'envoyer des SMS et des MMS. Vous pouvez consulter notre Guide des Numbers pour savoir comment acheter un numéro si vous n'en avez pas.

Note: La messagerie MMS ne fonctionne que pour les cas d'utilisation A2P (Application to Person). L'API Messages de Vonage ne peut pas être utilisée pour envoyer des messages MMS d'un numéro virtuel à un autre numéro virtuel.

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.

Pour commencer

Avant de commencer, préparons-nous à réussir en réglant certaines choses dans le tableau de bord de Vonage.

Commençons par créer une nouvelle Applications Messages. Pour ce faire, rendez-vous dans la section section Applications de votre tableau de bord et cliquez sur Créer une nouvelle application.

Your Applications page containing a purple button to create a new applicationYour applications page

Ensuite, vous devrez remplir le formulaire avec le nom de votre application et les URL de webhook requises.

Chaque application de Messages vous demande de spécifier un Status URL et un Inbound URL. Dans les applications plus importantes, prêtes à être mises en production, ces derniers pointeront vers une URL sur votre propre serveur.

Ce n'est pas nécessaire dans ce tutoriel ; vous aurez besoin d'une URL qui peut répondre avec un 200 OK statut. Vous pouvez utiliser un service tel que MockBin ou ngrok pour vous fournir ce dont vous avez besoin.

Pour utiliser MockBin dans cet exemple, vous pouvez :

  1. Aller à la page MockBin et cliquez sur le bouton vert "Create Bin".

  2. Dans le générateur d'emplacements, laissez les informations pré-remplies par défaut qui indiquent Code d'état 200 OK, et en bas, cliquez sur Créer un emplacement.

  3. Cela générera une URL qui ressemblera à https://mockbin.org/bin/2f27d0d5-6f2e-4a39-8dd5-918c4848a4c7/view. Copiez l'URL jusqu'à avant /view et collez-la sur le tableau de bord de Vonage sous la capacité de messages dans l'URL entrante et l'URL de statut, comme indiqué dans l'image ci-dessous.

Messages capability showing inbound and status URLs using MockBinMessage capability with added URLs

Afin d'authentifier les requêtes API en plus de votre clé API et de votre secret API, vous aurez également besoin d'une paire de clés publique/privée, qui peut être générée automatiquement pour vous en cliquant sur le bouton Générer une paire de clés publique/privée comme indiqué dans l'image ci-dessous.

Generate Public and Private KeyGenerate Public and Private Key

Cela permettra de définir une clé publique dans le champ du formulaire et de télécharger un fichier sur votre machine. private.key sur votre machine. Vous devrez placer ce fichier dans le répertoire que nous allons créer prochainement.

Terminez en cliquant sur Créer une nouvelle application. Il vous sera alors demandé de sélectionner un numéro à utiliser avec cette application en cliquant sur le bouton Lien à côté du numéro de votre choix. Si vous n'avez pas de numéros sur votre tableau de bord, vous pouvez les acheter à cet endroit ou via la ligne de commande en utilisant l'outil CLI de Vonage.

Notez le ID de l'application. Il rejoindra votre clé API, votre secret API et votre clé privée dans le code sur lequel nous allons travailler.

Envoi de MMS avec Node.js

Maintenant que l'administration est terminée, créons un script Node.js qui utilisera le SDK Vonage Server pour Node.js pour envoyer un MMS à un numéro prédéfini lorsqu'il est exécuté.

Commencez par créer un nouveau dossier (et si vous ne l'avez pas encore fait, placez-y le fichier private.key généré plus tôt.

Depuis le terminal, exécutez les commandes suivantes pour configurer une nouvelle application Node.js et installer la bibliothèque vonage-node dans un nouveau dossier de votre projet.

npm init -y
npm install -g @vonage/cli

Créez ensuite un nouveau fichier appelé send-mms.jset ouvrez-le dans votre éditeur.

Initialiser une nouvelle instance de Vonage :

const { Messages, MMSImage } = require("@vonage/messages");

const messageClient = new Messages({
  apiKey: VONAGE_API_KEY, // Found in your Vonage Dashboard
  apiSecret: VONAGE_API_SECRET, // Found in your Vonage Dashboard
  applicationId: VONAGE_APPLICATION_ID, // Generated earlier
  privateKey: VONAGE_APPLICATION_PRIVATE_KEY_PATH // Generated earlier it could be e.g. ./private.key
});

Enfin, ajoutez le code permettant d'envoyer le message MMS à l'aide de l'API Messages :

const image = new MMSImage({
  image: {
    url: "https://placekitten.com/200/30",
    caption: "placeholder image"
  },
  to: "TO_NUMBER", // Add the phone number sending the message
  from: "FROM_NUMBER", // Add the phone number receiving the nmessage
});

messageClient
  .send(image)
  .then((resp) => console.log(resp))
  .catch((err) => console.error(error));

Le code ci-dessus envoie un message unique (une image de chat) à n'importe quel numéro que vous ajoutez au premier objet. Si, pour une raison quelconque, l'envoi du message échoue, le problème sera consigné dans la console ; dans le cas contraire, si tout fonctionne comme prévu, le message sera consigné à la place. messageUUID sera enregistré à la place.

Notes:

  1. 'https://placekitten.com/200/300' est une image de remplacement que vous pouvez utiliser.

  2. La valeur de url doit être une URL accessible au public qui renvoie à un fichier.

  3. Les types de fichiers pris en charge sont les suivants.jpg, .jpeg, et .png.

Après cela, dirigez-vous vers le terminal de votre choix et exécutez :

node send-mms.js

Que faire maintenant ?

Il peut arriver, pour diverses raisons, qu'un message MMS ne parvienne pas à son destinataire. Dans le cadre de la prochaine étape de ce projet, vous pouvez donc expérimenter notre Dispatch API et créer un mécanisme de basculement qui vérifie si le MMS a été délivré, et si ce n'est pas le cas, votre application enverra à la place un SMS standard avec un lien vers l'image que vous vouliez inclure.

Faites-nous savoir ce que vous construisez avec MMS

Rejoignez la conversation sur notre Communauté Vonage Slack ou envoyez-nous un message sur X, anciennement connu sous le nom de Twitter.

Partager:

https://a.storyblok.com/f/270183/400x400/3f6b0c045f/amanda-cavallaro.png
Amanda CavallaroDéfenseur des développeurs