Détails techniques de l'API Messages
L'API Messages vous permet d'envoyer et, dans certains cas, de recevoir des messages par SMS, MMS, RCS, Facebook Messenger, Viber et WhatsApp. D'autres canaux pourront être pris en charge à l'avenir.
Remarque : les principaux opérateurs américains ont annoncé leurs exigences concernant une nouvelle norme pour la messagerie d'application à personne (A2P) aux États-Unis, qui s'applique à toute la messagerie sur les numéros de téléphone géographiques à 10 chiffres, également connus sous le nom de 10 DLC. Si vous envoyez ou prévoyez d'envoyer du trafic SMS/MMS à partir d'un indicatif de pays à 10 chiffres +1 vers les réseaux américains, vous devrez enregistrer une marque et une campagne afin d'obtenir l'autorisation d'envoyer des messages. Voir la page 10 Documentation DLC pour plus de détails.
Le diagramme suivant illustre comment l'API Messages de Vonage vous permet d'envoyer des messages pour le cas d'utilisation de votre choix via plusieurs canaux à partir d'un seul point d'extrémité ; par exemple, vous pourriez envoyer des messages de notification via WhatsApp et SMS :
Caractéristiques prises en charge
| Chaîne | Texte sortant | Image sortante | Outbound Audio | Vidéo sortante | Fichier sortant | Modèle pour les appels sortants |
|---|---|---|---|---|---|---|
| SMS | s/o | s/o | s/o | s/o | s/o | |
| MMS | s/o | |||||
| RCS | s/o | s/o | ||||
| Facebook Messenger | ||||||
| Messages professionnels Viber | s/o |
| Chaîne | Texte entrant | Image entrante | Audio entrant | Vidéo entrante | Fichier entrant | Lieu d'arrivée |
|---|---|---|---|---|---|---|
| SMS | s/o | s/o | s/o | s/o | s/o | |
| MMS | s/o | |||||
| RCS | ||||||
| Facebook Messenger | ||||||
| Messages professionnels Viber | s/o | s/o |
Une aide limitée est également fournie pour objets personnalisés:
| Chaîne | Bouton de sortie | Lieu de départ | Contact sortant |
|---|---|---|---|
| SMS | s/o | s/o | s/o |
| MMS | s/o | s/o | s/o |
| RCS | s/o | ||
| Facebook Messenger | s/o | s/o | |
| Messages professionnels Viber | s/o | s/o |
Clé :
= pris en charge. = Pris en charge par le canal, mais pas par Vonage. - n/a = Non pris en charge par le canal.
Notes :
- Pour le RCS, le
customest obsolète. Les messages relatifs aux boutons et à l'emplacement sont pris en charge en tant que Suggestion Chips entext,cardetcarouseltypes de messages
Authentification
L'API Messages prend en charge soit Authentification de base ou JWT (JSON Web Token), mais il existe des différences importantes entre les deux :
- L'authentification de base utilise un code Clé et secret de l'APIet s'authentifie auprès du Account niveau.
- L'authentification JWT utilise un Jeton Web JSON généré à l'aide d'une clé privée et de l'identifiant de l'application. Les JWT prennent en charge des fonctions avancées telles que les listes de contrôle d'accès et l'authentification au niveau de l'application. Applications niveau, ce qui signifie que vous pouvez accéder aux paramètres de votre application Vonage tels que l'application webhooks et Sécuriser les médias entrants.
Nous vous recommandons d'utiliser Authentification JWT en production pour la plupart des cas d'utilisation. L'authentification de base peut suffire lors de l'essai de l'API, par exemple lors de l'utilisation de Messages Sandbox, ou pour certains cas d'utilisation de base (par exemple lorsque les webhooks ne sont pas nécessaires).
Si vous utilisez notre SDK de serveur pour interagir avec l'API Messages, ces derniers peuvent créer automatiquement des JWT pour vous.
Limites de taux
La limite de débit par défaut pour les demandes adressées à l'API Messages est de 75 demandes par seconde et par clé API. Cette limite peut être augmentée au cas par cas. Veuillez vous adresser à votre Account manager ou à votre représentant commercial concernant l'augmentation de votre limite de taux.
Remarque : cette limite s'applique aux demandes adressées à l'API elle-même. Les limites peuvent varier selon les canaux et les réseaux. Le dépassement de la limite pour les demandes d'API entraînera l'émission d'un 429 Réponse HTTP à la demande d'API. En cas de limites de canal ou de réseau, les demandes peuvent être acceptées (et recevoir une réponse de 202 HTTP) s'ils ne dépassent pas la limite de l'API, mais seront ensuite rejetés au niveau du fournisseur. Ce rejet sera communiqué par le biais d'un message Message Status webhook avec un statut de rejected.
API Comptes externes
Les API Comptes externes est utilisé pour gérer vos Account pour Viber Business Messages, Facebook Messenger et WhatsApp lorsque vous utilisez ces canaux avec les API Messages et Dispatch.
Pour commencer
Dans cet exemple, vous devrez remplacer les variables suivantes par des valeurs réelles en utilisant n'importe quelle méthode pratique :
| Clé | Description |
|---|---|
VONAGE_API_KEY | Clé API Vonage qui peut être obtenue auprès de votre Tableau de bord de l'API Vonage. |
VONAGE_API_SECRET | Le secret de l'API de Vonage, qui peut être obtenu auprès de votre Tableau de bord de l'API Vonage. |
FROM_NUMBER | Un numéro de téléphone que vous possédez ou un texte permettant d'identifier l'expéditeur. |
TO_NUMBER | Le numéro du téléphone auquel le message sera envoyé. |
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.
Le code suivant montre comment envoyer un SMS à l'aide de l'API Messages :
Rédiger le code
Ajouter ce qui suit à send-sms-basic-auth.sh:
curl -X POST https://api.nexmo.com/v1/messages \
-u "${VONAGE_API_KEY}:${VONAGE_API_SECRET}" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d $'{
"to": "'${MESSAGES_TO_NUMBER}'",
"from": "'${SMS_SENDER_ID}'",
"channel": "sms",
"message_type": "text",
"text": "This is an SMS sent using the Vonage Messages API."
}'Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
npm install @vonage/server-sdk @vonage/messagesCréez un fichier nommé send-sms-basic-auth.js et ajoutez le code suivant :
const { Vonage } = require('@vonage/server-sdk');
const { Channels } = require('@vonage/messages');
/**
* By leaving out the applicationId and privateKey parameters, the Vonage
* SDK will use basic authentication to authenticate with the Messages API.
*
* @link https://developer.vonage.com/en/messages/technical-details#authentication
*/
const vonage = new Vonage(
{
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
},
{
...(MESSAGES_API_URL ? {apiHost: MESSAGES_API_URL} : {}),
},
);Rédiger le code
Ajouter ce qui suit à send-sms-basic-auth.js:
vonage.messages.send({
messageType: 'sms',
channel: Channels.SMS,
text: 'This is an SMS text message sent using the Messages API',
to: MESSAGES_TO_NUMBER,
from: SMS_SENDER_ID,
})
.then(({ messageUUID }) => console.log(messageUUID))
.catch((error) => console.error(error));Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :