PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV (earlier versions) → Consommer un API REST/JSON depuis webdev et authentification
Consommer un API REST/JSON depuis webdev et authentification
Started by batonon, Dec., 18 2018 4:00 PM - 3 replies
Registered member
2 messages
Posted on December, 18 2018 - 4:00 PM
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
Posted on February, 13 2023 - 10:39 AM
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)
Registered member
26 messages
Posted on February, 21 2023 - 5:57 PM
sParametres = [
{
"type" : "access_token",
"username" :"%1",
"password" : "%2"
}
]
sParametres =ChaîneConstruit(sParametres ,mon_adresse_email,mon_mot_de_passe)
Registered member
26 messages
Posted on February, 21 2023 - 5:58 PM
ma_demande.Contenu = ChaîneVersJSON(sParametres)