[webservice] Créer une facture

Bonsoir,

Je recherche à partir des Webservices à créer (et valider) une facture et son paiement.
J’ai utiliser le script suivant :

<?php
$url = "http://localhost/dolibarr/webservices/server_invoice.php?wsdl";
$client = new SoapClient($url);
$authentication = array(
                    "dolibarrkey" => "abcdef1234567890",
                    "sourceapplication" => "",
                    "login" => "user",
                    "password" => "mdp",
                    "entity" => "1"
                  );

$line = array(
	"id" => "28",                            		
	"type" => 0,
	"desc" => "TEST",
	"vat_rate" => 0.000,
	"qty" => 1,
	"unitprice" => 150.00000000,
	"total_net" => 150.0000000,
	"total_vat" => 0.00000000,
	"total" => 150.0000000,
	"date_start" => "",
	"date_end" => "",
	"product_id" => 1,
	"product_ref" => "",
	"product_label" => "",
	"product_desc" => ""
);

$invoice = array(
	"id" => "28", 
	"ref" => "", 
	"ref_ext" => "",
	"thirdparty_id" => 40,
	"fk_user_author" => "1",
	"fk_user_valid" => "1",
	"date" => date("Y-m-d"),
	"date_due" => date("Y-m-d"),
	"date_creation" => date("Y-m-d h:i:sa"),
	"date_validation" => date("Y-m-d h:i:sa"),
	"date_modification" => "",
	"type" => 0,
	"total_net" => 150.00000000,
	"total_vat" => 0.00000000,
	"total" => 150.0000000,
	"payment_mode_id" => 4,
	"note_private" => "",
	"note_public" => "",
	"status" => 2,
	"close_code" => "",
	"close_note" => "",
	"project_id" => "",
	"lines" => $line
);

$res = $client->createInvoice($authentication, $invoice);
var_dump($res);
?>

Mais j’obtiens le résultat suivant :

Je doute sur ce que je dois mettre comme paramètre « id » dans les tableaux « line » et « invoice », mais surtout je n’ai aucune idée de mes erreurs car aucune mention à ce sujet dans documents/dolibarr.log :unhappy: :unhappy:

Bref preneur de vos retours sur mes erreurs.

Merci à vous.

Bonjour,

Je sais que mon post ne va pas répondre à votre question mais sachez que depuis la version 3.9 de Dolibarr les webservices REST sont disponibles et que sur la version 5 les webservices Soap sont dépreciés. Avez-vous la possibilité de passer aux nouveaux ?

Bonne journée,

Bonjour,
Oui, je peux passer en REST, mais comme vous sembliez indiquer que SOAP est obsolète sur mla 5.0, j’ai donc upgradé mon dolibarr en 5.0.1 … çà peut pas faire de mal et je comptais le faire de toutes façons.

Mais là en activant l’API REST, j’ai ceci quand je tente d’y accéder depuis un navigateur à http://localhost/api/index.php/explorer

J’ai supprimé le fichier deprecated (ainsi que de multiples d’autres dans d’autres répertoires), mais cela ne semble pas convenir à dolibarr car au final j’obtiens ceci :

La première ligne étant répétée plusieurs dizaines (voire centaines ?) de fois :o

Bref j’avance pas trop :unhappy:

Bonjour,

Finalement revenu à la version antérieure (4.0.3), l’API REST fonctionne bien, mais le manque de doc est vraiment un gros handicap, il faut fouiller inlassablement dans le code pour s’en sortir !

Bref j’espère arriver à trouver soit des débuts d’exemples de création de factures (via REST) sur le net, à défaut de me débrouiller seul :confused: