Poniżej fragment integracji bardzo popularnego systemu do księgowania wFirma ze stroną www.
Dodawanie faktury przez api wFirma przez stronę www
Poniższy skrypt php dodaje fakturę do systemu wFirma:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
$login ='adres@email.com'; // ADRES LOGOWANIA DO WFIRMA $password ='hasło'; // HASŁO DO WFIRMA $idcontractor= ; //ID KONTRAHĘTA $usluga = ; // nazwa usługi $kwota = ; // kwota brutto $idcompany = ;// w przypadku kiedy wfirmie masz kilka kont/firm $xmlRequest ='<api> <invoices> <invoice> <contractor> <id>'.$idcontractor.'</id> </contractor> <auto_send_postivo>1</auto_send_postivo> <auto_send>1</auto_send> <paymentmethod>transfer</paymentmethod> <date>'.date("Y-m-d").'</date> <disposaldate>'.date("Y-m-d").'</disposaldate> <paymentdate>'.date("Y-m-d", strtotime("+1 week")).'</paymentdate> <invoicecontents> <invoicecontent> <price_type>brutto</price_type> <name>'.$usluga.'</name> <unit>szt.</unit> <count>1</count> <price>'.$kwota.'</price> <vat>23</vat> </invoicecontent> </invoicecontents> </invoice> </invoices> </api>'; $ch = curl_init(''); curl_setopt($ch, CURLOPT_URL, 'http://api2.wfirma.pl/invoices/add?company_id='.$idcompany); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest); curl_setopt($ch, CURLOPT_USERPWD, $login.':'.$password ); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); |
Musisz pamiętać, że żeby się to udało potrzebujesz znaleźć kod id kontrachenta po przez odpowiednie zapytanie do api.
W przypadku wielu kont wFirma, trzeba też znać swoje companyID. Jak je uzyskać?
Jak uzyskać companyID
Jeśli Twoje zapytania zwracają błąd: COMPANY ID REQUIRED, to znaczy że aby uzyskać odpowiedź Api potrzebujesz uzkać CompanyID
Zrobisz to metodą /user_companies/find
Mam nadzieje, że Ci pomogłem, w przypadku problemów, proszę o komentarz.