Projet

Général

Profil

Development #19663

ajouter un connecteur SMS twilio

Ajouté par Thomas Noël il y a plus de 6 ans. Mis à jour il y a presque 4 ans.

Statut:
Fermé
Priorité:
Bas
Assigné à:
Version cible:
-
Début:
26 octobre 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Parce qu'ils sont connus pour savoir envoyer des SMS "correctement" dans le monde entier : https://www.twilio.com/sms


Fichiers

Révisions associées

Révision bb0dec8e (diff)
Ajouté par Nicolas Roche il y a presque 4 ans

base: add missing migrations (#19663)

Révision 6c83551c (diff)
Ajouté par Nicolas Roche il y a presque 4 ans

sms: add a twilio connector (#19663)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

À noter qu'ils savent aussi gérer des robots vocaux, envoyer/recevoir SMS et MMS1 et même gérer une conversation par SMS (tout simplement avec des cookies HTTP, https://support.twilio.com/hc/en-us/articles/223136287-How-do-Twilio-cookies-work-) c'est vraiment pas mal.

1 On peut imaginer un fix my street à base de MMS, même pas besoin d'une app:

Usager -MMS-> Ville: photo + description
Ville -SMS-> Usager: quel est l'adresse ?
Usager -SMS-> Ville: 20 rue machin -> on géo-localise on ouvre la demande en anonyme avec juste un numéro de contact
Ville -SMS-> Usager: problème résolu

#5

Mis à jour par Nicolas Roche il y a environ 4 ans

Patch qui propose un simple connecteur SMS.
Je suis embêté car je n'ai pas réussi à ajouter de test :
  • Twilio me retourne un objet python dont je ne sais pas quoi faire.
  • On ne passe pas par l'objet request redéfini par passerelle.
    La lirairie est installée par pip : dans un premier temps ça permet de ne pas avoir à backporter le paquet.
#6

Mis à jour par Frédéric Péters il y a environ 4 ans

Je serais pour ne pas utiliser cette dépendance, à regarder la documentation, il y a un exemple avec curl,

EXCLAMATION_MARK='!'
curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json \
--data-urlencode "Body=This will be the body of the new message$EXCLAMATION_MARK" \
--data-urlencode "From=+15017122661" \
--data-urlencode "To=+15558675310" \
-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token

https://www.twilio.com/docs/usage/requests-to-twilio?code-sample=code-post-a-new-message-via-sms&code-language=curl&code-sdk-version=6.x

et du coup ça ne me semble vraiment pas compliqué de faire pareil nativement, ça aura comme avantage de s'intégrer dans nos logs parce qu'on utilisera le self.requests et de retirer les questions sur le packaging de la dépendance.

#7

Mis à jour par Nicolas Roche il y a environ 4 ans

(fait)

#8

Mis à jour par Nicolas Roche il y a presque 4 ans

(basé sur #42230)

J'ai ajouté l'appel à clean_numbers(), en retouchant un peu les numéros après :

# set destinations phone number in E.164 format
# [+][country code][phone number including area code]

#9

Mis à jour par Frédéric Péters il y a presque 4 ans

Tu peux taper la version à jour dans cette branche ?

Je dirais qu'il reste à trier correctement INSTALLED_APPS et puis c'est ok.

#11

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Statut changé de Solution proposée à En cours
  • Patch proposed changé de Oui à Non

Ça me semble devoir être actualisé, particulièrement par rapport à #42427.

#13

Mis à jour par Frédéric Péters il y a presque 4 ans

C'est bon c'était déjà fait : https://dev.entrouvert.org/issues/19663#note-8

Je vois dans la branche, https://git.entrouvert.org/passerelle.git/commit/?h=wip/19663-sms-twilio-connector&id=c4db23a862e8e8f50528e23641fb4fee06679cce

+    default_country_code = models.CharField(verbose_name=_('Default country code'), max_length=3,
+                                            default=u'33')
+    default_trunk_prefix = models.CharField(verbose_name=_('Default trunk prefix'), max_length=2,
+                                            default=u'0')
+    # FIXME: add regexp field, to check destination and from format

et je me dis que non ça n'est pas à jour, que default_... ont été déplacés dans passerelle/sms/models.py.

#14

Mis à jour par Nicolas Roche il y a presque 4 ans

Oui, désolé j'ai oublié de supprimer ces 3 lignes.

#15

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Statut changé de Solution proposée à Solution validée

Ok.

#16

Mis à jour par Nicolas Roche il y a presque 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 6c83551c6e0d1467a17d066226ecd109a08ec0e0
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Thu Apr 9 20:09:55 2020 +0200

    sms: add a twilio connector (#19663)

commit bb0dec8e1f47e0cdffc300ddc02ef963ee437b22
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Wed Jul 15 10:28:21 2020 +0200

    base: add missing migrations (#19663)
#17

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF