IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Utiliser l'api de suivi de la Poste avec VBA (requête curl, uri ect) [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 93
    Par défaut Utiliser l'api de suivi de la Poste avec VBA (requête curl, uri ect)
    Hello tout le monde, est il possible d'utiliser ce genre d'Api avec VBA ?

    J'ai trouvé de la docu mais je ne comprends absolument rien, ne sachant faire que des requêtes http.

    J'ai bien une X-Okapi-Key et tout le reste mais je m'arrache le peu de cheveux qui me reste pour comprendre le comment du comment.

    Encore merci pour votre aide.

    https://developer.laposte.fr/help

    URI des ressources

    Chaque ressource API est localisée par son URI.

    Format des URI :

    Les ressources API sont exposées avec un chemin d'URI qui respecte le format suivant :

    https://api.laposte.fr/[produitAPI]/[version]/[cheminRessource]

    Le chemin d'URI est donc composé des éléments suivants :

    nom du fournisseur d'API (exemple : superapi)
    version de l'API (exemple : v1)
    chemin de la ressource (exemple : chemin/ressource)

    Exemple d'URI :

    https://api.laposte.fr/superapi/v1/chemin/ressource

    Authentification

    Pour pouvoir utiliser les API de La Poste, votre application doit au préalable s'authentifier.

    L'authentification basée sur une clé d'API utilisée dans tous les appels API.

    Pour obtenir vos clés :

    identifiez-vous avec votre compte ou inscrivez-vous
    puis accédez à vos applications

    Exemple de requête cURL

    curl https://api.laposte.fr/suivi/v1/1231231231231
    -H "X-Okapi-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxx"

    Exemple de résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {
      "attr1": "value1",
      "attr2": "value2",
      "attr3": "value3"
    }
    https://developer.laposte.fr/products/suivi/latest

    Récupérer le statut d'un colis
    GET/suivi/v1/{code}

    Cette action retourne l’état du suivi.

    Dans la réponse, un attribut \”date\” du dernier statut est retournée au format JJ/MM/AAAA ainsi qu’un attribut \”status\” à utiliser pour une analyse programmatique, l’attribut \”message\” étant plutôt réservé à la communication vers l’utilisateur.

    L’information du code statut n’est actuellement pas fournie par le système d’information original, elle a été ajoutée par la plateforme Open API pour satisfaire aux besoins des développeurs, néanmoins sa qualité est imparfaite et il est possible de constater des anomalies (statut inconnu, …)

    Cette situation sera corrigée dans une prochaine version.

    Le code statut supporte les valeurs suivantes :

    PRIS_EN_CHARGE : le colis est pris en charge, ou en cours de traitement

    EN_LIVRAISON : le colis est en cours de livraison, d’acheminement, ou prêt à être expédié

    EXPEDIE : le colis est expédié

    A_RETIRER : le colis est disponible, prêt à être retiré au point de retrait

    TRI_EFFECTUE : le colis a été trié

    DISTRIBUE : le colis a été distribué

    LIVRE : le colis a été livré

    DESTINATAIRE_INFORME : le destinataire a été informé

    RETOUR_DESTINATAIRE : le colis a été retourné

    ERREUR : la livraison du colis est en erreur

    INCONNU : le statut est inconnu (une anomalie est possible)

    Paramètres

    code string(requis) Exemple: 1111111111111

    Requête
    EnTêtes

    X-Okapi-Key: zchl9IRQIeGObF+kw+s4nD4h+d6pJKqgGMwJtT7KFJs/sGa4p1ljEh8hU1zwNcaV


    Réponse 200
    EnTêtes

    Content-Type: application/json; charset=utf-8

    Corps

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    {
        \"code\": \"1111111111111\",
        \"date\": \"06/03/2016\",
        \"status\": \"PRIS_EN_CHARGE\",
        \"message\": \"Envoi pris en charge par Chronopost chez l'expéditeur\",
        \"link\": \"http://www.chronopost.fr/expedier/inputLTNumbersNoJahia.do?lang=fr_FR&listeNumeros=1111111111111\",
        \"type\": \"Chronopost\"
    }
    Schéma

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "properties": {}
    }

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonsoir
    si l'url comme tel est valide une simple requete suffit
    https://api.laposte.fr/suivi/v1/1231231231231 -H "X-Okapi-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    alors peut être que la requête doit être argumenté dans le send
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 93
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    bonsoir
    si l'url comme tel est valide une simple requete suffit
    alors peut être que la requête doit être argumenté dans le send
    Salut Patrick !

    Je pense qu'il n' y a aucun risque d'afficher ma clef temporaire et un numéro de suivi, donc j'ai essayer d'entrer dans mon navigateur :

    https://api.laposte.fr/suivi/v1/8N04626795814 -H "X-Okapi-Key: BDK/qwVcNMatcW/V6jJwHA/mWcyoJlZOUhnto/oV2jI6DVy0kLPfzStiqC9iqK/5

    Ça me retourne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    code	"resource.notFound"
    message	"Resource `GET /suivi/v1/8N04626795814-H%20%22X-Okapi-Key:%20BDK/qwVcNMatcW/V6jJwHA/mWcyoJlZOUhnto/oV2jI6DVy0kLPfzStiqC9iqK/5` was not found"
    Encore merci !

  4. #4
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    Bonjour,

    Apparemment c'est dans le request header qu'il faut mettre la clé, l'url s'arrête avant le -H sinon cela n'a aucun sens.

    Un peu comme ici :
    https://arkham46.developpez.com/arti...Page_5#LVI-D-1

    Mais avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oWinHTTP.setRequestHeader "X-Okapi-Key", "lacle....."
    Possible également avec un objet MSXML2.XMLHTTP en théorie.

    Il peut y avoir des problèmes de proxy ou de ssl.

    Je n'ai pas testé mais en théorie c'est réalisable.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 93
    Par défaut
    Merci beaucoup j'ai trouvé la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
            Dim objRequest As Object
            Dim strResponse As String
            Dim blnAsync  As Boolean
     
            Set objRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
            blnAsync = True
     
            With objRequest
                .Open "GET", "https://api.laposte.fr/suivi/v1/8N04626795814", blnAsync
                .setRequestHeader "X-Okapi-Key", "BDK/qwVcNMatcW/V6jJwHA/mWcyoJlZOUhnto/oV2jI6DVy0kLPfzStiqC9iqK/5"
                .send
                .WaitForResponse
                strResponse = .responseText
                Debug.Print strResponse
                Debug.Print .Status
     
                MsgBox strResponse
            End With

  6. #6
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    Attention à la mis en cache avec GET.
    Utiliser POST si nécessaire, ou modifier l'url de la requête GET (en ajoutant quelque chose du style "?" & format(now("yyyyymmddhhnnss"), pour que l'url change à chaque seconde)).
    Sinon le suivi risque de ne pas se mettre à jour.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Utiliser plusieurs couleurs au texte d'une cellule avec vba
    Par CRC dans le forum Excel
    Réponses: 2
    Dernier message: 21/08/2009, 14h37
  2. probleme d'utilisation d api c dans des controle forms avec wpf
    Par ZashOne dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 24/07/2007, 12h04
  3. Réponses: 0
    Dernier message: 08/12/2005, 21h39
  4. Réponses: 36
    Dernier message: 13/05/2004, 18h22
  5. Utilisation des API MySQL // ADO ou BDE ? (sujet 2)
    Par rohstev dans le forum C++Builder
    Réponses: 8
    Dernier message: 07/11/2003, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo