Composant Colissimo, disponible?

Bonjour à tous,
Est-ce qu’il y a déjà une personne qui a planché sur un composant pour générer des étiquettes colissimo entreprise via leur web service ?

Si ce n’est pas le cas c’est pas grave… je vais m’y mettre et je vous passerai les sources. ;o)

Bonjour,

Je crois que j’ai aidé quelqu’un sur la mise au point d’un web service de ce type (il me semble que c’était colissimo).

Contacte moi en privé

A+

Ah ça y est, ça me revient…

Le web service SOAP fait une réponse “multi-part” (MTOM) que 4D sait pas gérer en natif. Si tu est en v13+ j’ai un composant qui permet de faire une requête SOAP et de récupérer la partie “image” de la réponse HTTP/Soap.

HTH

Le service c’étais “colisposte”

J’utilise leur service coliship c’est peut être le remplaçant de coliposte mais ils ont une API REST maintenant et renvoi directement l’étiquette via une url en PDF…
La methode HTTP request de 4D devrait parfaitement faire le job.
A l’attaque !

Bonjour
si ca peut aider, j’ai terminé le developpement d’une requete en WebS pour du GLS avec fabrication de l’etiquette automatique sur des imprimantes de type Datamax.
Bonne journée

Bonjour,
J’ai commencé à travailler sur mon composant mes je suis en attente d’un avenant au contrat pour utiliser leur web service… du coup un peu bloqué. Mais je veux bien jeter un œil à ton développement.
Merci par avance.

Bonjour,

Je pourrais te l’envoyer en privé, mais ça me semble assez différent de l’API que tu utilises…
D’après ce que tu décris tu veux faire du json + rest et tu récupères une URL pour récupérer l’étiquette.
Ce que j’ai fait c’est du SOAP avec MTOM.

Envoi mon ton email sur mon adresse b[point]legay[arobase]ac-consulting.fr

A+

Bonjour,

J’ai aussi ce besoin de réaliser des bordereaux de colis Colissimo via
une requête SOAP sous 4D v14.

J’ai commencé un composant et je me retrouve bloqué avec l’erreur
suivante :

Unmarshalling Error: cvc-complex-type.2.4.a: Invalid content was found
starting with element ‘outputFormat’. One of ‘{fields}’ is expected.

Ce doit être une erreur, que je ne trouve pas, dans la structure XML
suivante :

<sls:checkGenerateLabel xmlns:sls=“http://sls.ws.coliposte.fr”>

xxxxxx xxxxxxxx DOS 2017-09-03 false 0 Confiserie Fouque 2 MyStartup Smith John line0 line1 line2 line3 FR PARIS 01234 123456789012345 1234567890 123 45678 contact@foo.net 7890 EN Doe Jane jline0 jline1 jline2 jline3 FR PARIS 01234 j23456789012345 j234567890 a23 a5678 janedoe@foo.net a890 FR 0 0 PDF_A4_300dpi

</sls:checkGenerateLabel>

Le bloc ‘fields’ n’est pas présent car il est indiqué comme optionnel dans le WSDL. Si je l’ajoute, j’ai la même erreur.

Si quelqu’un y voit un peu plus clair que moi; j’apprécierais un peu d’aide … surtout que c’est dimanche.

Merci

Bonjour,

Tu as regardé ce fil :
http://forums.4d.com/Post/EN/16148862/1

A+

Bonjour,
Voila le composant Colissimo que j’utilise tout les jours :
http://forums.4d.com/4DBB_Main/x_User/949583/files/21192372.zip

Et un sous composant qui est utile pour le faire fonctionner :
http://forums.4d.com/4DBB_Main/x_User/949583/files/21192376.zip

Démonstration :
Dans la methode d’ouverture de la base :
// Chargement du composant colissimo.
ccInit

Dans la methode qui veut générer l’étiquette.

	  // On crée une nouvelle etiquette.
	  // Création d'un nouveau colis.
	C_OBJECT($colis)
	ccSetColis (->$colis;"nouveau")
	
	ccSetColis (->$colis;"codeEnvoi";"DOM")  // Code produit Colissimo.
	ccSetColis (->$colis;"dateExpedition";String(Current date))
	ccSetColis (->$colis;"poids";OB Get(visiteur;"scgePoids"))
	
	ccSetColis (->$colis;"destinataireReference";Substring([panier]ID;1;8))
	ccSetColis (->$colis;"destinataireSociété";OB Get(visiteur;"scgeSociete"))
	ccSetColis (->$colis;"destinataireNom";OB Get(visiteur;"scgeNom"))
	ccSetColis (->$colis;"destinatairePrenom";OB Get(visiteur;"scgePrenom"))
	ccSetColis (->$colis;"destinataireResidence";OB Get(visiteur;"scgeRésidence"))
	ccSetColis (->$colis;"destinataireVoie";OB Get(visiteur;"scgeVoie"))
	ccSetColis (->$colis;"destinatairecodePostal";OB Get(visiteur;"scgeCodePostal"))
	ccSetColis (->$colis;"destinataireVille";OB Get(visiteur;"scgeVille"))
	ccSetColis (->$colis;"destinatairecodePays";OB Get(visiteur;"scgePays"))
	
	  //Optionnel mais conseillé.
	ccSetColis (->$colis;"destinataireEmail";OB Get(visiteur;"scgeEmail"))
	
	If (OB Get(visiteur;"scgeTelephone")="06@") | (OB Get(visiteur;"scgeTelephone")="07@")
		ccSetColis (->$colis;"destinataireTelephonePortable";OB Get(visiteur;"scgeTelephone"))
	Else 
		ccSetColis (->$colis;"destinataireTelephoneFixe";OB Get(visiteur;"scgeTelephone"))
	End if 
	
	  // On génére une etiquette et on utilise l'impression automatique sur le serveur.
	$etiquette:=ccGenerateLabel ($colis)

Merci beaucoup,

Je vais intégrer ton composant plutôt que de ré-inventer la roue.

Pas de problème.
Si tu fais des modifications intéressante comme la génération d’étiquette sur le reste du monde, les documents douaniers ou les bordereaux de retours… je suis preneur. ;o)

Bonjour,

En voulant utiliser le web service de colissimo pour générer une étiquette de transport je rencontre un problème mais comme je suis encore en v15, je ne peux pas regarder les deux composants.

Voici mon problème :

à l’exécution de la commande :
WEB SERVICE APPELER(“https://ws.colissimo.fr/sls-ws/SlsServiceWS";"";“generateLabel”;"http://sls.ws.coliposte.fr”;Web Service manuel)
J’obtiens l’erreur suivante renvoyée par 4D (avant la réponse du webservice) :

Error code: 9910
Error 9910 (Erreur SOAP. : Unmarshalling Error: cvc-complex-type.2.4.a: Invalid content was found starting with element ‘generateLabelRequest’. One of ‘{generateLabelRequest}’ is expected. )

Voici l’enveloppe SOAP, j’ai bien vérifié et tout semble correct :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> xxxxxx xxxxx 0 0 PDF_A4_300dpi SendPDFByMail COLD 2018-04-23 0 18F01663 Traditions Monastiques 4.1 1 0 0 0 0 xxxxx Savio Marie Dominique xxx xxxxx FR xxxx xxxxx xxxxx xxxxx FR 18F01663 0 xxxx xxxx xxxx xxxx FR xxxx xxxxx xxxxx xxxx xxxxxxx

Où est le problème ?
Est-ce l’espacename est correct ?

Merci de votre aide

P. Dominique Savio