1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

AIDE api orange sms

Discussion dans 'Résolution problème & conseils' créé par FLAV2020, Fev 3, 2020.

  1. FLAV2020

    FLAV2020 New Member

    Inscrit:
    Jan 29, 2019
    Messages:
    23
    J'aime reçus:
    0
    bonjour,

    comment traduire ce code en windev? , c'est surtout le dernier bloc ["orderExecutioninformation"] qui m'intéresse le plus afin d'avoir l'historique de paiement des sms. merci d'avance.


    View your purchase history
    Last but not least for the account management API, you may also need to track all the purchased orders you did with your account. For this, use your {{access_token}} in the authorization header and access the point /sms/admin/v1/purchaseorders, as follows:

    curl -X GET \
    -H "Authorization: Bearer {{access_token}}" \
    "

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    "
    This request returns JSON data containing information about your SMS bundle(s) purchase history. Typical example:

    {
    "purchaseOrders":[
    {
    "purchaseOrderId":"24031977",
    "mode":"OCB",
    "bundleId":"bc8cda15-3409-495a-b5ab-87c7017816b1",
    "bundleDescription":"Bundle 2 - 500 SMS for 15 000 FCFA)",
    "partnerId":"53laht-s1-3r0m-naht-3m0s3wa",
    "inputs":[
    {
    "type":"MSISDN",
    "value":"+22557....11"
    },
    {
    "type":"bundleId",
    "value":"bc8cda15-3409-495a-b5ab-87c7017816b1"
    },
    {
    "type":"confirmationCode",
    "value":"22....10"
    },
    {
    "type":"challengeMethod",
    "value":"OTP-SMS-OCB"
    }
    ],
    "orderExecutioninformation":{
    "date":"2015-04-01T14:38:40",
    "amount":15000,
    "currency":"XOF",
    "service":"SMS_OCB",
    "country":"CIV",
    "contractId":"211...7-a121-46f2-933c-cd4...67"
    }
    }
    ]
    }
     
  2. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    bonjour,

    comment traduire ce code en windev? , c'est surtout le dernier bloc ["orderExecutioninformation"] qui m'intéresse le plus afin d'avoir l'historique de paiement des sms. merci d'avance.


    View your purchase history
    Last but not least for the account management API, you may also need to track all the purchased orders you did with your account. For this, use your {{access_token}} in the authorization header and access the point /sms/admin/v1/purchaseorders, as follows:

    curl -X GET \
    -H "Authorization: Bearer {{access_token}}" \
    "

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    "
    This request returns JSON data containing information about your SMS bundle(s) purchase history. Typical example:

    {
    "purchaseOrders":[
    {
    "purchaseOrderId":"24031977",
    "mode":"OCB",
    "bundleId":"bc8cda15-3409-495a-b5ab-87c7017816b1",
    "bundleDescription":"Bundle 2 - 500 SMS for 15 000 FCFA)",
    "partnerId":"53laht-s1-3r0m-naht-3m0s3wa",
    "inputs":[
    {
    "type":"MSISDN",
    "value":"+22557....11"
    },
    {
    "type":"bundleId",
    "value":"bc8cda15-3409-495a-b5ab-87c7017816b1"
    },
    {
    "type":"confirmationCode",
    "value":"22....10"
    },
    {
    "type":"challengeMethod",
    "value":"OTP-SMS-OCB"
    }
    ],
    "orderExecutioninformation":{
    "date":"2015-04-01T14:38:40",
    "amount":15000,
    "currency":"XOF",
    "service":"SMS_OCB",
    "country":"CIV",
    "contractId":"211...7-a121-46f2-933c-cd4...67"
    }
    }
    ]
    }
    Cliquez pour agrandir...
    ce que tu montre est la structure json de retour suite à l'appel de l'api.

    tu as une variable json. (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    )
    fonction utile :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!




    après tu as une variable tout bien structuré et tu pourras appeler par exemple
    pour tout order de mavraiblejson.orderexecutioninformation
    trace(order.date) // par exemple
    fin

    je ne sais pas comment tu récupère le retour de l'api orange.
     
  • FLAV2020

    FLAV2020 New Member

    Inscrit:
    Jan 29, 2019
    Messages:
    23
    J'aime reçus:
    0
    je pourrai créer une structure qui récupère les éléments ci-dessous (...) : comment faire pour accéder à la clé et à la valeur. Je regarde la doc que tu m'as envoyé. MERCI POUR TON AIDE. C'est gentil...

    "orderExecutioninformation":{
    "date":"2015-04-01T14:38:40",
    "amount":15000,
    "currency":"XOF",
    "service":"SMS_OCB",
    "country":"CIV",
    "contractId":"211...7-a121-46f2-933c-cd4...67"
    }
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    comme dit plus haut windev gere les jsons
    en gros si tu fais un truc comme ca :
    Code (Windev):

    montextretourapi est chaine = valeur retour de ton api
    monretour est un json
    monretour = chaineversjson(montextretourapi)

     
    tu pourras appeler ta clef orderExecutioninformation
    de la facon suivante :
    Code (Windev):

    trace(monretour.orderExecutioninformation.date)  // renverra "2015-04-01T14:38:40

     
    de même avec jsonversvariant
    tu déclare un variant au lieu du json

    tu peux le faire a l’ancienne avec sérialises.... en déclarant tes structures si tu veux.
    l'avantage c'est que l'assistant si tu lui donne le json de retour de proposeras la structure a déclarer.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    après ca dépend surtout de ta version de windev

    cordialement
     
    Gemini1961 apprécie ceci.
  • FLAV2020

    FLAV2020 New Member

    Inscrit:
    Jan 29, 2019
    Messages:
    23
    J'aime reçus:
    0
    super c'est une bonne piste que tu me donne. J'ai windev 23 mais pour être franc je ne suis pas un habitué du json en windev (en terme d'utilisation).
    Du coup grace à cette structure je pourrai accéder aux éléments que je désire...MERCI BEAUCOUP. je reviendrai.
    Dit comment as-tu accéder à l'assistant (le menu?). merci
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    si dans ton code tu tape deserialise( ...windev va te proposer un assistant tu clique dessus

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!




    ca reste plus rapide avec la variable json et tu accèdes a tes données comme avec une structure.
    tu n'as pas besoin de déclarer de structure avec windev 23
     
  • FLAV2020

    FLAV2020 New Member

    Inscrit:
    Jan 29, 2019
    Messages:
    23
    J'aime reçus:
    0
    OK je vois, merci!
     
  • FLAV2020

    FLAV2020 New Member

    Inscrit:
    Jan 29, 2019
    Messages:
    23
    J'aime reçus:
    0
    Bonjour Khalias, j'ai pu essayer le code mais il marche en partie

    [windev]vResVariant est un variant
    vResVariant = RetourAPI //(retour json de l'URL ---->

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    )

    POUR TOUT monElement de vResVariant.purchaseOrders

    info (monElement.purchaseOrderId + RC + monElement.mode +RC+ monElement.bundleDescription)

    FIN

    Lorsque j'essaie de faire le code ci-dessous, il ne marche pas :

    POUR TOUT monElement de vResVariant.purchaseOrders

    info (monElement.orderExecutioninformation.date + RC + monElement.orderExecutioninformation.amount)

    FIN [/windev]
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    ton retour api est une chaine au format json.
    pour moi tu as oublier la commande jsonversvariant.
    Code (Windev):

    valeurretourapi est chaine // ton retour obtenue par ton appel a l'api (rest envoie ou httprequette)

    vResVariant est un variant =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (valeurretourapi )
    POUR TOUT monElement de vResVariant.purchaseOrders

    info (monElement.purchaseOrderId + RC + monElement.mode +RC+ monElement.bundleDescription)

    FIN

    POUR TOUT monElement de vResVariant.purchaseOrders

    info (monElement.orderExecutioninformation.date + RC + monElement.orderExecutioninformation.amount)
     
    comme tu ne met pas le code erreur ni le code d e l'appel de l'api (sans les mots de pass bien entendu) c'est plus compliquer.
    verifie que le retour de l'api correspond bien a un json valide.
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    comme tu as aussi poster ta demande sur un autre forum...
    regarde la reponse de

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    il 'as meme mis le code pour interroger l'api
     
  • FLAV2020

    FLAV2020 New Member

    Inscrit:
    Jan 29, 2019
    Messages:
    23
    J'aime reçus:
    0
    ok merci Khalias. En fait ce qui n’embête actuellement, c'est j'ai pas mon pc où se trouve windev pour te fournir le bon code. Sinon c'est exactement ce que j'ai écrit et j'ai même mis dans une fonction #INFO# qui ne me renvoie rien du tout. En debug, il saut sur le deuxième [....POUR TOUT...]
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    j'ai créeer un bouton avec cecode :

    Code (Windev):

    sTextjson est chaîne =[
    {
        "purchaseOrders": [
        {
           "purchaseOrderId":"24031977",
           "mode":"OCB",
           "bundleId":"bc8cda15-3409-495a-b5ab-87c7017816b1",
           "bundleDescription":"Bundle 2 - 500 SMS for 15 000 FCFA)",
           "partnerId":"53laht-s1-3r0m-naht-3m0s3wa",
           "inputs": [
           {
              "type":"MSISDN",
              "value":"+22557......11"
           },
           {
              "type":"bundleId",
              "value":"bc8cda15-3409-495a-b5ab-87c7017816b1"
           },
           {
              "type":"confirmationCode",
              "value":"22......10"
           },
           {
              "type":"challengeMethod",
              "value":"OTP-SMS-OCB"
           }],
           "orderExecutioninformation":{
              "date":"2015-04-01T14:38:40",
              "amount":15000,
              "currency":"XOF",
              "service":"SMS_OCB",
              "country":"CIV",
              "contractId":"211.....7-a121-46f2-933c-cd4.....67"
           }
       }]
    }
    ]

    vResVariant est un Variant =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (sTextjson )
    POUR TOUT monElement DE vResVariant.purchaseOrders
     
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (monElement.purchaseOrderId + RC + monElement.mode +RC+ monElement.bundleDescription)
     
    FIN

    POUR TOUT monElement DE vResVariant.purchaseOrders
     
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (monElement.orderExecutioninformation.date + RC + monElement.orderExecutioninformation.amount)
    FIN
     
    j'ai utilisé le code brute et j'ai bien les deux infos.
    vérifie donc qu'il n'y ai pas d'erreur de frappe dans le nom des membres appelés et fait un trace de ton json pour voir si il renvois bien des donner pour la clef : orderExecutioninformation
     
    #12 khaliassas, Fev 5, 2020
    Dernière édition: Fev 5, 2020
  • FLAV2020

    FLAV2020 New Member

    Inscrit:
    Jan 29, 2019
    Messages:
    23
    J'aime reçus:
    0
    C'est super ! Comme tu l'as dit je VAIS vérifier mon code (j'avoue quand même que j'ai dormi tard à cause ça ---> le cerveau était HS. :coldsweat::coldsweat: ;)). merci pour ton aide. Je te reviendrais :cool:
     
  • FLAV2020

    FLAV2020 New Member

    Inscrit:
    Jan 29, 2019
    Messages:
    23
    J'aime reçus:
    0
    Hello Kaliass! j'espère que tu vas bien. Juste te dire que le code a fonctionné. J'ai même pu enregistrer les données en base. Merci pour le coup.
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    merci pour le retour. toujours agréable d'avoir la finalité.. :winkytongue:
     
  • FLAV2020

    FLAV2020 New Member

    Inscrit:
    Jan 29, 2019
    Messages:
    23
    J'aime reçus:
    0
    hello khaliassas!
    Je te recontacte dès je reprends le projet. En fait je l'avais mis en pause. Pour info, j'obtiens un message d'erreur entre 2 sms envoyés. Je t'envoie une capture dès je suis devant l'écran.
    Merci d'avance pour ton aide [​IMG];).
     
  • FLAV2020

    FLAV2020 New Member

    Inscrit:
    Jan 29, 2019
    Messages:
    23
    J'aime reçus:
    0
    hello khaliassas! je relance le sujet pour le projet orange api sms. En effet, j'obtiens un message d'information à chaque envoie de sms. Le deuxième sms ne va pas. Il faut relancer le projet pour que xa fonctionne.
     
  • Partager cette page

    Chargement...