Bienvenido a los foros %s

Foro comunidad hispana Dolibarr

Identificarse Registrarse

invoice webservice con php

Cuestiones sobre cómo utilizar Dolibarr, ayudas sobre las funcionalidades o cualquier cuestión que no está relacionada con un error.
nicocas42
Novato
Mensajes: 2
Registrado: Mar, 25/08/2015, 23:43

invoice webservice con php

Mensaje por nicocas42 »

Hola a todos,

Estoy desarrollando una tienda online, que cuando el cliente haga una compra esta automaticamente genere una factura en dolibar. Esto es lo que tengo por ahora:

Código: Seleccionar todo

$url = "http://localhost/seko/dollibar/dolibarr-3.7.1/htdocs/webservices/server_invoice.php?wsdl";
				$client = new SoapClient($url);
				$fcs = $client->__getFunctions();
				var_dump($fcs);
				$authentication = array(
					"dolibarrkey" => "xxxx",
					"sourceapplication" => "",
					"login" => "xxxx",
					"password" => "xxxxxx",
					"entity" => ""
				);

				$line = array(
									"id" => "57",
									"type" => 0,
									"desc" => "SEKO",
									"vat_rate" => 16.000,
									"qty" => 03,
									"unitprice" => 10500.00000000,
									"total_net" => 10500.0000000,
									"total_vat" => 1680.00000000,
									"total" => 12180.0000000,
									"date_start" => "",
									"date_end" => "",
									"payment_mode_id" => "efectivo",
									"product_id" => 1,
									"product_ref" => "",
									"product_label" => "",
									"product_desc" => ""
						);

				$invoice = array(
					"id" => "57",	                                                    //row id de la factura
					"ref" => "0007",                                                 //numero de factura
					"ref_ext" => "test",                                            //para lo que yo quiera puede ser la refenrencia que se manda a payulatam
					"thirdparty_id" => 3,                                         //id del cliente en este caso 3 fk_soc
					"fk_user_author" => "1",                                  //id del usuario que creo la factura
					"fk_user_valid" => "1",                                     //id del usuario que valido
					"date" => date("Y-m-d"),                                 //fecha de la creacion en la base de datos datec debe tener la hora
					"date_due" => date("Y-m-d"),                        //fecha limite de pago igua a la fecha de creacion en la base ees date_lim_reglement
					"date_creation" => date("Y-m-d h:i:sa"),     //fecha de la creacion en la base de datos datec sin hora
					"date_validation" => date("Y-m-d h:i:sa"),  //fecha de validacion de la factura debe ser igual al de creacion
					"date_modification" => "",                           //en la base de datos es tms fecha de modificacion
					"type" => 0,                                                   //type of invoice 
					"total_net" => 10500.00000000,               //precio total sin iva base de datos total
					"total_vat" => 1680.00000000,                 //precio iva base de datos tva
					"total" => 12180.0000000,                        //precio total con iva base de datos total_ttc
					"note_private" => "",
					"note_public" => "",
					"status" => 2,                                             //ID of status (0=draft, 1=unpayed, 2=payed, 3=abandoned) base fk_statut
					"close_code" => "",
					"close_note" => "",
					"project_id" => "",
					"lines" => $line,

				);

				

				$res = $client->createInvoice($authentication, $invoice);
mi proceso de identificacion funciona correctamente, una vez intento el metodo de createInvoice este no funciona correctamente.

Me sale el siguiente error
An uncaught Exception was encountered

Type: SoapFault

Message: looks like we got no XML document

Filename: C:\wamp\www\seko\codeigniter\application\controllers\Compra.php

Line Number: 258

Backtrace:

File: C:\wamp\www\seko\codeigniter\application\controllers\Compra.php
Line: 258
Function: __call

File: C:\wamp\www\seko\codeigniter\application\controllers\Compra.php
Line: 258
Function: createInvoice

File: C:\wamp\www\seko\codeigniter\index.php
Line: 292
Function: require_once
De antemano gracias por su ayyuda.

saludos,

Avatar de Usuario
aduart
Yoda
Mensajes: 1086
Registrado: Mié, 06/06/2012, 19:37

Mensaje por aduart »

Hola,
No trabaje con web service, pero si desarrollo otros modulos Dolibarr.
Lo unico que puedo sugerirte es usar la funcion dol_syslog() para enviar información
al archivo documents/dolibarr.log (tienes que activar el modulo de log), y de esa forma puedes
ver lo que está pasando.

Saludos,
Eduardo.

nicocas42
Novato
Mensajes: 2
Registrado: Mar, 25/08/2015, 23:43

Mensaje por nicocas42 »

Muchas Gracias Eduardo,

Lo voy a intentar de esta manera.

saludos,