חוקי API: הבדלים בין גרסאות בדף

מתוך Mind Connect
קפיצה לניווט קפיצה לחיפוש
(הוספת כותרת עבור רשימת קודי שגיאה)
 
(15 גרסאות ביניים של 3 משתמשים אינן מוצגות)
שורה 1: שורה 1:
מערכת ה CRM מאפשרת לקבל לקוחות למאגרים קיימים על-ידי API וכך לקבל את הלידים שמגיעים מפרסומים ממומנים ישירות למאגר הלקוחות במערכת.
מערכת ה CRM מאפשרת לקבל לקוחות למאגרים קיימים על-ידי API וכך לקבל את הלידים שמגיעים מפרסומים ישירות למאגר הלקוחות במערכת.


יצירה או עריכת חוקי API מתבצעת כברירת מחדל בתפריט הראשי: "פרויקטים" ← "ניהול" ← "חוקי API".
יצירה או עריכת חוקי API מתבצעת כברירת מחדל בתפריט הראשי: "פרויקטים" ← "ניהול" ← "חוקי API".
 
__TOC__
=== יצירת חוק API ===
=== יצירת חוק API ===
כדי ליצור API חדש תחילה יש לבחור את הפרויקט ואת המאגר שמשויך לפרויקט שאליו נרצה לשייך את הלקוחות שיגיעו דרך ה API.
כדי ליצור API חדש תחילה יש לבחור את הפרויקט ואת המאגר שמשויך לפרויקט שאליו נרצה לשייך את הלקוחות שיגיעו דרך ה API.
שורה 21: שורה 21:
###'''אם הלקוח כבר קיים במערכת:''' לקוח ייחשב כפול אם לא עבר פרק הזמן שהוגדר בשדה זה.
###'''אם הלקוח כבר קיים במערכת:''' לקוח ייחשב כפול אם לא עבר פרק הזמן שהוגדר בשדה זה.


#'''בחירת מגבלות IP:''' ההתחברות ל IP מתבצעות לפי כתובות IP, יש לבדוק את הגבלות ה API של הממשק אליהם אתם מתחברים. לדוגמא, integromat מצריך את להוסיף את ה API הבאים: 82.208.14.119 - 82.208.14.110.[[קובץ:בחירת מגבלות IP.png|ללא|ממוזער|יצירת סוג API חדש - בחירת מגבלות IP]]
#'''בחירת מגבלות IP:''' ההתחברות ה API מתבצעות לפי כתובות IP, יש לבדוק את הגבלות ה IP של הממשק אליו אתם מתחברים. לדוגמא, integromat (make) מצריך אישור כתובת IP לפי [https://www.make.com/en/help/connections/allowing-connections-to-and-from-make-ip-addresses המסמך באתר שלהם]. [[קובץ:בחירת מגבלות IP.png|ללא|ממוזער|יצירת סוג API חדש - בחירת מגבלות IP]]
בסיום התהליך יש ללחוץ על "אישור" וייווצר חוק API חדש. המשויך למאגר שהגדרנו.
בסיום התהליך יש ללחוץ על "אישור" וייווצר חוק API חדש. המשויך למאגר שהגדרנו.


שורה 35: שורה 35:
* '''שכפול חוק:''' מאפשר לשכפל חוק API במידה ונרצה ליצור חוק API עם הגדרות זהות לחוק API חדש.[[קובץ:שיכפול חוק API קיים.png|ללא|ממוזער|שיכפול חוק API קיים]]
* '''שכפול חוק:''' מאפשר לשכפל חוק API במידה ונרצה ליצור חוק API עם הגדרות זהות לחוק API חדש.[[קובץ:שיכפול חוק API קיים.png|ללא|ממוזער|שיכפול חוק API קיים]]
* '''יצירת מפתח חדש:''' בחירה באפשרות זו תשנה את המפתח של חוק ה API.
* '''יצירת מפתח חדש:''' בחירה באפשרות זו תשנה את המפתח של חוק ה API.
* '''היסטוריית בקשות:''' מאפשר לצפות בכל בקשות ה API שהתקבלו.
* '''היסטוריית בקשות:''' מאפשר לצפות בכל [[בקשות API|בקשות ה API שהתקבלו.]]
* '''מחיקת חוק:''' מוחק את חוק ה API.
* '''מחיקת חוק:''' מוחק את חוק ה API.


=== קישור ה API ===
=== קישור ה API ===
נדגים יצירת קישור API בין פרסום פייסבוק למערכת CRM על-ידי המערכת integromat (אפשר לבצע תהליך זה עם כל מערכת אחרת לנוחיותכם).
לנוחיותכם, מובאים כאן הגדרות התממשקות ל-API של Make ושל Zapier.
 
* [[Make (Integromat)|להגדרות של Make (לשעבר Integromat)]]
*[[חיבור MAKE APP|להגדרות שימוש ב-Make App]]
* [[Zapier|להגדרות של Zapier]]
 
=== סוגי תשובות ה-API ===
מצ"ב קודי תשובות מה-API וההסברים. התשובה המחוזרת היא בפורמט JSON הבא:<syntaxhighlight lang="json">
{
    "result": <true/false>,
    "data": [
        {
            "code": <int>, //0 for success, other for failure
            "message": <string>, // describes the error for failure, or record id for success
            "status": <success/duplicate>, // for success and duplicate results. for failure, will not exists.
            "repository assign id": <int> // relations id of the customers, or for the given customer
        }
    ],
    "id": <int> // id of the request
}
 
</syntaxhighlight>דוגמא לכישלון:<syntaxhighlight lang="json">
{
    "result": false,
    "data": [
        {
            "code": 12,
            "message": "IP [1.1.1.1] is not allowed for API 1"
        },
        {
            "code": 13,
            "message": "Authentication key mismatch for API 1"
        },
        {
            "code": 14,
            "message": "Incorrect request type for API 1"
        },
        {
            "code": 15,
            "message": "No customer fields found in request"
        }
    ],
    "id": "11337"
}
 
</syntaxhighlight>דוגמא להצלחה:<syntaxhighlight lang="json">
{
    "result": true,
    "data": [
        {
            "code": 0,
            "message": "4992062",
            "status": "success",
            "repository assign id": "4992062",
        }
    ],
    "id": "11308"
}
 
</syntaxhighlight>דוגמא לתשובה כאשר הלקוח קיים (ונפסל על כפילות):<syntaxhighlight lang="json">
{
    "result": true,
    "data": [
        {
            "code": 40,
            "message": "Customer already exists",
            "status": "duplicate",
            "repository assign id": 4992063
        }
    ],
    "id": "11336"
}
 
</syntaxhighlight>


# אם נרצה לקשר חוק API קיים אפשר להתקדם לשלב הבא.  במידה ואין חוק API קיים או שנרצה לקשר לחוק API חדש, יש ליצור חוק API חדש לפי השלבים שמופיעים בראש העמוד תחת "יצירת חוק API".
=== רשימת קודי שגיאה עבור חוקי API ===
# נתחבר ל integomat ונקשר את הפרסום בפייסבוק (או בכל אתר אחר) ל integromat.
להלן רשימה מלאה של קודי השגיאה המוחזרים
# נלחץ על הפלוס שמופיע ב "router"[[קובץ:Integromat קישור API 1.png|ללא|ממוזער]]
{| class="wikitable"
# נבחר HTTP [[קובץ:Integromat קישור API 2.png|ללא|ממוזער]]
|error id
# לאחר מכן תפתח רשימת אפשרויות, ונבחר "Make a request"[[קובץ:Integromat קישור API 3.png|ללא|ממוזער]]
|error message
# נחזור למערכת ה CRM, נלחץ מקש ימני על חוק ה API שאותו נרצה לקשר ונבחר הצג קישור.[[קובץ:Integromat קישור API 4.png|ללא|ממוזער]]
|explanation
# לפני השדות שמופיעים בקישור כך נמלא את הפרטים ב integromat.[[קובץ:Integromat קישור API 7.png|ללא|ממוזער]]<br />יש להוסיף תחת Query string:
|-
## auth_key: ולהעתיק את הקישור עד api.php.
|0
## f1: ולרשום ולבחור את השדה שהופיע ליד f1 בקישור.
|<id of customer>
## f2: ולרשום ולבחור את השדה שהופיע ליד f2 בקישור.
|הצלחה, מחזיר את מזהה שיוך הלקוח למאגר במערכת
## f3: ולרשום ולבחור את השדה שהופיע ליד f3 בקישור.
|-
## במידה וחוק ה API יכיל יותר תאים או פחות כמות ה fים תהיה גדולה או קטנה בהתאמה.
|1
# נלחץ מקש ימני על המודל שכעט יצרנו ונבחר "Run this module only" כדי לבדוק האם החוק שיצרנו עובד.[[קובץ:Integromat קישור API 6.png|ללא|ממוזער]]
|Empty request
# נמלא פרטי בדיקה ונלחץ "OK"[[קובץ:Integromat קישור API 8.png|ללא|ממוזער]]
|התקבלה בקשה ללא שדות כלל
# כעט נחזור לחוק ה API, נלחץ עליו מקש ימני ונבחר: "היסטורית בקשות".[[קובץ:Integromat קישור API 9.png|ללא|ממוזער|612x612 פיקסלים]]בסיום התהליך נאכל לראות כי הסטטוס הוא "בהצלחה" וזה אומר שהקישור עובד באופן תקין.
|-
# במידה ונקבל סטטוס "כישלון" זה יכול להיות מכמה סיבות:
|2
## ה method של ה API ב integromat וב CRM שונה. (לדוגמא, אחד מהם מוגדר על post והשני על get).
|Authentication key not provided
## צריך לוודא שה-IPים שהגדרנו בעת היצירה תואמים למה שנדרש מהמערכת אליה אנחנו מנסים להתחבר, לדוגמא integromat דורשים שיהיו כל ה IPים בין: 82.208.14.119 - 82.208.14.110.
|התקבלה בקשה ללא מפתח זיהוי
|-
|3
|Project needed but not exists
|התקבלה בקשה ל-API כללי ללא מזהה פרויקט
|-
|10
|API status is not active
|ה-API המבוקש אינו פעיל
|-
|11
|The Ip field is invalid
|התרחשה שגיאה בפיענוח IP של מבקש הבקשה
|-
|12
|IP [<ip>] is not allowed
|התקבלה בקשה מכתובת IP לא מאושרת
|-
|13
|Authentication key mismatch
|מפתח האימות שהתקבל אינו תואם למפתח האימות שהוגדר לבקשה
|-
|14
|Incorrect request type
|סוג הבקשה שהתקבלה אינו תואם לסוג  הבקשה שהוגדר
|-
|15
|No customer fields found in request
|לא נמצאו שדות לקוח בבקשה שהתקבלה
|-
|17
|No API rule found for given auth_key
|לא נמצאה הגדרת API עבור מפתח האימות שהתקבל
|-
|18
|No API rule found for rule fields
|לא נמצאה הגדרת API עבור שדה החיפוש שהוגדר (sid)
|-
|19
|Api rule is inactive for the given field
|שיוך חוק ה-API לפי שדה החיפוש שהוגדר אינו פעיל
|-
|20
|Requests limit exceeded
|מספר הבקשות שהתקבלו חורגות מהמותר
|-
|21
|Failed requests limit exceeded
|מספר הבקשות שנכשלו חורגות מהמותר
|-
|30
|Invalid phone fields found
|שדה טלפון שהתקבל לא תקין
|-
|31
|Phone <field id> (phone type) invalid
|הערך <field id> אינו מספר טלפון תקין
|-
|32
|Fholder <fieldnumber> is invalid
|הערך בשדה <fieldnumber> אינו תקין
|-
|40
|Record already exists
|הלקוח קיים במערכת וסומן ככפול לפי הגדרות בקשת ה-API
|-
|41
|Insert customer status error
|קביעת סטטוס ללקוח נכשלה
|-
|42
|Insert customer details error
|הכנסת פרטי הלקוח לבסיס הנתונים נכשלה
|-
|43
|Black list customer
|לקוח ברשימה שחורה
|-
|99
|Could not insert request
|התרחשה שגיאה בהכנסת הבקשה לבסיס הנתונים
|}

גרסה אחרונה מ־10:59, 24 ביולי 2025

מערכת ה CRM מאפשרת לקבל לקוחות למאגרים קיימים על-ידי API וכך לקבל את הלידים שמגיעים מפרסומים ישירות למאגר הלקוחות במערכת.

יצירה או עריכת חוקי API מתבצעת כברירת מחדל בתפריט הראשי: "פרויקטים" ← "ניהול" ← "חוקי API".

יצירת חוק API

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

יצירת חוק API חדש

לאחר שנבחר מאגר ההערה שבכחול "עליך לבחור מאגר בכדי להתחיל לערוך חוקי API" תתחלף ל '+'.

כפתור יצירת חוק API חדש

כאשר נלחץ על ה'+' נעבור לתהליך יצירת חוק API חדש עם ארבעה שלבים:

  1. בחירת שדות: בשלב זה נבחר את השדות אותם נרצה שה API ימלא במאגר כאשר הוא מקבל נתוני הלקוחות.
    בחירת שדות ביצירת חוק API חדש
  2. הגדרות API:
    יצירת חוק API חדש - הגדרות API
    1. שיטת גישה לחוק API: נדרש לבחור את שיטת משלוח ה-API (יש להתאים את השיטה לצורת השליחה של מקור ה-API).
    2. הגבל את סך הבקשות בפרק זמן מסוים: מגביל את סך בקשות ה API שיכולות להתקבל בפרק זמן מוגדר (עוזר למניעת ספאם).
    3. הגבל את מספר הבקשות שנכשלו בפרק זמן מסוים: מגביל את מספר בקשות ה API שנכשלו בעת קבלתם (עוזר למניעת ספאם).
  3. סוג חוק API:
    הגדרת סוג חוק API ביצירת חוק API API
    1. סטטוס לקוח: לקוחות שייכנסו דרך ה API הסטטוס יוגדר להם כפי הסטטוס שנבחר ב "סטטוס לקוח". (שדה זה אינו שדה חובה).
    2. הגדרות API:
      1. לקוח ממקור אורגני: לקוחות ממקור אורגני מקבלים עדיפות על לקוחות ממקור שאינו אורגני ולכן אם קיים לקוח ממקור לא אורגני ואותו לקוח התווסף ממקור אורגני הפרטים של הלקוח התעדכנו לפי המקור האורגני.
      2. אם הלקוח כבר קיים במערכת: לקוח ייחשב כפול אם לא עבר פרק הזמן שהוגדר בשדה זה.
  1. בחירת מגבלות IP: ההתחברות ה API מתבצעות לפי כתובות IP, יש לבדוק את הגבלות ה IP של הממשק אליו אתם מתחברים. לדוגמא, integromat (make) מצריך אישור כתובת IP לפי המסמך באתר שלהם.
    יצירת סוג API חדש - בחירת מגבלות IP

בסיום התהליך יש ללחוץ על "אישור" וייווצר חוק API חדש. המשויך למאגר שהגדרנו.

עריכת חוק API קיים

קיימת אפשרות לערוך חוק API קיים על-ידי לחיצה ימנית בעכבר על חוק ה API אותו נרצה לשנות.

עריכת חוק API קיים


לאחר הלחיצה יפתחו מספר אפשרויות:

  • הצגת קישור: מציג את הקישור של ה API. בעזרת הקישור מתחברים ל integromat, zapier וכו'.
    הצגת קישור API
  • עריכת חוק: מאפשר לערוך את כל השלבים שעברנו עליהם בעת יצירת חוק ה API.
    עריכת חוק API
  • שכפול חוק: מאפשר לשכפל חוק API במידה ונרצה ליצור חוק API עם הגדרות זהות לחוק API חדש.
    שיכפול חוק API קיים
  • יצירת מפתח חדש: בחירה באפשרות זו תשנה את המפתח של חוק ה API.
  • היסטוריית בקשות: מאפשר לצפות בכל בקשות ה API שהתקבלו.
  • מחיקת חוק: מוחק את חוק ה API.

קישור ה API

לנוחיותכם, מובאים כאן הגדרות התממשקות ל-API של Make ושל Zapier.

סוגי תשובות ה-API

מצ"ב קודי תשובות מה-API וההסברים. התשובה המחוזרת היא בפורמט JSON הבא:

{
    "result": <true/false>,
    "data": [
        {
            "code": <int>, //0 for success, other for failure
            "message": <string>, // describes the error for failure, or record id for success
            "status": <success/duplicate>, // for success and duplicate results. for failure, will not exists.
            "repository assign id": <int> // relations id of the customers, or for the given customer
        }
    ],
    "id": <int> // id of the request
}

דוגמא לכישלון:

{
    "result": false,
    "data": [
        {
            "code": 12,
            "message": "IP [1.1.1.1] is not allowed for API 1"
        },
        {
            "code": 13,
            "message": "Authentication key mismatch for API 1"
        },
        {
            "code": 14,
            "message": "Incorrect request type for API 1"
        },
        {
            "code": 15,
            "message": "No customer fields found in request"
        }
    ],
    "id": "11337"
}

דוגמא להצלחה:

{
    "result": true,
    "data": [
        {
            "code": 0,
            "message": "4992062",
            "status": "success",
            "repository assign id": "4992062",
        }
    ],
    "id": "11308"
}

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

{
    "result": true,
    "data": [
        {
            "code": 40,
            "message": "Customer already exists",
            "status": "duplicate",
            "repository assign id": 4992063
        }
    ],
    "id": "11336"
}

רשימת קודי שגיאה עבור חוקי API

להלן רשימה מלאה של קודי השגיאה המוחזרים

error id error message explanation
0 <id of customer> הצלחה, מחזיר את מזהה שיוך הלקוח למאגר במערכת
1 Empty request התקבלה בקשה ללא שדות כלל
2 Authentication key not provided התקבלה בקשה ללא מפתח זיהוי
3 Project needed but not exists התקבלה בקשה ל-API כללי ללא מזהה פרויקט
10 API status is not active ה-API המבוקש אינו פעיל
11 The Ip field is invalid התרחשה שגיאה בפיענוח IP של מבקש הבקשה
12 IP [<ip>] is not allowed התקבלה בקשה מכתובת IP לא מאושרת
13 Authentication key mismatch מפתח האימות שהתקבל אינו תואם למפתח האימות שהוגדר לבקשה
14 Incorrect request type סוג הבקשה שהתקבלה אינו תואם לסוג הבקשה שהוגדר
15 No customer fields found in request לא נמצאו שדות לקוח בבקשה שהתקבלה
17 No API rule found for given auth_key לא נמצאה הגדרת API עבור מפתח האימות שהתקבל
18 No API rule found for rule fields לא נמצאה הגדרת API עבור שדה החיפוש שהוגדר (sid)
19 Api rule is inactive for the given field שיוך חוק ה-API לפי שדה החיפוש שהוגדר אינו פעיל
20 Requests limit exceeded מספר הבקשות שהתקבלו חורגות מהמותר
21 Failed requests limit exceeded מספר הבקשות שנכשלו חורגות מהמותר
30 Invalid phone fields found שדה טלפון שהתקבל לא תקין
31 Phone <field id> (phone type) invalid הערך <field id> אינו מספר טלפון תקין
32 Fholder <fieldnumber> is invalid הערך בשדה <fieldnumber> אינו תקין
40 Record already exists הלקוח קיים במערכת וסומן ככפול לפי הגדרות בקשת ה-API
41 Insert customer status error קביעת סטטוס ללקוח נכשלה
42 Insert customer details error הכנסת פרטי הלקוח לבסיס הנתונים נכשלה
43 Black list customer לקוח ברשימה שחורה
99 Could not insert request התרחשה שגיאה בהכנסת הבקשה לבסיס הנתונים