La API del sistema facilita 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
El token de API lo tiene que descargar de los ajustes de la aplicación (“Ajustes -> Ajustes de cuenta -> Integración -> Código de autorización de API”)
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)
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"
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"
JSON (recomendado) >
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
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 tal 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 '
Descargar el código CURL
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"
curl "http://YOUR_DOMAIN.bitfactura.com/products.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"
curl "http://YOUR_DOMAIN.bitfactura.com/products/100.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"
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
curl "http://YOUR_DOMAIN.bitfactura.com/clients.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"
curl "http://YOUR_DOMAIN.bitfactura.com/clients/100.xml&api_token=YOUR_TOKEN_FROM_APP_SETTINGS"
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
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"
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"
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