PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD17] Web service Chronoposte
[WD17] Web service Chronoposte
Iniciado por ppaint, 22,may. 2012 19:03 - 13 respuestas
Miembro registrado
26 mensajes
Publicado el 22,mayo 2012 - 19:03
Bonjour,

Je cherche à utiliser la fonction ShippingServiceWSService du web service Chronopost. J'importe sans problème le WSDL dans windev et reçois un retour du serveur au lancement de mon appli. Réponse qui n'indique pas précisément d'où vient l'erreur.
Bizarrement, mon code fonctionne sans problème pour la fonction TrackingServiceWSService...

Je cherche des infos, des gens qui utilisent ce web service et partagerai mon code et mon savoir sans aucun problème.
Miembro registrado
26 mensajes
Publicado el 24,mayo 2012 - 18:37
Problème résolu au bout de quatre jours de lutte.
J'aiderai volontiers celui qui aura des soucis avec ce web service.

Je ne remercie pas Chronopost qui ne m'a jamais contacté malgré bien des requêtes au commercial, à un chargé grand compte. Houuuu les vilains !

--
Pascal - Chartres
Miembro registrado
203 mensajes
Publicado el 24,mayo 2012 - 20:10
Bonjour,

Ce serait sympa de mettre un petit exemple ici :
http://depot.pcsoft.fr/

Je pense que ça intéressera beaucoup de monde.

Cordialement,

Alex
Publicado el 05,junio 2012 - 14:28
Bonjour,

C'est la première fois que j'utilise un service web et j'ai du mal à exécuter une requête avec "shipping".

Pourrais-je avoir un bout de code pour débuter ?

J'ai bien intégré la description XML ShippingServiceWS mais après je suis perdu. On peut déclarer un objet "ShippingServiceWS" mais il n'a pas de propriétés dans l’auto-complétion (sauf en avec les doubles points ShippingServiceWS.. )

Merci d'avance
Miembro registrado
26 mensajes
Publicado el 05,junio 2012 - 15:06
Bonjour,

As tu déjà un compte client et mot de passe Chronopost ?

--
Pascal - Chartres
Publicado el 05,junio 2012 - 15:45
Non, j'en ai fait justement la demande.

Je voudrais seulement savoir comment coder la requête sans la faire fonctionner car je n'ai pas encore les identifiants.
Miembro registrado
26 mensajes
Publicado el 05,junio 2012 - 16:35
WS_Requete est un shipping
WS_Resultat est un shippingResponse


//headerValue
WS_Requete.headerValue.idEmit = "CHRFR"
WS_Requete.headerValue.accountNumber = "ton N° de compte"

//shipperValue
WS_Requete.shipperValue.shipperName = ...
WS_Requete.shipperValue.shipperAdress1 = ...
...

//customerValue
WS_Requete.customerValue.customerName = ...
...

//recipientValue
WS_Requete.recipientValue.recipientName = ...
WS_Requete.recipientValue.recipientCountry = "FR"
...

//refValue
WS_Requete.refValue.shipperRef = ...
WS_Requete.refValue.recipientRef = ...

//skybillValue
WS_Requete.skybillValue.evtCode = "DC"
WS_Requete.skybillValue.productCode = "86"
WS_Requete.skybillValue.shipDate = DateVersChaîne(DateSys(), "AAAAMMJJ" + HeureVersChaîne(Maintenant, "HHMMSS"))
WS_Requete.skybillValue.shipHour = HeureVersChaîne(Maintenant,"HH")
WS_Requete.skybillValue.weight = Poids du colis
WS_Requete.skybillValue.weightUnit = "KGM"
WS_Requete.skybillValue.service = "0"
WS_Requete.skybillValue.objectType = "MAR" //Marchandise
WS_Requete.skybillParamsValue.mode = "SPD" // format de l'étiquette (voir la doc)

WS_Requete.password = "ton mot de passe"

WS_Resultat = shipping(WS_Requete)

SI ErreurDétectée = Vrai ALORS

Erreur(ErreurInfo())

SINON

SI WS_Resultat.return.errorCode = 0 ALORS
//Sauvegarde du pdf
fSauveBuffer(WS_Resultat.return.skybillNumber + ".pdf", WS_Resultat.return.skybill)
//Ouvre le pdf
LanceAppliAssociée(WS_Resultat.return.skybillNumber + ".pdf")

SINON

Info("errorCode : " + WS_Resultat.return.errorCode, "errorMessage : " + WS_Resultat.return.errorMessage)

FIN

FIN

--
Pascal - Chartres
Publicado el 05,junio 2012 - 16:55
Merci beaucoup pour ce code :)

Le type des objets de la classe d'envoi et de réception (shipping et shippingResponse) ne sont pas reconnus, où est-ce que leur classe est définie ?
Miembro registrado
26 mensajes
Publicado el 05,junio 2012 - 19:09
Hum, c'est l'importation du web service qui gère tout cela je pense
Publicado el 11,junio 2012 - 11:30
J'ai effectué l'importation proprement du fichier XML WS Shipping. Il reconnaît désormais correctement ces objets.

Je n'ai pas encore les identifiants mais je prépare le formulaire adéquat pour la génération de l'étiquette et effectuer le ramassage.

Je verrai ensuite pour le suivi.
Publicado el 13,julio 2012 - 13:32
Bonjour tout le monde,

Je souhaiterais faire des tests pour la génération d'étiquettes avec le SHIPPING SERVICE WS. D'après les annexes, il y a des données de test.

Il faut fournir un mot de passe chronopass et un numéro de contrat Chronopost.

J'ai trouvé le numéro de compte utilisé dans les annexes : 19999700

WS_Requete.headerValue.accountNumber = 19999700


Si j'indique un mot de passe vide ou un mot de passe quelconque, il y a un message d'erreur : errorCode : 33 errorMessage : Invalid accesColis password

Comment avez-vous fait pour effectuer des tests ?

Merci d'avance.
Miembro registrado
26 mensajes
Publicado el 13,julio 2012 - 14:24
Bonjour,

Je n'ai pas connaissance qu'il existe des identifiants pour effectuer des tests.
Publicado el 16,julio 2012 - 18:16
Avez-vous réussi à utiliser la fonction QuickCost ?

Lorsque j'exécute ce code :

MyQuickCostResponse = quickCost(MyQuickCost)


l'erreur ayant le code 1 et pour message "system error" est retournée.

Info("errorCode : " + MyQuickCostResponse.return.errorCode, "errorMessage : " + MyQuickCostResponse.return.errorMessage)
Publicado el 07,octubre 2019 - 13:06
Bonjour,
Il y a bien des identifiants + mdp pour faire des test, demandez les à votre commercial.
Le QuiCost en fonctionne pas en test, c'est normal, le but étant de chiffrer un transport, ceci en fonction de vos tarifs et donc avec votre compte.