API de BitFactura

  

La API del sistema facilita la integración con otras aplicaciones. En los ejemplos siguientes, utilizamos la herramienta de
CURL - puede cambiarla a cualquier idioma de ordenador.

Por favor contáctanos si necesitas cualquier función adicional de API, la añadiremos lo más pronto posible.

Todos los ejemplos funcionan también con JSON (simplemente necesita cambiar la extensión de xml a json)

La documentación actual está disponible en GitHub: https://github.com/bitfactura/API


API token

El token de API lo tienes que descargar de los ajustes de la aplicación (“Ajustes -> Ajustes de cuenta -> Integración -> Código de autorización de API”)

Facturas

Selecciona todas las facturas de un período de tiempo específico

selecciona facturas del mes actual:

XML curl "http://YOUR_DOMAIN.bitfactura.com/invoices.xml?period=this_month&api_token=YOUR_TOKEN_FROM_APP_SETTINGS" JSON curl "http://YOUR_DOMAIN.bitfactura.com/invoices.json?period=this_month&api_token=YOUR_TOKEN_FROM_APP_SETTINGS" Puede introducir los mismos parámetros que están introducidos en la aplicación (en la lista de facturas)

Selecciona factura por ID

XML curl "http://YOUR_DOMAIN.bitfactura.com/invoices/100.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS" JSON curl "http://YOUR_DOMAIN.bitfactura.com/invoices/100.json&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"

Descargar factura por ID

XML curl "http://YOUR_DOMAIN.bitfactura.com/invoices?oid=nr_zam&api_token=YOUR_TOKEN_FROM_APP_SETTINGS" JSON curl "http://YOUR_DOMAIN.bitfactura.com/invoices?oid=nr_zam&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"

Añadir una factura nueva

JSON (recomendado) >

CURL

curl http://YOUR_DOMAIN.bitfactura.com/invoices.json -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{ "api_token": "YOUR_TOKEN_FROM_APP_SETTINGS", "invoice": { "kind":"vat", "number": null, "sell_date": "2013-02-07", "issue_date": "2013-02-07", "payment_to": "2013-02-14", "seller_name": "Wystawca Sp. z o.o.", "seller_tax_no": "5252445767", "buyer_name": "Klient1 Sp. z o.o.", "buyer_tax_no": "5252445767", "positions":[ {"name":"Produkt A1", "tax":23, "total_price_gross":10.23, "quantity":1}, {"name":"Produkt A2", "tax":0, "total_price_gross":50, "quantity":3} ] }}' Descargar el código CURL

Ruby

endpoint = 'http://YOUR_DOMAIN.bitfactura.com/invoices.json' uri = URI.parse(endpoint) json_params = { "api_token" => "YOUR_TOKEN_FROM_APP_SETTINGS", "invoice" => { "kind" =>"vat", "number" => nil, "sell_date" => "2013-02-07", "issue_date" => "2013-02-07", "payment_to" => "2013-02-14", "seller_name" => "Wystawca Sp. z o.o.", "seller_tax_no" => "5252445767", "buyer_name" => "Klient1 Sp. z o.o.", "buyer_tax_no" => "5252445767", "positions" =>[ {"name" =>"Produkt A1", "tax" =>23, "total_price_gross" =>10.23, "quantity" =>1}, {"name" =>"Produkt A2", "tax" =>0, "total_price_gross" =>50, "quantity" =>3} ] }} request = Net::HTTP::Post.new(uri.path) request.body = JSON.generate(json_params) request["Content-Type"] = "application/json" http = Net::HTTP.new(uri.host, uri.port) response = http.start {|h| h.request(request)} if response.code == '201' ret = JSON.parse(response.body) else ret = response.body end puts ret.to_json Descargar el código Ruby

Si tiene un cliente (cliente_id) y vendedor (department_id):
curl http://YOUR_DOMAIN.bitfactura.com/invoices.json -u 'login:YOUR_PASSWORD -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"api_token": "YOUR_TOKEN_FROM_APP_SETTINGS", "invoice": { "kind":"vat", "number": null, "sell_date": "2013-02-07", "issue_date": "2013-02-07", "payment_to": "2013-02-14", "department_id": 1, "client_id": 2, "buyer_name": "Klient1 Sp. z o.o.", "buyer_tax_no": "5252445767", "positions":[ {"name":"Produkt A1", "tax":23, "total_price_gross":10.23, "quantity":1}, {"name":"Produkt A2", "tax":0, "total_price_gross":50, "quantity":3} ] }}' Descargar el código CURL

XML curl http://YOUR_DOMAIN.bitfactura.com/invoices.xml -u 'login:YOUR_PASSWORD -H 'Accept: application/xml' -H 'Content-Type: application/xml' -d ' vat 2013-02-07 2013-02-07 2013-02-14 Wystawca Sp. z o.o. 5252445767 Klient1 Sp. z o.o. 5252445767 Produkt X1 23 20 1 Produkt X2 0 10 3 ' Descargar el código CURL

Eliminar factura

XML curl -X DELETE "http://YOUR_DOMAIN.bitfactura.com/invoices/100.xml?api_token=YOUR_TOKEN_FROM_APP_SETTINGS" JSON curl -X DELETE "http://YOUR_DOMAIN.bitfactura.com/invoices/100.json?api_token=YOUR_TOKEN_FROM_APP_SETTINGS"

 


Productos / servicios

Productos

curl "http://YOUR_DOMAIN.bitfactura.com/products.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"

Seleciona producto por su ID

curl "http://YOUR_DOMAIN.bitfactura.com/products/100.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"

Widget

Para descargar el formulario de pagos (JS), usar el URL:

http://app.bitfactura.dev/a/YOUR_DOMAIN/p/{{token}}.js

donde {{token}} es el símbolo del producto

 


Clientes

Clientes

curl "http://YOUR_DOMAIN.bitfactura.com/clients.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"

Selecciona cliente por su ID

curl "http://YOUR_DOMAIN.bitfactura.com/clients/100.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"

Cliente por correo electrónico o contraseña

sus clientes pueden ingresar utilizando su correo electrónico y contraseña curl "http://YOUR_DOMAIN.bitfactura.com/clients/check?email=marcin@email.com&password=haslo_przykladowe&api_token=YOUR_TOKEN_FROM_APP_SETTINGS" nota: es importante mantener los apóstrofes en el url


Pagos

Pagos

XML curl "http://YOUR_DOMAIN.bitfactura.com/payments.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS" JSON curl "http://YOUR_DOMAIN.bitfactura.com/payments.json&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"

Selecciona pago por su ID

XML curl "http://YOUR_DOMAIN.bitfactura.com/payments/100.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS" JSON curl "http://YOUR_DOMAIN.bitfactura.com/payment/100.json&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"

Añadir un pago nuevo

JSON (recomendado) curl http://YOUR_DOMAIN.bitfactura.com/payments.json -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{ "api_token": "YOUR_TOKEN_FROM_APP_SETTINGS", "payment": { "city": null, "client_id":null, "comment":null, "country":null, "currency":"PLN", "deleted":false, "department_id":null, "description":"abonament roczny", "email":"email@email.pl", "first_name":"Jan", "generate_invoice":true, "invoice_city":"Warszawa", "invoice_comment":"", "invoice_country":null, "invoice_id":null, "invoice_name":"Company name", "invoice_post_code":"00-112", "invoice_street":"street 52", "invoice_tax_no":"5252445767", "last_name":"Kowalski", "name":"Plantnosc za produkt1", "oid":"", "paid":true, "paid_date":null, "phone":null, "post_code":null, "price":"100.00", "product_id":1, "promocode":"", "provider":"transfer", "provider_response":null, "provider_status":null, "provider_title":null, "quantity":1, "street":null }}' Obtener código de CURL

Más ejemplos: https://github.com/iinvoiceocean/api