Jump to content

Interroger Prestashop Depuis L'api En C#


Recommended Posts

Bonjour,

 

Je dois réaliser un projet avec PrestaShop, et il m'est demandé de créer, modifier des articles, etc, en C#.

J'ai été très étonné de ne trouver aucun tutoriel, aucune documentation après plusieurs jours de recherche, et j'en viens donc à poster sur ce forum, je cherche une documentation expliquant comment utiliser l'API PrestaShop en C#

 

Merci.

Link to comment
Share on other sites

En effet, la seul bibliothèque que je connaisse est en Php, mais je pense que c'est tout a fait possible avec Curl.

 

Je ne sais pas précisément comment faire en C# mais en php, la requête peut être construite comme ceci

$url = _PS_BASE_URL_.'/api/products/?schema=blank';
$key = 'WEBSERVICE_KEY';
$args = array();

// GET prestashop.tld/api/products/?schema=blank
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, $key.':');
// curl_setopt($ch, CURLOPT_POST, 1); // uniquement en requête POST
// curl_setopt($ch, CURLOPT_POSTFIELDS, $args); // uniquement en requête POST
$result = curl_exec($ch);
curl_close($ch);
Edited by Cobs (see edit history)
Link to comment
Share on other sites

Merci pour ta réponse, mais je cherche justement une documentation là dessus, parce que 

 

(GET / POST / PUT / DELETE / etc...)

 

j'imagine bien ce que c'est, mais je ne m'en suis jamais servit donc je n'ai aucune idée de comment ça marche...

Link to comment
Share on other sites

Sinon tu as vu qu'il y avait des infos dans la doc ?

http://doc.prestashop.com/display/PS14/Tutoriel+Webservice+REST

 

exemple :

mon domaine : maboutique.com

methode : [...] ma méthod d'appel

 

Si je veux récupérer les customers :

 

http://maboutique.com/api/customers <- [GET] liste des clients

http://maboutique.com/api/customers/1 <- [GET] information sur le client 1

etc ...

 

Toute les requête renvoit du xml

Si tu veux du json il faut ajouter io_format=JSON

Link to comment
Share on other sites

Oui j'ai déjà lu cette doc, mais encore une fois le problème c'est que c'est du PHP.

 

Je l'ai relu et j'ai été voir leurs exemples et j'ai essayé de convertir ça en C#, mais malgré les similitudes entre les deux langages, je n'ai aucune connaissance en PHP donc je n'arrive à convertir entièrement le code, et de plus ils utilisent une librairie qui n'existe pas en C#, donc à partir de là je ne vois vraiment pas comment faire...  :(

Edited by BenJ936 (see edit history)
Link to comment
Share on other sites

Je comprend pas bien ton problème que ce soit en C, C++, php, nodejs, python ou autre ca change rien.

 

Il suffit de faire des appels http avec la méthode qui correspond.

 

En cherchant un peu :
https://www.prestashop.com/forums/topic/121411-access-to-prestashop-webservice-via-net-application/
https://github.com/Bukimedia/PrestaSharp

 

Et encore j'ai pas cherché longtemps et la liste était plus longue.

Link to comment
Share on other sites

Je ne comprends pas comment ça peut "ne rien changer". Enfin je suis débutant, je ne connais pas ton niveau c'est peut être simple pour toi.
 

 

Il suffit de faire des appels http avec la méthode qui correspond.

 

Mais justement là est ma question, comment faire ça ?

 

J'étais déjà tombé sur PrestaSharp, sauf qu'encore une fois, j'ai cherché comment l'utiliser et je n'ai rien trouvé. Le premier lien je n'avais pas encore vu, je vais lire ça, merci.

Désolé si mes questions peuvent te paraître un peu bête, ça ne fait que 2 mois que je fais du C#, et jusque là je n'ai fait que de petites applications et d'un coup on me demande de faire ça  :unsure: 

 

Link to comment
Share on other sites

Ce que j'essaye à expliquer c'est que ce n'est pas un problème du à un langage puisque l'avantage justement d'un webservice c'est qu'il peut être interfacer avec tous les langages de prog.

 

En général il y a 2 type de webservice soap et restful (les plus courants).

 

Prestashop est de type restful, il suffit donc de prendre un client C# restful (ou de l'écrire) pour interagir avec le webservice de presta.

Donc avant de faire quoi que ce soit, fait des recherches sur ce qu'est une api restful parce que si déjà tu sais pas ce que c'est, tu vas forcement avoir un problème à mettre en place une communication avec l'api (qu'importe le langage).

  • Like 1
Link to comment
Share on other sites

De rien.

 

Pour te prendre un exemple imagé:

C'est comme si on te demande d'écrire une rédaction mais que tu sais pas ce qu'est une feuille et un stylo et que tu ne sais pas t'en servir.

Qu'importe si ta rédaction est en anglais ou en français.

 

Je te renvois rapidos sur la page de wikipedia à ce sujet :
https://fr.wikipedia.org/wiki/Representational_State_Transfer

Edited by kaen25 (see edit history)
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...