Erreur 99999 avec mondial relay

flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   -  
Bruno83200_6929 Messages postés 626 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,
après avoir créé mon compte Mondial Relay, j'ai reçu les identifiants des API version 1 et version 2. Pour chaque compte, j'ai des paramètres de production et des paramètres de test. Pour l'instant, je me concentre sur la version 2.

Je peux créer des étiquettes avec la version 2, mais uniquement avec les paramètres de test. C'est incroyable, ça fonctionne ! J'ai bien créé une étiquette d'expédition.

Cependant, j'essaie depuis des jours et des jours de créer une étiquette avec Mondial Relay en utilisant mes paramètres de production. Bien sûr, je ne modifie rien dans les champs sous les identifiants, je modifie simplement mes identifiants. J'ai essayé toutes les solutions possibles et imaginables. J'ai cherché minutieusement sur le web et, malheureusement, je ne trouve rien, absolument rien, capable de générer mes étiquettes avec mes paramètres de production.

Bien sûr, j'ai essayé de contacter Mondial Relay via Facebook, par téléphone et par e-mail, mais ils ne répondent pas. Alors, si quelqu'un de généreux pouvait m'aider…

Voici le message que je reçois à chacune de mes tentatives. Je vous donne mon code avec une section commentée : mon compte de test qui génère les étiquettes de démonstration, et les paramètres de mon compte de production. Bien sûr, pour des raisons de confidentialité, j'ai légèrement modifié mes identifiants. Merci d'avance pour votre aide.

Voici le message d'erreur avec les informations d'identification de production.

RegisteredShipmentData Object ( [BrandCode] => [Success] => [Messages] => Array ( [0] => RegisteredParcelStatusData Object ( [Message] => A validation error has occurred.

ce code est fourni avec la boite a outil de mondial relay

<?php
    require_once('includes/MondialRelay.API.Class.php');
    
    
    //We declare the client
    $MRService = new MondialRelayWebAPI();
    
/*
//test
$MRService->_Api_CustomerCode   = "BDTEST";
            //$MRService->_Api_BrandId      = "11";
    //$MRService->_Api_SecretKey    = "";
    $MRService->_Api_User           = "BDTEST@business-api.mondialrelay.com";
    $MRService->_Api_Password       = "'2crtPDo0ZL7Q";
    $MRService->_Api_Version        = "2.0";
    */
    
    //production
    $MRService->_Api_CustomerCode   = "CC23FV88";
    //$MRService->_Api_BrandId      = "CC23FV88";
    //$MRService->_Api_SecretKey    = "";
    $MRService->_Api_User           = "CC23FV88@business-api.mondialrelay.com";
    $MRService->_Api_Password       = ":vpCH'WGi7H";
    $MRService->_Api_Version        = "2.0";

    
    
    $MRService->_Debug = false;
    
    //set the merchant adress
    //sender adress
    $merchantAdress = new Adress();
    $merchantAdress->Adress1 = "My book shop";
    //$merchantAdress->Adress2 = "";
    $merchantAdress->Adress3 = "10 rue des écoles";
    //$merchantAdress->Adress4 = "";
    $merchantAdress->PostCode = "6000";
    $merchantAdress->City = "charleroi";
    $merchantAdress->CountryCode = "BE";
    $merchantAdress->PhoneNumber = "+32300000000" ;
    //$merchantAdress->PhoneNumber2 ="";
    $merchantAdress->Email = "hello@mybookshop.com";
    $merchantAdress->Language = "BE";
    
    
    //-------------------------------------------------
    //Shipment Creation Sample
    //-------------------------------------------------
    //Create a new shipment object
    $myShipment = new ShipmentData();

    //set the delivery options
    $myShipment->DeliveryMode = new ShipmentInfo()  ;
    $myShipment->DeliveryMode->Mode = "HOM";
    //parcel Shop ID when required
    //$myShipment->DeliveryMode->ParcelShopId = "41068";
    //$myShipment->DeliveryMode->ParcelShopContryCode = "BE";
//$myShipment->DeliveryMode->ParcelShopCountryCode = "BE";
                               
    
    //set the pickup options
    $myShipment->CollectMode = new ShipmentInfo() ;
    $myShipment->CollectMode->Mode = "CCC";
    //parcel Shop ID when required
    //$myShipment->CollectMode->ParcelShopId = "066974";
    //$myShipment->CollectMode->ParcelShopContryCode = "FR";
    
    $myShipment->InternalOrderReference = "592268872383";
    $myShipment->InternalCustomerReference ="LBG";
    
    //sender adress with the previsously declarated adress
    $myShipment->Sender = $merchantAdress;
    
    //recipient adress
    $myShipment->Recipient = new Adress()  ;
        $myShipment->Recipient->Adress1 = "Robin Mince";
        //$myShipment->Recipient->Adress2 = "Résidence des champs";
        $myShipment->Recipient->Adress3 = "18 rue basse";
        //$myShipment->Recipient->Adress4 = "";
        $myShipment->Recipient->PostCode = "6000";
        $myShipment->Recipient->City = "Charleroi";
        $myShipment->Recipient->CountryCode = "BE";
        $myShipment->Recipient->PhoneNumber = "+32300000000" ;
        $myShipment->Recipient->PhoneNumber2 = "+32600000000";
        $myShipment->Recipient->Email = "client@yopmail.com";
        $myShipment->Recipient->Language = "FR";
    
    //shipment datas
    $myShipment->DeliveryInstruction= "" ;
    $myShipment->CommentOnLabel= "" ;
    
    //parcel declaration (one item per parcel)
    $myShipment->Parcels[0] = new Parcel();
    $myShipment->Parcels[0]->WeightInGr = 1000;
    $myShipment->Parcels[0]->Content = "books ";
    
//  $myShipment->Parcels[1] = new Parcel();
//  $myShipment->Parcels[1]->WeightInGr = 2000;
//  $myShipment->Parcels[1]->Content = "pencils and paints ";
    
    $myShipment->InsuranceLevel="";
    
    $myShipment->CostOnDelivery= 0 ;
    $myShipment->CostOnDeliveryCurrency= "EUR" ;
    $myShipment->Value= 0 ;
    $myShipment->ValueCurrency= "EUR";
    
    //Create the shipment
    //this will return the stickers URL and Shipment number to track the parcel
    
    //creation with Internationnal API
    $ShipmentDatas = $MRService->CreateShipment($myShipment);
    
    print_r($ShipmentDatas);
    echo '<a href="'.$ShipmentDatas->LabelLink.'" >Download Stickers</a>';

?>

2 réponses

Bruno83200_6929 Messages postés 626 Date d'inscription   Statut Membre Dernière intervention   141
 

Bonjour,

Le problème vient très probablement d’un ou plusieurs paramètres obligatoires en prod, notamment BrandCode / BrandId et des champs obligatoires d’adresse / langue / téléphone.

Ajoute un BrandCode (souvent obligatoire en production) :

$MRService->_Api_BrandId = "XX"; // Remplace XX par ta valeur exacte fournie par MR en prod

Remplace "BE" par "FR" dans le champ Language de l’expéditeur et du destinataire, souvent Mondial Relay attend un code langue ISO 639-1 :

$merchantAdress->Language = "FR";
$myShipment->Recipient->Language = "FR";

Vérifie le format des adresses, par exemple, ne pas mettre Adress3 si ce n’est pas nécessaire, mais privilégie Adress1 et Adress2 :

$merchantAdress->Adress1 = "10 rue des écoles";
$merchantAdress->Adress2 = "My book shop"; // plutôt que dans Adress3

Envoie un téléphone sans espaces et bien formaté :

$merchantAdress->PhoneNumber = "+32300000000";

Assure-toi que tu n’utilises pas Adress4 ou autres champs vides, parfois ça pose problème.

Debug plus poussé


Mets $MRService->_Debug = true; pour récupérer des logs plus détaillés.

Essaye de capturer et afficher toutes les erreurs retournées dans le tableau $ShipmentDatas->Messages et pas seulement le premier message :

if (isset($ShipmentDatas->Messages)) {
    foreach ($ShipmentDatas->Messages as $msg) {
        echo $msg->Message . "<br>";
    }
}

Je sais que tu as déjà essayé, mais en général la meilleure manière de contacter leur support technique API est via leur portail dédié ou ton interlocuteur commercial. Parfois ils répondent mieux via un ticket officiel.

0
flexi2202
 

Bonjour

Merci pour l aide et la reponse mais aussi la solution
Mais dans tous les cas c'est toujours le même code déerreur
Même que cela soit claude ou chat GPT aucun ne trouve non plus une solution 
Pour contacter Mondial Relay ils disent qu ils répondent mais jamais de réponse

0
Bruno83200_6929 Messages postés 626 Date d'inscription   Statut Membre Dernière intervention   141
 

Bonsoir,

D'après les recherches que j'ai pu faire, l'erreur 99999 peut être liée à un problème temporaire du serveur de Mondial Relay, comme une indisponibilité ou une surcharge du service. 

Si vous utilisez un point relais ou un mode de livraison (comme un Locker) non autorisé dans votre contrat avec Mondial Relay, cela peut déclencher une erreur de validation comme la 99999. 

Certains utilisateurs ont signalé que l'erreur 99999 apparaît uniquement avec certains points relais, tandis que d'autres fonctionnent correctement. Cela peut être lié à des données spécifiques au point relais (code postal, adresse, etc.) ou à des restrictions dans la base de données de Mondial Relay.

Bruno

0