דילוג לתוכן הראשי
MS
אבי מאיר, מוטי שטינדל ושות׳

Collection API

חיבור מערכות גבייה ב־API: תשלומים, סטטוסים ודוחות בלי עבודה כפולה

כאשר מערכת הלקוח ומערכת הגבייה מעדכנות זו את זו ידנית, נוצרים פערים. API מתוכנן היטב מאפשר להעביר תיקים, לקבל סטטוסים ותשלומים ולסגור מעגל — אבל רק אם מגדירים מראש בעלות על הנתונים, אבטחה והתנהגות במקרי כשל.

תוכן מקצועי של המשרדפורסם: עודכן:

המידע באתר הוא מידע כללי ואינו מהווה ייעוץ משפטי או תחליף לבחינת נסיבותיו של מקרה מסוים. אודות המשרד

API מתחיל בחוזה נתונים, לא בקוד

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

מסמך האפיון צריך לכלול דוגמאות Request/Response, קודי שגיאה והתנהגות במקרה של שדה חסר או ערך לא מוכר.

אימות והרשאות הם חלק מהתכנון

ממשק גבייה עשוי להעביר מידע עסקי ואישי ולכן אין להסתמך על URL סודי. יש להשתמש ב-HTTPS, אימות מתאים, הגבלת הרשאות וניהול סודות מחוץ לקוד.

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

מתכננים מראש retries ו־idempotency

בקשות ברשת נכשלות. לקוח שלא קיבל תשובה עשוי לשלוח שוב, ו-webhook עשוי להגיע יותר מפעם אחת. לכן פעולות כמו קליטת תשלום או פתיחת תיק צריכות לקבל מפתח idempotency או מזהה עסקי שמונע יצירה כפולה.

יש להגדיר גם מדיניות retry: על אילו שגיאות מנסים שוב, אחרי כמה זמן ומתי מעבירים את האירוע לטיפול ידני.

סטטוסים ותשלומים: push או pull?

Webhooks מאפשרים לשלוח אירוע בזמן קרוב להתרחשותו, בעוד polling מאפשר למערכת הלקוח לשאול מדי פעם מה השתנה. לעיתים משלבים ביניהם: webhook לעדכון מהיר ו-endpoint משיכה לצורך reconciliation.

בכל מקרה כדאי לכלול זמן אירוע, מזהה גרסה או sequence ולהגדיר כיצד מטפלים באירועים שהגיעו בסדר שונה.

בלי לוגים ובקרה, אינטגרציה הופכת לקופסה שחורה

כל העברה צריכה להיות ניתנת למעקב באמצעות correlation ID או מזהה דומה. לוג תפעולי צריך להסביר מה התקבל, מה נדחה ומה ממתין ל-retry — תוך הימנעות מחשיפת מידע רגיש שלא נחוץ ללוג.

דשבורד אינטגרציה שימושי מציג שיעור הצלחה, תורים, שגיאות חוזרות וזמן טיפול, ולא רק הודעה כללית ש'ה־API עובד'.

FAQ

שאלות נפוצות

האם API עדיף תמיד על קובץ?

לא. API מתאים במיוחד לזרימה שוטפת ועדכונים תכופים. העברה תקופתית ופשוטה יכולה לעבוד היטב גם בקובץ מובנה עם ולידציה ובקרת קליטה.

מהו Idempotency Key?

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

האם webhook צריך להיות חתום?

בממשקים רגישים מומלץ מנגנון אימות שמאפשר למקבל לוודא את מקור ושלמות ההודעה, לצד HTTPS והגנות נוספות בהתאם לתשתית.

Related Knowledge

מאמרים נוספים שכדאי לקרוא

האמור במאמר הוא מידע כללי בלבד ואינו מהווה ייעוץ משפטי, חוות דעת משפטית או תחליף לבחינה פרטנית של נסיבות ומסמכים.

ביקורת בגוגלדברו איתנו