Dokumentacja API BizIn Spis treści Wstęp .................................................................................................................................................... 1 Dostęp do API BizIn............................................................................................................................. 1 Identyfikatory API ................................................................................................................................ 1 Dostępne akcje ..................................................................................................................................... 3 Przykład wywołania API w języku PHP .............................................................................................. 3 Pobieranie danych ............................................................................................................................ 3 Wystawianie dokumentu – proforma ............................................................................................... 5 Opis pól XML dokumentu – proforma:........................................................................................ 6 Wystawianie dokumentu powiązanego ........................................................................................... 8 Opis pól XML dokumentu powiązanego: .................................................................................... 9 Dodawanie (import) dokumentu kosztowego.................................................................................. 9 Debugowanie ...................................................................................................................................... 12

Wstęp API BizIn umożliwia wprowadzanie oraz pobieranie danych przechowywanych w systemie BizIn, w celu integracji z innymi systemami teleinformatycznymi. Komunikacja odbywa się poprzez wymianę danych XML.

Dostęp do API BizIn Komunikacja zewnętrznych systemów IT z systemem BizIn odbywa się za pomocą przesyłania danych w formie dokumentów XML metodą POST. Dane powinny być przesyłane na specjalnie tworzony adres wg poniższego wzoru: https://bizin.pl/apiBizIn.html?idP=NUMER_IDP W miejsce NUMER_IDP, należy wstawić numer idP odczytany z zakładki moje konto, dostępnej w systemie BizIn. W tym samym miejscu znajduje się również klucz API, wykorzystywany podczas autoryzacji. Odpowiednio skonstruowany dokument trzeba przesłać żądaniem POST w polu o nazwie XML.

Zdjęcie 1: Dane dostępowe w zakładce moje konto

Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

1

Identyfikatory API W komunikacji wykorzystywane są identyfikatory ApiId, które służą do wskazywania elementów w słownikach lub obiektach. System prezentuje identyfikatory w widokach większości słowników. np. identyfikator banku, możemy znaleźć w systemie w miejscu: moje konto => Firma => konta bankowe

Zdjęcie 2: ID konta bankowego w systemie BizIn a identyfikatory typów płatności za wystawiony dokument w systemie w miejscu: moje konto => Słowniki => typy płatności

Zdjęcie 3: ID typu płatności w systemie BizIn UWAGA: Identyfikatory prezentowane są jedynie w przypadku gdy firma ma wykupiony odpowiedni abonament z włączonym API.

Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

2

Dostępne akcje addInvoice getInvoice getListInvoices getPurchaseInvoice getListPurchaseInvoices addPurchaseInvoice getStocks

dodawanie nowego dokumentu przychodowego => zwraca XML pobieranie dokumentu przychodowego => zwraca XML pobieranie listy dokumentów przychodowych => zwraca XML (uwaga! max 200 dokumentów w liście) pobieranie dodanego w systemie BizIn dokumentu kosztowego => zwraca XML pobieranie listy dokumentów kosztowych => zwraca XML (uwaga! max 200 dokumentów w liście) dodawanie nowego dokumentu kosztowego => zwraca XML pobieranie towaru z wybranego magazynu => zwraca XML

Przykład wywołania API w języku PHP Dane wymagane przez API BizIn, można wysłać za pomocą biblioteki CURL dostępnej dla wielu języków programowania.

Pobieranie danych Kod przedstawiony poniżej napisany został w języku PHP i zawiera kilka podstawowych akcji zapisanych w postaci gotowego wywołania XML. Wywołania te mogą być testowo przełączane poprzez przepisanie jednego z nich do zmiennej $xmlData. Zwrotnie wyświetlany jest dokument XML. $idP = "2"; $apiAdres = "https://bizin.pl/apiBizIn.html?idP=".$idP; $apiKey= 'ggen22tfhgi2jmq3k4n1tco2z1up12i7'; { ## pobieranie dokumentu przychodowego $xmlGetInvoice = " ".$apiKey." getInvoice 2110 "; } { ## pobieranie listy dokumentów przychodowych $xmlGetListInvoices = " ".$apiKey." getListInvoices ".date("Y-m-d", strtotime ("-12 month"))." ".date("Y-m-d")." "; }

Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

3

{ ## pobieranie dokumentu kosztowego $xmlGetPurchaseInvoice = " ".$apiKey." getPurchaseInvoice 78 "; } { ## pobieranie listy dokumentów kosztowych $xmlGetListPurchaseInvoices = " ".$apiKey." getListPurchaseInvoices ".date("Y-m-d", strtotime ("-12 month"))." ".date("Y-m-d")." "; } { ## pobieranie towaru wybranego magazynu $xmlGetStocks = " ".$apiKey." getStocks 1 0 "; } $xmlData= $xmlGetInvoice; //$xmlData= $xmlGetListInvoices; //$xmlData= $xmlGetPurchaseInvoice; //$xmlData= $xmlGetListPurchaseInvoices; //$xmlData= $xmlGetStocks; $data = array('XML' => $xmlData); $handle = curl_init(); curl_setopt($handle, CURLOPT_URL, $apiAdres); curl_setopt($handle, CURLOPT_POST, 1); curl_setopt($handle, CURLOPT_POSTFIELDS, $data); curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($handle, CURLOPT_ENCODING, 'UTF-8'); $result = curl_exec($handle); curl_close($handle);

header("Content-type: text/xml"); echo $result;

Ten przykład pokazał dość proste akcje z niewielką ilością danych w wywołaniu. Znacznie trudniejszą akcją jest tworzenie dokumentu. Poniżej przykłady (z opisami pól) tworzenia dokumentu proforma oraz dokumentu powiązanego. Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

4

Wystawianie dokumentu – proforma klucz API addInvoice f8J949AD2SSYySqf 5 0 0 0 1 12/06/2014 2014-06-06 2014-06-06 14 0000-00-00 3 100 262 6571054616 Testowy wpis Piotr Czekaj 25-413 Kielce ul. Domaniówka 4 / 30 657-105-46-18 mBank 89712987112498723463264326 1 157 3 2 17 2 3 Usluga nr 2 7 szt. 23 400 Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

5



Opis pól XML dokumentu – proforma: Lp. Nazwa pola

Opis pola

1

ROOT

główny korzeń dokumentu

2

api_key

klucz API wygenerowany z systemu BIZIN

3

action

parametr akcji przyjmuje: addInvoice lub getInvoice

4

transactionID

16 znakowy niepowtarzalny (losowy: alfanumeryczny) identyfikator transakcji (test dotyczy bieżącego dnia)

5

params

kontener parametrów

6

dokument_typ

typ dokumentu ( 3 – Faktura, 5 – proforma)

7

dokument_typ_procedury_marza

typ do róznych odmian marzy

8

dokument_id

podawane tylko w action=> getInvoice

9

dokument_id_doc_zrodlo

0 lub identyfikator (musi być int)

10 dokument_auto_nr_data

wartości 0 lub 1 - automatycznie pilnuje numeru dokumentu, daty wystawienia i daty sprzedaży

11 dokument_nr

numer dokumentu w formie string - tylko jeśli 'dokument_auto_nr_data' == 0

12 dokument_data_wystawienia

tylko jeśli 'dokument_auto_nr_data'==0

13 dokument_data_sprzedazy

tylko jeśli 'dokument_auto_nr_data'==0

14 dokument_typPlatnosciApiId

id typu płatności

15 dokument_data_splaty

0000-00-00 lub data

16 dokument_bankApiId

id banku z systemu bizin

17 dokument_towar_marza

???

18 dokument_uwagi

pusty string dodaje domyślny wpis ustawiony na podmiocie

19 kontrahent

kontener danych kontrahenta

20 kontrahentApiId

id kontrahenta - jeśli jest podany poprawny identyfikator nie porównuje reszty danych

21 kod_kontrahenta

nip lub pesel - same cyfry

22 nazwa

nazwa kontrahenta

23 imię

imię i nazwisko kontrahenta

24 kod

kod pocztowy, np. 25-314

25 miejscowosc

miejscowość, np. Kielce

26 ulica

ulica np. Pawia

27 nr_domu

numer domu, np. 4/39

28 nip

numer nip

29 pesel

numer pesel

30 uwagi

uwagi

31 bank_nazwa

nazwa banku (np. ING Bank Śląski)

32 bank_nr_konta

numer konta bankowego

33 pozycje

kontener zawierający pozycje faktury

Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

6

34 pozycja_(nr)

pozycja numer (nr)

35 typ

Typ pozycji: 1 - id_magazyn, 2 - id_uslugi, 3 - dowolna pozycja

typ = 1 36 magazynApiId

ID magazynu z systemu BizIn. Jeśli typ = 1.

37 ilosc

ilość towaru / usługi

typ = 2 36 uslugiApiId

ID usługi z systemu BizIn. Jeśli typ = 2.

37 ilosc

ilość towaru / usługi

typ = 3 36 nazwa

nazwa usługi / produktu

37 ilosc

ilość towaru / usługi

38 jm

jednostka miary (np. szt, kg itd.)

39 vat

stawka podatku VAT (np. 23)

40 cena_n – cena netto (za 1 jm)

Wystarczy podać jedną z cen, system BizIn obliczy druga na podstawie stawki VAT.

41 cena_b - cena brutto (za 1 jm)

Wystarczy podać jedną z cen, system BizIn obliczy druga na podstawie stawki VAT.

Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

7

Wystawianie dokumentu powiązanego Do wystawiania dokumentu powiązanego, np. Faktury na podstawie dokumentu proforma - należy użyć następującego wzoru dokumentu XML: wfn6mxu9smzmr37jnthgpqn9uo1arsi5 addInvoice 3 0 1026 1 14 2014-06-06 2 ., 0 2014-06-04 263 6571054608 Firma Jasia Fasoli Jaś Fasola Londek Zdrój ul. Wiśniowa 5 657-105-46-08

Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

8

Opis pól XML dokumentu powiązanego: Lp. Nazwa pola

Opis pola

1

ROOT

główny korzeń dokumentu

2

api_key

klucz API wygenerowany z systemu BIZIN

3

action

parametr akcji przyjmuje: addInvoice lub getInvoice

4

transactionID

16 znakowy niepowtarzalny (losowy: alfanumeryczny) identyfikator transakcji (test dotyczy bieżącego dnia)

5

params

kontener parametrów

6

dokument_typ

typ dokumentu ( 3 – Faktura, 5 – proforma)

7

dokument_typ_procedury_marza

(np. 0)

8

dokument_id

podawane tylko w action = getInvoice

9

dokument_id_doc_zrodlo

0 lub identyfikator (musi być int)

10 dokument_auto_nr_data

Wartości 0 lub 1 - automatycznie pilnuje numeru dokumentu, daty wystawienia i daty sprzedaży

11 dokument_typPlatnosciApiId

id typu płatności z systemu BIZIN

12 dokument_data_splaty

0000-00-00 lub data

13 dokument_bankApiId

id banku z systemu BIZIN

14 dokument_dodatkowy_opis

Dodatkowy opis na dokumencie

15 zrodlo_status

Czy dokonać zmiany dokumentu źródłowego: pusty string - bez zmiany, 0 - nieaktywny, 1 - aktywny

16 zrodlo_dataSplaty

pusty string - bez zmiany

17 kontrahent

kontener danych kontrahenta

18 kontrahentApiId

Jeśli jest podany poprawny identyfikator nie porównuje reszty danych. Bark lub 0 oraz pusta reszta pól lub array() - pobiera ze źródła

19 kod_kontrahenta

nip lub pesel - same cyfry

20 nazwa

nazwa kontrahenta

21 imie

imię i nazwisko kontrahenta

22 kod

kod pocztowy, np. 25-314

23 miejscowosc

miejscowość, np. Kielce

24 ulica

ulica np. Pawia

25 nr_domu

numer domu, np. 4/39

26 nip

numer nip

27 pesel

numer pesel

28 uwagi

uwagi

29 bank_nazwa

nazwa banku (np. ING Bank Śląski)

30 bank_nr_konta

numer konta bankowego

Dodawanie (import) dokumentu kosztowego Dodawanie dokumentu kosztowego, wymaga podobnie jak akcja dodawania dokumentu przychodowego użycia dokumentu XML z podanym api_key, action oraz gałęzią params. Poniżej przedstawiamy przykładowe wywołanie. Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

9

wfn6mxu9smzmr37jnthgpqn9uo1araqd addPurchaseInvoice BizIn 1 3 1 FV-2/11/2015 2015-11-23 2015-11-23 Biuro Informacyjne 00-950 Warszawa ul. Woronicza 17 123-154-48-85 Polska 41-344-75-75 [email protected] biuroinformacyjne.to 1231544885 GB28121761937 GB28121761937 4deWind - Barbara Stojko Lecha 10/7A 25-622 KIELCE Wyspy Owcze [email protected] trelemele 7 2015-11-30 1 3071 2 Rejestr usług 17 USŁUGI KSIĘGOWE zażółć gęślą jaźń 1 szt. 100 123 Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

10

100 23 % 23 123 1 PLN 1.0000 1 2015-11-20

Uwagi: •

Zwrotnie generowany jest dokument XML.



Dane w gałęzi params to dokument w standardzie BizIn z usuniętymi niektórymi gałęziami.



Pozycje dodawane są jako towar handlowy magazynu oznaczonego jako domyślny.



Domyślnie podczas dodawania pozycji przypisywana jest pierwsza aktywna kategoria ze słownika.

Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

11

Debugowanie API zawiera także tryb debug, który umożliwia sprawdzanie poprawności wysyłanych danych bez wprowadzania zmian w systemie BizIn. Uruchomienie trybu debug, jest możliwe poprzez dodanie do adresu API parametru &debug=yes https://bizin.pl/apiBizIn.html?idP=NUMER_IDP&debug=yes

Dokumentacja API BizIn – ostatnia zmiana 25.11.2015

12