באמצעות webhooks, ניתן להגדיר למערכת iCount להעביר מידע למערכת שלישית בכל פעם שמופק מסמך בחשבון שלך. כך למשל, אם יש לך עוד מערכת שצריך ליידע אותה בכל פעם שמופק מסמך, ניתן להגדיר ב iCount לשלוח webhook עם כל הנתונים על המסמך, לכתובת מסוימת וברגע שמופק מסמך ב iCount, iCount תשלח אוטומטית את המידע עליו ב POST לכתובת שציינת.

איך מפעילים את ה WebHooks?

כדי להגדיר את ה WebHooks יש להיכנס ל"מערכת->הגדרות->מודולים" ולגלול למודול WebHooks כדי להפעיל אותו. לאחר ההפעלה, יש להיכנס ל"מערכת->הגדרות->אוטומציה" שם תופיע תווית WebHook בה ניתן להגדיר את ה WebHook כפעיל, ולהגדיר את הכתובת שלו.

פורמט ה WebHooks

ה-WebHooks נשלחים מתוך iCount בפורמט JSON והם כוללים את כל המידע שיש על המסמך. אין הגבלה על גודל תוכן ה WebHook אז יש לקחת בחשבון שהוא יכול להיות מרוד גדול במקרה ומדובר במסמכים שמכילים הרבה מידע.

כדי לתפוס את ה-WebHook עליכם להכין מראש בצד השרת המקבל, קוד שידע לעבד את הנתונים הנכנסים. הנה דוגמה לקוד שלנו שיודע לטפל ב-WebHook הנכנס:

<?php $data = json_decode(file_get_contents("php://input"), true); ?>

במקרה הזה ניתן לראות שאנחנו תופסים את ה input, ומפענחים אותו באמצעות json_decode. לאחר מכן אנחנו יכולים להתיחס לתוכן הקובץ שנמצא כרגע בתוך משתנה data$.

שליחה חוזרת של WebHook ממסמך שכבר נוצר

במידת הצורך ניתן לבצע שליחת WebHook חוזרת על מסמך שכבר נוצר. זה מצויין למי שנמצא בתהליכי פיתוח וצריך לבדוק את ה WebHook שוב ושוב ולא רוצה לייצר מסמכים מיותרים.

כדי לבצע שליחה חוזרת יש להיכנס לתוך המסמך המבוקש (ניתן למצוא אותו מתוך חיפוש מסמכים) ואז למעלה משמאל ללחוץ על "אפשרויות" ולבחור את האפשרות לשלוח מחדש את ה WebHook:

דוגמה ל-WebHooks מלא

להלן דוגמה לתוכן ה-webhook של המסמך הזה:

array (
'doctype' => 'invrec',
'docnum' => 3006,
'timeissued' => '2018-06-24 13:18:41',
'clientname' => 'ישראל ישראלי',
'clientaddress' => 'טשרניחובסקי 6
תל אביב
ישראל',
'safety_issue_field' => ",
'inv_rec_number' => '3006',
'dateissued' => '2018-06-24',
'comment' => ",
'totalsum' => '8656.07',
'totalvat' => '1471.53',
'vat_percent' => '17',
'totalwithvat' => '10127.60',
'ammountb4nicui' => '10127.6',
'nicui' => ",
'totalwithnicui' => '10127.6',
’roundup' => ",
'afterdiscount' => '8656.07',
'income_type' => '1',
'tax_exempt' => '0',
'based_on_order' => ",
'salesman_id' => '0',
'invoice_po_number' => 'PO45635',
'orig_printed' => '0',
'imported' => '0',
'lawyer_fees_ov' => '0.00',
'lawyer_fees_nov' => '0.00',
'lawyer_expenses_ov' => '0.00',
'lawyer_expenses_nov' => '0.00',
'lawyer_deposits_ov' => '0.00',
'lawyer_deposits_nov' => '0.00',
'has_cash' => '1',
'has_cheques' => '1',
'has_cc' => '1',
'has_bt' => '1',
'has_hk' => '0',
'has_pp' => '1',
'has_barter' => '1',
'maampercent' => '17',
'user_id' => '1',
'currency' => 'דולר',
'rate' => '3.6170',
'hwc' => '<div>בלה בלה בלה</div>
<div>בלו בלו בלו</div>',
'discount' => '0',
'docnum_base' => NULL,
'doctype_base' => NULL,
'cash.sum' => '100',
'banktransfer.depositedTO' => '1',
'banktransfer.totalPayment' => '400',
'banktransfer.peraonDate' => '2018-06-24',
'banktransfer.bank' => ",
'banktransfer.snif' => ",
'banktransfer.account' => ",
'issuer' => 'יואב פרידמן',
'items' =>
array (
0 =>
array (
'item_id' => '66',
'doctype' => 'invrec',
'docnum' => '3006',
'inventory_item_id' => '0',
'inventory_item_makat' => ",
'serial' => ",
'description' => 'שורה ראשונה',
'long_description' => ",
'unitprice' => '85.47008547',
'quantity' => '1',
'currency' => '5',
'rate' => '1',
'vat_exempt' => '0',
'income_type_id' => '0',
'sku' => ",
),
1 =>
array (
'item_id' => '67',
'doctype' => 'invrec',
'docnum' => '3006',
'inventory_item_id' => '0',
'inventory_item_makat' => ",
'serial' => ",
'description' => 'שורה שניה',
'long_description' => ",
'unitprice' => '170.94017094',
'quantity' => '1',
'currency' => '5',
'rate' => '1',
'vat_exempt' => '0',
'income_type_id' => '0',
'sku' => ",
),
2 =>
array (
'item_id' => '68',
'doctype' => 'invrec',
'docnum' => '3006',
'inventory_item_id' => '0',
'inventory_item_makat' => ",
'serial' => ",
'description' => 'שורה שלישית',
'long_description' => ",
'unitprice' => '256.41025641',
'quantity' => '1',
'currency' => '5',
'rate' => '1',
'vat_exempt' => '0',
'income_type_id' => '0',
'sku' => ",
),
3 =>
array (
'item_id' => '69',
'doctype' => 'invrec',
'docnum' => '3006',
'inventory_item_id' => '0',
'inventory_item_makat' => ",
'serial' => ",
'description' => 'שורה רביעית',
'long_description' => ",
'unitprice' => '341.88034188',
'quantity' => '1',
'currency' => '5',
'rate' => '1',
'vat_exempt' => '0',
'income_type_id' => '0',
'sku' => ",
),
4 =>
array (
'item_id' => '70',
'doctype' => 'invrec',
'docnum' => '3006',
'inventory_item_id' => '0',
'inventory_item_makat' => ",
'serial' => ",
'description' => 'שורה חמישית',
'long_description' => ",
'unitprice' => '427.35042735',
'quantity' => '1',
'currency' => '5',
'rate' => '1',
'vat_exempt' => '0',
'income_type_id' => '0',
'sku' => ",
),
5 =>
array (
'item_id' => '71',
'doctype' => 'invrec',
'docnum' => '3006',
'inventory_item_id' => '0',
'inventory_item_makat' => ",
'serial' => ",
'description' => 'שורה שישית',
'long_description' => ",
'unitprice' => '512.82051282',
'quantity' => '1',
'currency' => '5',
'rate' => '1',
'vat_exempt' => '0',
'income_type_id' => '0',
'sku' => ",
),
6 =>
array (
'item_id' => '72',
'doctype' => 'invrec',
'docnum' => '3006',
'inventory_item_id' => '0',
'inventory_item_makat' => ",
'serial' => ",
'description' => 'שורה שביעית',
'long_description' => ",
'unitprice' => '598.29059829',
'quantity' => '1',
'currency' => '5',
'rate' => '1',
'vat_exempt' => '0',
'income_type_id' => '0',
'sku' => ",
),
),
'cc_payments' =>
array (
0 =>
array (
'id' => '1',
'doctype' => 'invrec',
'docnumber' => '3006',
'cc_cardtype' => 'ויזה',
'cc_paymenttype' => '1',
'cctotal' => '500',
'ccfirstpayment' => '500',
'cc_numofpayments' => '1',
'cc_peraondate' => '2018-06-24',
'cc_shovar' => '12345',
'cc_cardnumber' => '4580',
'cc_holdername' => ",
'cc_month' => '12',
'cc_year' => '2999',
'refunded' => '0',
),
),
'custom' =>
array (
'department_id' => ",
'partner' => ",
),
'client_id' => '4',
'vat_id' => '999888777',
'doc_link' => 'https://app.icount.co.il/hash/p_print.php?code=<sone_code_here>',
'pdf_link' => 'https://s3.amazonaws.com/icount-pdfs/<some-string-here>.pdf',
)