0 votes

API: Modification de facture question Résolu

Bonjour,
Je souhaite modifier le "paid_date" d'une facture via votre API. Pas de problème pour modifier le statut grâce à la fonction mise à disposition mais pour modifier ? Voici mon code qui ne provoque pas de bug mais n'incrémente pas l'information:
$head = [];
$head[] = "Accept : application/json";
$head[] = "Content-Type: application/json";
$paidDate = $entity->getDateEncaissement();
$paidDate = $paidDate->Format('Y-m-d');

$json = '{"api_token": "' . $token . '", "invoice":{"paid_date":"'. $paidDate .'"}}';

$c = curl_init();

curl_setopt($c, CURLOPT_URL,"https://$host/invoices/$idVosfactures/");
curl_setopt($c, CURLOPT_HTTPHEADER, $head) ;
curl_setopt($c, CURLOPT_POSTFIELDS, $json);

$result = curl_exec($c);

if($result == false){
echo(curl_error($c));
}

curl_close($c);
Si vous aviez une suggestion,
Merci d'avance,
Christophe

Anonyme 11 septembre 2019 16:48:34
Réponse:

Bonjour,

Pourriez-vous nous envoyer la requête complète s'il sous plait ?
Et nous préciser ce que vous renseignez à la place de $idVosfactures. Nous pourrons ensuite répondre à votre question.

 
Bien Cordialement
Agathe
--

 
 







 
 

Commentaires

identifiant
identifiant

Bonjour,

Pourriez-vous nous envoyer la requête complète s'il sous plait ?
Et nous préciser ce que vous renseignez à la place de $idVosfactures. Nous pourrons ensuite répondre à votre question.

 
Bien Cordialement
Agathe
--

 
 







 
 

12 septembre 2019 14:15:16


identifiant
identifiant

(Re)Bonjour,

J'ai eu le retour d'un Développeur entre temps.
Il semblerait que cela vienne tout simplement du fait qu'il manque la ligne curl_setopt($c, CURLOPT_CUSTOMREQUEST, "PUT"); dans votre requête :

$head = []; 
$head[] = "Accept : application/json"; 
$head[] = "Content-Type: application/json"; 
$paidDate = $entity->getDateEncaissement(); 
$paidDate = $paidDate->Format('Y-m-d'); 

$json = '{"api_token": "' . $token . '", "invoice":{"paid_date":"'. $paidDate .'"}}'; 

$c = curl_init(); 

curl_setopt($c, CURLOPT_URL,"https://$host/invoices/$idVosfactures/"); 
curl_setopt($c, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($c, CURLOPT_HTTPHEADER, $head) ; 
curl_setopt($c, CURLOPT_POSTFIELDS, $json); 

$result = curl_exec($c); 

if($result == false){ 
echo(curl_error($c)); 


curl_close($c); 

 

Merci de bien vouloir me confirmer si cela fonctionne maintenant correctement.


Bien Cordialement
Agathe
--

 
 







 
 

12 septembre 2019 15:46:50


Ajouter un commentaire