Page 1 sur 1

API

Posté : 28 avr. 2022, 17:44
par GuillaumeLM
Bonjour,
Je dois faire une liaison avec une API pour archiver des commandes.
Bien sur, les créateurs de l'API n'ont pas prévu de fonction pour cela.
J'ai trouvé comment archiver une commande via html et un formulaire en méthode POST en passant par la plateforme de l'API, j'ai aussi trouvé du code qui me semble être bon:
<?php
$postdata = http_build_query(
    array(
        'id' => 'xxx-xxx-xxx'
    )
);

$opts = array('https' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context = stream_context_create($opts);
$result = file_get_contents('https://xxxxxxxxxxx', false, $context);

var_dump($result);
MAIS, parce qu'il faut un mais, mon var_dump me renvoie la page de connexion à la plateforme, et là, je pêche complètement, comment faire pour passer cette étape de manière automatique? (Bon, en même temps la journée est presque terminée, j'ai plus les yeux en face des trous :roll: )

Re: API

Posté : 29 avr. 2022, 11:29
par Maitrepylos
Bonjour, voici la définition de file_get_content()
file_get_contents — Lit tout un fichier dans une chaîne

Donc le comportement est attendu.
Si vous voulez envoyer une action, la doc de stream_context_create() préconise un fopen()

Re: API

Posté : 29 avr. 2022, 13:46
par @rthur
Le problème est surtout de
1) s'identifier
2) effectuer l'action souhaitée tout en conservant la même session (et donc les cookies d'identification)

Voici un article qui explique bien la méthode "à l'ancienne" avec Curl et une méthode plus simple avec la librairie PHP Guzzle :
https://www.pixelite.co.nz/article/guzz ... ymfony-20/
https://docs.guzzlephp.org/en/stable/

Re: API

Posté : 05 mai 2022, 17:14
par GuillaumeLM
Bonjour et désolé pour mon retour ultra rapide :p
Je regarde ça dès que je peux, cette fonction était un petit plus sur le projet, donc pas prioritaire du tout, mais merci et je reviens vers vous dès que j'en sais plus!!

Re: API

Posté : 17 mai 2022, 16:45
par GuillaumeLM
Bonjour,
bon, au final, on abandonne cette partie, donc sujet clos.
On verra peut-être plus tard.
Merci à tous quand même!