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
מאמרים נוספים שכדאי לקרוא
איכות נתונים בגבייה
איך לשפר איכות נתונים במערך גבייה: מזהים, טלפונים, סכומים, סטטוסים, מסמכים, כפילויות, ולידציה וטיוב לפני טיפול.
לקריאת המאמר ←התאמת תשלומים בגבייה
מדריך לשיוך והתאמת תשלומים במערך גבייה: מזהי עסקה, תיק, סכום, זיכויים, תשלומים חלקיים, חריגים וסגירת סטטוס.
לקריאת המאמר ←אבטחת מידע במערך גבייה
עקרונות פרטיות ואבטחת מידע במערכי גבייה: צמצום מידע, הרשאות, אימות, תיעוד, ספקים, API, לוגים, שמירה ומחיקה, טיפול באירועים.
לקריאת המאמר ←האמור במאמר הוא מידע כללי בלבד ואינו מהווה ייעוץ משפטי, חוות דעת משפטית או תחליף לבחינה פרטנית של נסיבות ומסמכים.