API REST- Apikey/Apiurl

Bonjour à tous,

Je rencontre un problème concernant l’API REST. J’ai crée un formulaire dont le traitement est géré par un fichier php dans lequel j’ai ajouté l’apiurl et l’apikey mais lorsque je valide mon formulaire, les informations ne rentrent pas dans ma BDD Dolibarr.
Je me demande donc si le problème ne provient pas de l’api key ou de l’url.

En ce qui concerne l’APIkey lorsque je me rends dans la configuration du module API REST:

  • [li]pour le lien: http://<adresse serveur>/htdocs/api/index.php/login?login=<monlogin>&userpassword=<monmdp>[&reset=1]
    => « Not Found The requested URL /htdocs/api/login was not found on this server »[/li]
    [li] pour le 2e lien: https://<adresse>/htdocs/api/index.php/explorer
    => "Cette page ne fonctionne pas Impossible de traiter cette demande via <adresse serveur> à l’heure actuelle (http error 500)
    => mais lorsque j’utilise l’adresse: https://<adresse serveur>/htdocs/api/explorer/, j’obtiens la page décrite avec "404
    « error…/resources.json »[/li]
  • j’ai donc récupéré l’apikey présente sur mon nom utilisateur dans la partie « utilisateurs et groupes » afin de l’intégrer dans mon fichier de traitement php mais cela ne fonctionne pas.

En ce qui concerne l’apiurl, j’utilise :https:/<adresse serveur>/htdocs/api/index.php/.

SI vous voyez qqch qui ne va pas ou avez des pistes de solution, je suis prenante! :happy:
Merci d’avance!
Pour le code du fichier php traitement, le voici:

[code]

<?php /*CONNECTION API CONNECTION API CONNECTION API CONNECTION API*/ function CallAPI($method, $apikey, $url, $data) { $curl = curl_init(); $httpheader = ['DOLAPIKEY: '.$apikey]; switch ($method) { case "POST": curl_setopt($curl, CURLOPT_POST, 1); $httpheader[] = "Content-Type:application/json"; if ($data) curl_setopt($curl, CURLOPT_POSTFIELDS, $data); break; case "PUT": curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); $httpheader[] = "Content-Type:application/json"; if ($data) curl_setopt($curl, CURLOPT_POSTFIELDS, $data); break; default: if ($data) $url = sprintf("%s?%s", $url, http_build_query($data)); } curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HTTPHEADER, $httpheader); $result = curl_exec($curl); curl_close($curl); return $result; } $apiKey = ""; $apiUrl = "https:///htdocs/api/index.php/"; /*CREATION CREATION CREATION CREATION CREATION CREATION*/ // on récupère les variables if(isset($_POST['submit'])){ $organisme=htmlspecialchars($_POST['organisme']); $adresse=htmlspecialchars($_POST['adresse']); $codepostal=htmlspecialchars(trim($_POST['CP'])); $ville=htmlspecialchars($_POST['ville']); $departement=htmlspecialchars($_POST['departement']); $pays=htmlspecialchars($_POST['pays']); $tel=htmlspecialchars(trim($_POST['tel'])); $mail=htmlspecialchars(trim($_POST['mail'])); $siren=htmlspecialchars(trim($_POST['SIREN'])); $statut=htmlspecialchars($_POST['statut']); $isni=htmlspecialchars(trim($_POST['ISNI'])); $date_creation = date("c"); } if($organisme&&$adresse&&$codepostal&&$ville&&$departement&&$pays&&$mail&&$tel&&$siren&&$statut&&$isni){ $newThirdparty = [ "name" =>$organisme, "address" => $adresse, "phone" => $tel, "email" => $mail, "zip"=>$codepostal, "town"=>$ville, "state_id"=>$departement, "country_id"=>$pays, "idprof1"=>$siren, "forme_juridique"=>$statut, "isini"=>$isni, ]; } $newThirdpartyResult = CallAPI("POST", $apiKey, $apiUrl."thirdparties", json_encode($newThirdparty)); $newThirdpartyResult = json_decode($newThirdpartyResult, true); if (isset($newThirdpartyResult["error"]) && $newThirdpartyResult["error"]["code"] >= "300") { // il y a eu une erreur echo "
ERROR", var_dump($newThirdpartyResult), "
"; exit; } else { // tout va bien echo "

Votre dossier d'adhésion a été pris en compte

"; $fk_thirdparty = $newThirdpartyResult; $listThirdparty[$fk_thirdparty] = $organisme; } ?>[/code]