L'API XML

Fonctionnement

  • Les messages sont envoyés par une requête HTTP POST.
  • Le contenu des messages et de la réponse est structuré en XML, encodage UTF8.
  • La chaîne XML est placée dans la variable POST nommée xml_feed.
  • L'url de l'api est spécifique à votre compte, vous la trouverez dans PMS dans Réglages. L'url est de la forme:
  • L'authentification est de type HTTP basic authentification. Le username est votre identifiant de compte PMS et le password est la clé API. Vous trouverez ces deux informations dans Réglages

Exemple en PHP

Effectuer un requête HTTP POST avec curl :



$xml_string = "Votre chaîne XML" ;
$accountName = "Votre identifiant de compte PMS";
$apiKey = "Votre clé API";
$url = "https://compte.pms1.net/edi/api";

$data  =  array ( "xml_feed" => $xml_string );

$ch = curl_init(); 

curl_setopt_array($ch, array(
    CURLOPT_URL => $url, 
    CURLOPT_HEADER => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_VERBOSE => true,
    CURLOPT_HEADER => false,
    CURLOPT_POST => true,
    CURLOPT_POSTREDIR => true,
    CURLOPT_POSTFIELDS => $data,
));

$reply = curl_exec ($ch);
curl_close($ch);

Lire la réponse XML avec la classe SimpleXMLElement:


$xml = new SimpleXMLElement($reply); 

if ($xml->getName() == "response")
{
	$nouveau_statut = $xml->order->statut;
    if ($nouveau_statut==90)
    { 
    	/* action à effectuer */ 
    }
}

Syntaxe XML

Certains caractères sont réservés à la syntaxe XML et doivent être échappés s'ils apparaissent dans les données : "<", ">", "&", "%"...

Il est possible également de protéger les données en les enveloppant avec DATA:


<company><![CDATA[Ashton & Cie]]></company>