PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → inserer une variable dans un tableau json
inserer une variable dans un tableau json
Iniciado por lighttechnologie, 24,jul. 2020 04:31 - No hay respuesta
Miembro registrado
9 mensajes
Publicado el 24,julio 2020 - 04:31
Bonjour à tous.
je dois attaquer un webservice avec la methode post. sauf que ce webservice est en json.
J'ai ecris le code que voici
sToken est chaîne="xxxxxxxxxxxxxxxxxxxxxx"
cMyRequest is restRequest
scheduleRequest is restRequest
cMyRequest..URL = "https://api.letexto.com/v1/campaigns"
cMyRequest..Entête["Authorization"] = "Bearer "+sToken
cMyRequest..Méthode = httpPost
cMyRequest..ContentType = "application/json"
sParametres est une chaîne
sParametres=[
{
"step": null,
"sender": "L.TECH",
"name": "Ma CAMP",
"campaignType": "SIMPLE",
"recipientSource": "CUSTOM",
"groupId": null,
"filename": null,
"saveAsModel": false,
"destination": "NAT",
"message": "message",
"emailText": null,
"recipients": [{
"phone": "22506077966"
}],
"sendAt": [],
"dlrUrl": "",
"responseUrl": ""
paramvariable
}
]
cMyRequest..Contenu = ChaîneVersUTF8(sParametres)
cMyResponse is restResponse = RESTEnvoie(cMyRequest)
SI (cMyResponse..StatusCode)=200 ALORS
Info("Erreur")
SINON
IF ErreurDétectée THEN
Error(ErrorInfo(errComplet))
ELSE
decodeResponse est Variant =JSONVersVariant( cMyResponse..Content)
//(cMyResponse..StatusCode) == 200 check si le statut est 200 avant d'executer la seconde requete
scheduleRequest..URL = "https://api.letexto.com/v1/campaigns/"+decodeResponse.id+"/schedules"
scheduleRequest..Entête["Authorization"] = "Bearer"+sToken
scheduleRequest..Méthode = httpPost
scheduleRequest..ContentType = "application/json"
scheduleRequest..Contenu = ChaîneVersUTF8(sParametres)
scheduleResponse is restResponse = RESTEnvoie(scheduleRequest)
Info(scheduleResponse.Contenu,decodeResponse.id)

END
FIN

Ce code fonctionne à merveille.
Mon problème est que je dois maintenant remplacer le contenu de la variable Sparametres par des variables qui seront fournies par l'utilisateur.
Il s'agit des contenus:
"sender": "L.TECH" ( L.TECH étant une variable identifiant l'expediteur du message)
"message": "message" (message étant le contenu du message à envoyer")
"recipients": [{
"phone": "22506077966"
}], (22506077966 étant le numero du destinataire)
Pour ce faire, j'ai ecris un nouveau code que voici
paramvariable est Variant
numtel est chaîne="22506077966"
tabRecipient est un tableau[2] de chaînes
tabRecipient[1]="phone:"
tabRecipient[2]=numtel
paramvariable.step=Null
paramvariable.sender= "L.TECH"
paramvariable.name= "Ma CAMP"
paramvariable.campaignType= "SIMPLE"
paramvariable.recipientSource= "CUSTOM"
paramvariable.groupId=Null
paramvariable.filename=Null
paramvariable.saveAsModel=False
paramvariable.destination= "NAT"
paramvariable.message="test sms"
paramvariable.emailText=Null
paramvariable.recipients=tabRecipient[1]+tabRecipient[2]
paramvariable.sendAt= []
paramvariable.dlrUrl= ""
paramvariable.responseUrl= ""
sToken est chaîne="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
cMyRequest is restRequest
scheduleRequest is restRequest
cMyRequest..URL = "https://api.letexto.com/v1/campaigns"
cMyRequest..Entête["Authorization"] = "Bearer "+sToken
//a04ea35db9bcase387e8360c4498173"
cMyRequest..Méthode = httpPost
cMyRequest..ContentType = "application/json"
cMyRequest..Contenu = ChaîneVersUTF8(paramvariable)//sParametres)
cMyResponse is restResponse = RESTEnvoie(cMyRequest)
Info(cMyResponse.Contenu)
SI (cMyResponse..StatusCode) = 200 ALORS
Info("Erreur")
SINON
IF ErreurDétectée THEN
Error(ErrorInfo(errComplet))
ELSE
decodeResponse est Variant =JSONVersVariant( cMyResponse..Content)
scheduleRequest..URL = "https://api.letexto.com/v1/campaigns/"+decodeResponse.id+"/schedules"
scheduleRequest..Entête["Authorization"] = "Bearer"+sToken
scheduleRequest..Méthode = httpPost
scheduleRequest..ContentType = "application/json"
scheduleRequest..Contenu = ChaîneVersUTF8(paramvariable)
scheduleResponse is restResponse = RESTEnvoie(scheduleRequest)
Info(scheduleResponse.Contenu,decodeResponse.id)
END
FIN

et je but sur ce message



A vrai dire, je ne maîtrise pas grand chose sur le json.
Une aide me rendrais énormément service car cela fait maintenant une semaine que je plante
Merci beaucoup