1 vote

Création d'une facture par API suggestion Nouveau

Bonjour,

L'API permettant de créer une facture fonctionne correctement quand on lui passe la liste des produit en dur dans le script, exemple :
"positions" => [
["name" => "Produit 11", "tax" => "20", "total_price_gross" => "82.50", "quantity" => "1"],
["name" => "Produit 21", "tax" => "20", "total_price_gross" => "12.50", "quantity" => "3"]
]
En revanche, quand nous construisons un tableau en automatique, l'api nous retourne une erreur 500.
D'après ce que je comprends, cela vient du fait que le tableau qu'on envoi possède des indices pour chaque nouveau tableau.
En effet, le code suivant :
$tab_prod1 = [
'name' => 'Produit 11',
"tax" => "20",
"total_price_gross" => "82.50",
"quantity" => "1"
];
$tab_prod2 = [
'name' => 'Produit 22',
"tax" => "20",
"total_price_gross" => "12.50",
"quantity" => "3"
];

$tab_contenu=array($tab_prod1, $tab_prod2);

Nous retournes ceci :
array(2) { [0]=> array(4) { ["name"]=> string(53) "Produit 11" ["tax"]=> string(5) "20.00" ["total_price_gross"]=> float(82.50) ["quantity"]=> string(4) "1.00" } [1]=> array(4) { ["name"]=> string(57) "Produit 22" ["tax"]=> string(5) "20.00" ["total_price_gross"]=> float(12.50) ["quantity"]=> string(4) "3.00" } }

Avez-vous une idée?

Cordialement,

CMRP 06 décembre 2023 09:28:40
Réponse:

Bonjour, 
 
Pour que notre service technique puisse vous aider, nous aurons besoin de l'intégralité du code. Malheureusement, sur la base des extraits de code que vous avez fournis, il est difficile de définir le problème. De plus, veuillez noter que normalement, nous ne fournissons pas d'aide pour écrire ou débuguer des codes qui ne sont pas rédigés par VosFactures. 
  
Bien Cordialement
Damian
--
 
vosfactures.fr
Damian
facebook
twitter
linkedin
Edité par Factuali SAS
Satisfait de notre logiciel? Évaluez-nous sur TrustPilot, Google ou laissez-nous un témoignage!
 
 

Qui a voté: + 1 Anonyme

Commentaires

uda643899
damian@vosfactures.fr
Réponse:  
Bonjour, 
 
Pour que notre service technique puisse vous aider, nous aurons besoin de l'intégralité du code. Malheureusement, sur la base des extraits de code que vous avez fournis, il est difficile de définir le problème. De plus, veuillez noter que normalement, nous ne fournissons pas d'aide pour écrire ou débuguer des codes qui ne sont pas rédigés par VosFactures. 
  
Bien Cordialement
Damian
--
 
vosfactures.fr
Damian
facebook
twitter
linkedin
Edité par Factuali SAS
Satisfait de notre logiciel? Évaluez-nous sur TrustPilot, Google ou laissez-nous un témoignage!
 
 

06 décembre 2023 14:12:45


CMRP
CMRP
Voici l'ensemble du code :

$tab_prod1 = [
'name' => 'Produit 11',
"tax" => "20",
"total_price_gross" => "82.50",
"quantity" => "1"
];
$tab_prod2 = [
'name' => 'Produit 22',
"tax" => "20",
"total_price_gross" => "12.50",
"quantity" => "3"
];

$tab_contenu=array($tab_prod1, $tab_prod2);



$headers = [
'Accept: application/json',
'Content-Type: application/json',
];
$data_api = [
'api_token' => $api_token,
'invoice' => [
"kind" => "vat",
"number" => "null",
"sell_date" => "2023-10-12",
"issue_date" => "2023-10-12",
"payment_to" => "2023-10-19",
"department_id" => "XXXX",
"client_id" => "XXXX",
"test" => "true",
"positions" => [
$tab_contenu
]
]
];
var_dump($data_api);

$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data_api));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url_api);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$retour_api = curl_exec($ch);

curl_close ($ch);


A noter que si dans position je remplace $tab_contenu par : ["name" => "Produit 11", "tax" => "20", "total_price_gross" => "82.50", "quantity" => "1"], ["name" => "Produit 22", "tax" => "20", "total_price_gross" => "12.50", "quantity" => "3"] tout fonctionne bien.

06 décembre 2023 16:50:49


CMRP
CMRP
Bonjour,

Le problème a été corrigé, je partage donc mon retour si ça peut aider d'autres personnes.
L'erreur que je faisais était de laisser les [ ] pour le champ "positions". Vu que ma variable $tab_contenu était déjà un array, il n'y a pas besoin de rajouter les crochets.

07 décembre 2023 10:37:22


Ajouter un commentaire