• Resolved tristanleboss

    (@tristanleboss)


    Bonjour,

    Pour Mondial Relay, si les dimensions du colis comportent des décimales, la génération du bordereau échoue avec une erreur “Taille(Longueur + Hauteur) du colis invalide”.

    Pour reproduire, “Profondeur = 18,3” “Hauteur = 28”, “Largeur = 3”.

Viewing 8 replies - 1 through 8 (of 8 total)
  • alexwcmultishipping

    (@alexwcmultishipping)

    Bonjour,

    Je viens d’essayer avec les mêmes paramètres que vous concernant les dimensions et tout fonctionne de mon côté.

    Je pense que cela vient d’ailleurs. Quel est le poids que vous avez défini ?

    Cordialement.

    Thread Starter tristanleboss

    (@tristanleboss)

    La dernière documentation du webservice disponible sur le site de Mondial Relay ( https://www.mondialrelay.fr/media/123335/solution-web-service-v572.pdf ) précise pourtant, page 22, que la donnée Longueur doit être “3 caractères numériques” et donne même une expression régulière pour valider “^[0-9]{0,3}$”.

    Moi, si je mets Profondeur = 18.3 dans le formulaire et que je soumets, je me retrouve avec ["Longueur"]=> float(18.3) dans le tableau $mondial_relay_label_class->payload au sein de la fonction register_parcels_from_order et le retour de l’API Mondial Relay qui est dans la variable $api_result est bien ["STAT"]=> string(2) "21" qui correspond bien à un problème avec la taille. Ce qui parait pas illogique vu que le plugin envoie un float alors que leur API s’attend à un integer.

    Du coup, il y a bien un problème voire même deux. En effet, la documentation n’est pas hyper claire et ne donne aucun exemple mais la “longueur développée” dont il parle dans la documentation, pourrait être la somme “profondeur + hauteur + largeur” (je vais demander à leur équipe technique). Or, là, le plugin prend juste la profondeur (fonction with_packages dans inc/admin/classes/mondial_relay/mondial_relay_label.php qui n’additionne que les index length des éléments du tableau $parcels_dimensions). Ce qui ne serait pas incohérent si l’on considère qu’un des critères pour pouvoir envoyer un colis Mondial Relay est que la somme des 3 soit inférieure à 150 cm comme on le voit sur le petit schéma de la rubrique Je saisis le poids de mon colis de la page suivante : https://www.mondialrelay.fr/envoi-de-colis/

    EDIT: Le développée est bien la somme “longueur + largeur + hauteur” comme indiqué sur leur site ici https://www.mondialrelay.fr/faq-pro/envoyer-un-colis/quelle-est-la-taille-maximale-pour-envoyer-un-colis/ et dans les CGV https://www.mondialrelay.fr/envoi-de-colis/conditions-generales-de-vente/#:~:text=%2D%20Dimensions%20maximales%20%3A%20le%20d%C3%A9velopp%C3%A9%20(,Dimensions%20minimales%3A%2015cm%20x%2010cm.

    Thread Starter tristanleboss

    (@tristanleboss)

    Après, le plugin Prestashop officiel (le seul téléchargeable gratuitement sur leur site : https://www.mondialrelay.fr/solutionspro/documentation-technique/documentation-techniquemodules/) n’envoie carrément pas la Longueur vu que c’est, d’après la documentation, un champ facultatif…

    Thread Starter tristanleboss

    (@tristanleboss)

    Bon, le service technique Mondial Relay vient de me répondre.

    Question :

    Bonjour,
    
    J'ai une question technique concernant l'utilisation du webservice. La documentation de <code>WSI2_CreationEtiquette</code>, page 22, indique que la donnée <code>Longueur</code> est la "longueur développée". De quoi s'agit-il ? Est-ce juste la longueur du plus long côté d'un paquet (profondeur OU largeur OU longueur) ? Est-ce la somme de tous les côtés d'un paquet (profondeur + longueur + largeur) ?
    
    Merci de transmettre au service concernée ou de m'indiquer comment contacter un technicien. Cordialement,

    Réponse :

    Bonjour Monsieur XX, 
    
    Je vous remercie pour votre demande. En effet, il s’agit du développé du colis qui doit être en CM , soit la Longueur + largeur + hauteur.
    
    Je reste à votre disposition pour toutes demandes. 
    
    Bien cordialement.

    Donc, soit virer l’envoi de la Longueur soit la corriger car, en l’état, ça n’est absolument pas correct.

    alexwcmultishipping

    (@alexwcmultishipping)

    Bonjour,

    Je suis désolé mais je n’ai pas le même résultat que vous. D’où mon incompréhension 😉

    Paramètres envoyés et réponse :
    https://ibb.co/3hFGG5J

    J’ai bien une longueur de 18.3 et n’ai pas d’erreur.

    Je vais néanmoins changer le calcul pour qu’il prenne bien la somme des trois valeurs.

    Cordialement,
    Alexandre

    Thread Starter tristanleboss

    (@tristanleboss)

    Oui, lisez ma réponse à mon autre post et faites le test… on sera fixé 😉 Si vous avez un retour API avec les fameux ‘0000’ (seule possibilité pour que votre code marche chez vous), c’est qu’on a un retour de l’API différent tous les 2.

    Idem pour cette histoire de Longueur qui ne retourne pas d’erreur chez vous alors que moi, j’ai une erreur 21… qui disparait dès que j’enlève le “.3”.

    L’hypothèse la plus probable semble qu’on ne tombe pas sur la même version / machine WebService Mondial Relay en fonction des identifiants car le code qui marche pour vous ne peut absolument pas marcher pour moi. Mon compte a été créé récemment mais n’a rien de spécial… c’est le compte de base.

    Thread Starter tristanleboss

    (@tristanleboss)

    Ok, le souci est le même : les serveurs de test Mondial Relay ne se comportent pas comme les serveurs de production.

    Sur le serveur de test, le webservice ne vérifie pas que la longueur est un integer… alors qu’il vérifie sur le serveur de production.

    De toute façon, pour être conforme à la documentation, 1) il faut additionner longueur + hauteur + profondeur, 2) il faut fournir un integer donc le plugin doit être modifié pour faire un round ou un ceil.

    alexwcmultishipping

    (@alexwcmultishipping)

    Bonjour

    Problème résolu avec la nouvelle version 😉

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘Problème quand les dimensions ont des décimales’ is closed to new replies.