magento_core_api_lg2L’une des problématiques quand on développe des méthodes dans les API Magento est de pouvoir les tester facilement. Il m’est arrivé de créer/modifier des fonctions API déjà existantes qui communiquaient avec une application iPad. N’ayant pas l’application sous la main, j’ai mis en place un petit script pour « simuler » des appels API.

Premièrement assurez-vous d’avoir un login/mdp et les accès requis dans l’admin Magento :
Système -> Services Web -> Utilisateurs
Système -> Services Web -> Rôles

Deuxièmement, placez un fichier php sur votre serveur (perso je l’ai mis à la racine et nommé « webservicesV1.php ») :

<h1>Test du webservice</h1>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL ^ E_NOTICE);
if(!empty($_POST['login']) && !empty($_POST['mdp']) && !empty($_POST['fonction'])){
	$client = new SoapClient('http://www.monsite.com/api/?wsdl=1');
	$session = $client->login($_POST['login'], $_POST['mdp']);
	if(empty($_POST['params'])){
		$result = $client->call($session, $_POST['fonction']); // he we execute the command using that data we provided
	} else {
		$params = explode('|',$_POST['params']);
		$result = $client->call($session, $_POST['fonction'], $params); // he we execute the command using that data we provided
	}
	print '<div style="padding:10px;background:#D1D1D1;margin-left:20px;margin-right:20px;margin-bottom:10px;">';
	print 'Résultat de la commande <b>'.$_POST['fonction'].'</b><br />';
	print 'Paramètres : <b>'.str_replace('|',', ',$_POST['params']).'</b><br />';
	print '<pre>';
	print_r($result);
	print '</pre>';
	print '</div>';
	$client->endSession($session);
}
?>
<fieldset style="margin-left:20px;margin-right:20px;">
	<legend>Informations</legend>
	<form action="webservicesV1.php" method="post">
		Login* : <input type="text" name="login" value="<?php echo $_POST['login'] ?>"/><br />
		Mdp* : <input type="password" name="mdp" value="<?php echo $_POST['mdp'] ?>" /><br />
		Fonction* : <input type="text" name="fonction" value="<?php echo $_POST['fonction'] ?>" /><br />
		Paramètre(s) : <input type="text" name="params"  value="<?php echo $_POST['params'] ?>" /> (Séparateur : "|")<br />
		<input type="submit" value="Testons !" />
	</form>
</fieldset>

Pour des raisons de sécurité, ce script reste sur mon PC dans mon environnement local et n’est pas sur un serveur. Le principal c’est que le SoapClient pointe sur le serveur souhaité

new SoapClient('http://www.monsite.com/api/?wsdl=1');

Il vous suffit de mettre le login et mdp de votre utilisateur webservice, la fonction à appeler, et les paramètres s’il y’en a. Si vous avez plusieurs paramètres, utilisez le séparateur « | ».

webservice

Testez vos Api V1 Magento facilement
Taggé sur :        

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous utilisons des cookies afin de nous assurer de vous proposer la meilleure expérience sur ce site.
Ok