PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Utilisation de Webhook - Allmysms
Utilisation de Webhook - Allmysms
Iniciado por Alexandre, 22,jul. 2020 11:57 - 2 respuestas
Miembro registrado
2 mensajes
Publicado el 22,julio 2020 - 11:57
Bonjour à tous,

Je suis actuellement en train de développer un module d'envoi de SMS (avec plusieurs prestataires : ovh, allmysms et octopush).

Actuellement je me concentre principalement sur le fournisseur Allmysms.

J'arrive sans problème à paramétrer et envoyer mes sms, mais ce qui me pose un souci c'est la gestion des "STOP SMS" :

Notre API utilise le système de webhook pour acheminer des informations vers votre serveur dès qu'elles sont disponibles (système de callback).

Vous pouvez configurer une URL webhook pour les accusés de réception (Delivery Reports en anglais, ou DLR) ainsi que pour les réponses à vos envois SMS (Mobile Originated en anglais, ou MO)

Notes :
- Votre webhook doit retourner impérativement "OK" pour un aquittement valide.
- Toutes les variables sont envoyées via la méthode GET. Reportez-vous aux tableaux ci-dessous pour plus d'informations.






J'ai tenté de faire un point d'entrée dans mon Webservice REST, mais je ne vois pas comment récupérer ces infos.
De plus les infos arrivent uniquement lors de l'envoi d'un "STOP" au numéro indiqué, ce qui ne me facilite pas la tache pour mes test.

Je viens de découvrir les Webhooks donc pour l'instant leur fonctionnement m'échappe encore un peu..

Auriez vous un exemple duquel je pourrais m'inspirer ?
Publicado el 22,julio 2020 - 14:44
perso, pour ce genre de choses, j'utilise simplement une page webdev de type awp... ls données envoyées par le serveur distant sont récupérables facilement par la fonction pageparamètre
Miembro registrado
2 mensajes
Publicado el 22,julio 2020 - 16:57
Voici le contenu de ma procédure :

Lorsque j'appelle cette procédure (soit en test du WS dans windev ou via l'appel de l'URL dans POSTMAN), les infos sont bien récupérées et stockées dans mes fichiers mais lorsque je répond "STOP" à un sms que je m'envoie, il ne se passe rien.

Auriez vous une idée ?

Mon point d'entrée WS est en GET

restGetRetour est un restRequête
restGetRetourReponse est un restRéponse
RestGetVariant est un Variant
smsId est une chaîne
receptionDate est une chaîne
phoneNumber est une chaîne
Mssage est une chaîne


smsId = "caa52305-cc1f-11ea-a8ef-0025907cf72e"
restGetRetour..Méthode = httpGet
restGetRetour..URL = "https://api.allmysms.com/sms/reply/"+smsId
restGetRetour..ContentType = typeMimeJSON
restGetRetour..Entête["Authorization"] = ChaîneVersUTF8("Basic cHJvZ2[...]ZmFkOGRmYmQ=")

restGetRetourReponse = RESTEnvoie(restGetRetour)
RestGetVariant = JSONVersVariant(restGetRetourReponse.Contenu) // On stocke dans un variant la réponse de l'API
SI restGetRetourReponse..CodeEtat = 200 ALORS
receptionDate =RestGetVariant.receptionDate
phoneNumber =RestGetVariant.phoneNumber
Mssage = RestGetVariant.Message
HLitRecherchePremier(PRW_GBL_PARTENAIRES,Nom_partenaire,"stop")
SI HTrouve(PRW_GBL_PARTENAIRES) ALORS
PRW_GBL_PARTENAIRES.Token_JWT = receptionDate
PRW_GBL_PARTENAIRES.Token_progemi = phoneNumber
PRW_GBL_PARTENAIRES.Token_rafraichissement = Mssage
HModifie(PRW_GBL_PARTENAIRES)
SINON
PRW_GBL_PARTENAIRES.Token_JWT = receptionDate
PRW_GBL_PARTENAIRES.Token_progemi = phoneNumber
PRW_GBL_PARTENAIRES.Token_rafraichissement = Mssage
HAjoute(PRW_GBL_PARTENAIRES)
FIN
RENVOYER "OK"
FIN

RENVOYER RESTEnvoie(restGetRetour)