he
פינטק

תיעוד API

אתר הלקוח, ה-Back Office וכל מודולי הפלטפורמה עובדים עם קבצי מסד נתונים דרך ה-API, ולא ישירות. ה-API שולט בגישה, שלמות ונכונות הנתונים הנכנסים.

תיאור כללי

איך עובד ה-API?

API - צומת המפתח של הפלטפורמה

תיעוד זה מתאר את כל שיטות ה-API עבור הפעולות הבאות:

  • קבלת רשימות של אובייקטים (שיטת רשימה)
  • סינון רשימה (שיטת רשימה עם נתוני סינון)
  • קבלת מידע מפורט על אובייקט (שיטת הצג)
  • קבלת נתונים עבור טופס הוספה של אובייקט (שיטת הוספה)
  • שמירת נתונים כאובייקט חדש (שיטת אחסון)
  • קבלת נתונים עבור טופס עדכון האובייקט (שיטת עריכה)
  • שמירת הנתונים של האובייקט המעודכן (שיטת עדכון)

בדיקה לפי כתובת IP

ה-API מקבל רק בקשות מרשימה מוגבלת של כתובות IP (לדוגמה, מאתר חשבון של לקוח או מאתר Back Office).

כל בקשה ל-API מכתובת IP שאינה ברשימה המותרת תידחה.

זה נעשה כדי למנוע התקפות DDoS על ה-API, ניסיונות לזייף בקשות וניסויי האקרים.

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

כתובת אתר ושיטה

כל בקשות ה-API מתבצעות באמצעות שיטות ה-HTTP הבאות:

  • GET לרשימה, הצג, הוספה ועריכה
  • POST לחנות
  • PUT לעדכון
  • DELETE למחיקה

כל חלק של ה-API מכיל כתובת URL שאליה מוגשת בקשה לקבל את הנתונים הרלוונטיים.

שיטת בקשת ה-HTTP מצוינת לפני כל כתובת אתר.

שולח בקשה

כל בקשת API חייבת להכיל תמיד 4 משתנים:

  1. data (מחרוזת json עם מערך נתונים עבור API)
  2. user (מחרוזת json עם מערך נתונים על המשתמש הנוכחי)
  3. time (שעה נוכחית באזור זמן UTC)
  4. hash (חתימה דיגיטלית בצורת hash כדי לוודא שהבקשה ל-API היא בהחלט ממקור מורשה)

מקבל תגובה מ-API

אם הבקשה מצליחה, ה-API תמיד מחזיר שני משתנים:

  1. status = true (סטטוס הצלחה)
  2. data (מחרוזת json עם מערך נתונים מ-API)

אם הבקשה נכשלת, ה-API מציג את המשתנים:

  1. status = false (סטטוס שגיאה)
  2. error (מחרוזת טקסט המתארת את השגיאה)

חתימה דיגיטלית

כל בקשת API חייבת להכיל משתנה hash שהוא החתימה הדיגיטלית של הבקשה.

hash = md5($json . $time . $salt)

  • md5, sha256, bcrypt — אלגוריתמי הצפנה זמינים
  • $json — מחרוזת json עם נתוני בקשה
  • $time — זמן בפורמט "DD.MM.YYYY HH:MM:SS"
  • $salt — ערך ייחודי קבוע ("מלח") עבור API של פלטפורמה

פינטק

התיעוד מכיל דוגמאות לבקשות API אמיתיות