SMS

Migrer depuis Twilio

La majeure partie d’une intégration Twilio Programmable Messaging se transpose en changeant l’URL de base, la clé et le format de requête.

Migrer depuis Twilio

La majeure partie d'une intégration Twilio Programmable Messaging se transpose en changeant l'URL de base, la clé et le format de requête. Avec le SDK, honkio.messages.send() remplace messages.create() du client Twilio.

TwilioHonkIORemarques
https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.jsonhttps://api.honkio.ca/v1/messagesL'authentification HTTP Basic de Twilio (Account SID et Auth Token) devient une seule clé API Bearer, et les champs encodés en formulaire deviennent un corps JSON.
To, From, Bodyto, from, bodyMême logique, noms de champs en minuscules dans un corps JSON.
StatusCallback (per message)POST /v1/webhooks (account level)Enregistrez un point de terminaison et les événements qu'il doit recevoir une seule fois; il n'y a pas d'URL de rappel par message.
queued, sending, sent, delivered, undelivered, failed, receivedQUEUED, SENDING, SENT, DELIVERED, UNDELIVERED, FAILED, RECEIVEDLes états courants se retrouvent, en majuscules. Les états accepted, scheduled, receiving, read, canceled et partially_delivered de Twilio n’ont pas d’équivalent.
MessagingServiceSidnon offertChaque envoi nomme directement un de vos propres numéros comme from.
MediaUrl (MMS)non offertSMS seulement; il n'y a pas de champ pour joindre un média.
Per number webhook URL, form encoded, X-Twilio-Signaturemessage.received webhook, X-HonkIO-SignatureUn seul webhook au niveau du compte reçoit les textos entrants pour chaque numéro, en JSON.
Advanced Opt-Out keywordsintégréSTOP, START et HELP, ainsi que leurs variantes courantes, sont reconnus automatiquement sur chaque numéro; rien à configurer.
POST /IncomingPhoneNumbers.jsonPOST /v1/phone-numbersNuméros canadiens seulement; cherchez d'abord avec GET /v1/phone-numbers/search.

Différences connues

  • Les destinataires doivent être des numéros canadiens; une destination non canadienne est refusée avant toute facturation.
  • Le consentement LCAP est requis avant l'envoi : un consentement manquant ou expiré, ou un désabonnement enregistré, est refusé avec 451 NO_CONSENT, CONSENT_EXPIRED ou OPT_OUT_BLOCKED.
  • L'envoi en direct exige un numéro de téléphone du compte vérifié; un envoi en direct avant cela est refusé avec 403 ACCOUNT_NOT_VERIFIED.
  • Les clés de test (mk_test_) simulent l'envoi : rien n'atteint l'opérateur et rien n'est facturé.
  • La facturation se fait par segment SMS, en dollars canadiens.
  • Les données sont stockées au Canada.