PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV (précédentes versions) → Consommer un API REST/JSON depuis webdev et authentification
Consommer un API REST/JSON depuis webdev et authentification
Débuté par batonon, 18 déc. 2018 16:00 - 3 réponses
Membre enregistré
2 messages
Posté le 18 décembre 2018 - 16:00
Bonjour.
j'ai la description de l'api suivant :
1- chaque demande doit être accompagnée d'un bon access_token. access_tokensont générés lors d'une authentification réussie. Pour vous authentifier, vous devez envoyer une authdemande.

https://[host]/apis/auth Cette demande accepte les paramètres typeavec valeur access_token, usernameet password.
example : POST https://[HOST]/apis/auth
Content-Type : application/json
{
"type" : "access_token",
"username" : "myusername",
"password" : "mypassword"
}

2-jeton d'accès
Si la requête aboutit, un objet d'authentification est renvoyé, qui inclut un access_tokenet un refresh_token. Sinon, une erreur est renvoyée. access_tokenvous accorde l'accès pour faire des demandes.

Configurez le Authorization HTTP headeravec votre access_token
example de reponse
{
"status_code" : 200,
"status_message" : "OK",
"payload" : {
"access_token" : "dcec4eb6-035c-41a4-9871-82c5bd3ef379",
"validity_period" : 1800,
"refresh_token" : "d32dc41f-6545-4bdc-a980-79e376bbd641"
}
}

3- Envoyer un seul SMS
Pour envoyer un SMS, vous devez envoyer une senddemande POST.

https://[host]/apis/sms/mt/v2/send

Définissez les paramètres toavec le numéro de téléphone mobile du destinataire au format international E.164 et fromavec votre expéditeur préféré.

Enfin, configurez le paramètre messageavec le texte de votre message.

N'oubliez pas de configurer le Authorization HTTP headeravec votre access_token.
exeample ;
POST https://[host]/apis/sms/mt/v2/send
Content-Type : application/json
[
{
"to" : ["447945223343"],
"from" : "HelloWorld",
"message" : "My first SMS message."
}
]

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

voici mon code wlanguage en WEBDEV 21 :
SMSUSER est une chaîne="mon_adresse_email"
SMSPASS est une chaîne= "mon_mot_de_passe"
ma_demande est un restRequête
ma_reponse est un restRéponse
sParametres est une chaîne
ma_demande.URL="https://ip_serveur/bulksms/bulksend.go/apis/…
ma_demande.Méthode=httpPost
ma_demande.ContentType= "application/json"
sParametres = [
{
"type" : "access_token",
"username" :"mon_adresse_email",
"password" : "mon_mot_de_passe"
}
]




//ma_demande.Contenu = ChaîneVersUTF8(sParametres)
ma_demande.Contenu = sParametres
ma_reponse = RESTEnvoie(ma_demande)

SI ErreurDétectée ALORS

Erreur(ErreurInfo(errComplet))

SINON

Info(ma_reponse..Contenu)

FIN

///////////////////////////////////////////////////
je reçoit le message d’erreur 100128.
je vérifié toutes configurations possibles. SVP quelqu'un a-t-il une meilleure solution pour consommer l'Api?
merci d'avance
Posté le 13 février 2023 - 10:39
Bonjour ,

Il faut remplacer les champs dans Sparametres par les bons parametres(dans votre cas vous passer les nom des parametres et pas la valeur) , donc il faut utiliser la fonction remplace avec les bon parametres . par exemple :

sParametres est une chaîne

sParametres = [
{"diagnosticId": $$$}
]
sParametres = Remplace(sParametres,"$$$",diagnosticId)
Membre enregistré
26 messages
Posté le 21 février 2023 - 17:57
sParametres = [
{
"type" : "access_token",
"username" :"%1",
"password" : "%2"
}
]
sParametres =ChaîneConstruit(sParametres ,mon_adresse_email,mon_mot_de_passe)
Membre enregistré
26 messages
Posté le 21 février 2023 - 17:58
ma_demande.Contenu = ChaîneVersJSON(sParametres)