domingo, octubre 19, 2014

Conectar Dolibarr con otra aplicación mediante un servicio SOAP

Para conectar con Dolibarr otras aplicaciones, como un carrito de la compra, puede ser muy interesante utilizar los "Web Services" que nos ofrece Dolibarr.

Para activarlos tenemos que ir a Configuración-> Módulos-> Módulos Interfaz y poner a ON los WebServices. También hay que configurar la clave para usar los Web Services (parámetro "dolibarrkey" en webservices). Indicamos una palabra clave que se nos ocurra como por ejemplo: $5x8Cd45Cadec_f?K y pulsamos salvar.


A continuación muestro un ejemplo con Python y la librería suds para obtener una factura:

from suds.client import Client

client = Client('http://www.midominio.es/dolibarr/webservices/server_invoice.php?wsdl')
auth = client.factory.create('authentication')
auth.dolibarrkey='$5x8Cd45Cadec_f?K'
auth.sourceapplication=''
auth.login='usuario'
auth.password='clave'
auth.entity=''

result = client.service.getInvoice(auth,'1')
print result


Otro ejemplo para la creación de un factura:

from suds.client import Client
import datetime


client = Client('http://www.midominio.es/dolibarr/webservices/server_invoice.php?wsdl')

auth = client.factory.create('authentication')
auth.dolibarrkey='
$5x8Cd45Cadec_f?K'
auth.sourceapplication=''
auth.login='usuario'
auth.password='clave'
auth.entity=''

invoice = client.factory.create('invoice')
invoice.date = datetime.datetime.now()
invoice.type=0
invoice.note=''
invoice.note_public='nota publica'
invoice.thirdparty_id=1 # Cliente
invoice.ref_ext=''
invoice.project_id=''

lineas = client.factory.create('LinesArray2')

line = client.factory.create('line')
line.desc='descripcin'
line.type=1
line.product_id=''
line.vat_rate=21
line.qty=1
line.total_net=25
line.total_vat=5.25
line.total=27.5

lineas.line.append(line)
invoice.lines=lineas

result = client.service.createInvoice(auth,invoice)

print result
Publicar un comentario