De base dans la documentation de l'API y a la fonction en PHP mais j'essaye de la traduire en NodeJS mais je n'y arrive pas.
Voici le code en PHP :
<?php
require_once('lib/nusoap.php');
// Global Settings definition
// Définition des paramètres globaux
$MR_WebSiteId = "BDTEST12";
$MR_WebSiteKey = "MRT_2012";
$client = new nusoap_client("http://api.mondialrelay.com/Web_Services.asmx?WSDL", true);
$client->soap_defencoding = 'utf-8';
// We define the parameters as a string array. Each Key/Val represents a parameter of the soap call
// On défini les paramètres dans un tableau de chaînes. Chaque paire Clé/Valeur est un paramètre de
l'appel SOAP
$params = array(
'Enseigne' => $MR_ WebSiteId,
'Pays' => "FR",
//'NumPointRelais' => "",
'Ville' => "",
'CP' => "75010",
'Latitude' => "",
'Longitude' => "",
'Taille' => "",
'Poids' => "",
'Action' => "",
'DelaiEnvoi' => "0",
'RayonRecherche' => "20",
//'TypeActivite' => "",
//'NACE' => "",
'NombreResultats' => "20",
);
// We generate the request's security code
// On génère la clé de sécurité de l'appel
$code = implode("", $params);
$code .= $MR_WebSiteKey;
$params["Security"] = strtoupper(md5($code));
// We make the call and load it in the $result var
// On réalise l'appel et stocke le résultat dans la variable $result
$result = $client->call(
'WSI4_PointRelais_Recherche',
$params,
'http://api.mondialrelay.com/',
'http://api.mondialrelay.com/WSI4_PointRelais_Recherche'
);
// We check their is no error during the process
// On vérifie qu'il n'y a pas eu d'erreur
if ($client->fault)
{
echo '<h2>Fault (Expect - The request contains an invalid SOAP body)</h2><pre>';
print_r($result);
echo '</pre>';
}
else
{
$err = $client->getError();
if ($err) { echo '<h2>Error</h2><pre>' . $err . '</pre>'; }
else
{
echo '<h2>Result</h2><pre>';
print_r($result);
echo '</pre>';
}
}
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
?>