שאילתא דרך API

ניתן לשלוף נתונים דרך התממשקות ל API של מערכת Powerlink.

שליפת הנתונים מתבצעת עם פעולת Query.

Action: Query

Method: POST

URL: https://api.powerlink.co.il/api/query

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

 

 

דוגמה לשאילתא המביאה לנו 50 תוצאות בדף החל מהדף הראשון והיא תציג לנו שם, טלפון, דוא"ל, ו-ID מתוך אובייקט הלקוחות כאשר התוצאות ממויינות לפי שם הלקוחות בסדר יורד.
 

{

   "objecttype": 1,

   "page_size": 50,

   "page_number": 1,

   "fields": "accountname,  emailaddress1,telephone1, accountid",

   "query": "(statuscode = 2)",

   "sort_by": "accountname",

   "sort_type": "desc"

}

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

* חשוב: שימו לב להכניס רווח לפני ואחרי סימן ה "=" על מנת שהQUERY יעבוד. 

 

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

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

 

הערה חשובה:

במידה ומדובר בחיפוש רשומה כאשר אחד משדות הרשומה מכיל גרשיים ("), יש להוסיף מלפני ואחרי הערך '_' במקום "_".

לדוגמא- חיפוש רשומה, כאשר השדה Accountname שווה ל- חברה בע"מ:

{

   "objecttype": 1,

   "page_size": 50,

    "Accountname" : 'חברה בע"מ',

   "page_number": 1,

   "fields": "accountname,emailaddress1,telephone1, accountid",

   "query": "(statuscode = 2)"

}

יש לוודא שאנו משתמשים במתודה POST.

 

דוגמא לשאילתא שבעזרתה נוכל לקבל accountid של לקוח ספציפי לפי שדה תעודת זהות:

 

Action: Query

Method: POST

URL: https://api.powerlink.co.il/api/query

 

BODY:

    "objecttype": 1, 
    "page_size": 50, 
    "page_number": 1, "fields": "accountid", 
    "query": "(idnumber = 333)", 
    "sort_by": "accountname", 
    "sort_type": "desc" 
   }
RESPONSE:
{
    "success": true,
    "data": {
        "ObjectName": "לקוח",
        "SystemName": "Account",
        "PrimaryKey": "accountid",
        "PrimaryField": "accountname",
        "ObjectType": 1,
        "PageNum": 1,
        "SortBy": "accountname",
        "SortBy_Desc": true,
        "IsLastPage": true,
        "Columns": [
            {
                "name": "לקוח",
                "fieldname": "accountid",
                "systemfieldtypeid": "a8fcdf65-91bc-46fd-82f6-1234758345a1",
                "fieldobjecttype": 1,
                "isprimaryfield": false,
                "isrequired": false,
                "isreadonly": false,
                "maxlength": null
            }
        ],
        "Data": [
            {
                "accountid": "c3117df4-25b1-46a5-b19a-459e788424c1"
            }
        ]
    },
    "message": ""
}

 

הסבר על מבנה כתיבת גוף השאילתא:

objecttypeמספר האובייקט עליו נבצע את השאילתא

לדוגמא: Account = 1, Task = 10, Contact = 2, Activity = 6

page_size - כמות התוצאות שתוצג בכל שליפה (מקסימום 500)

page_number - מספר העמוד ממנו יש להתחיל למשוך תוצאות

fields - אילו שדות נקבל בתוצאות. יש להפריד בין השדות בעזרת פסיקים 

Fields = “accountname, emailaddress1”, Fields = “*" :לדוגמא

query - תוכן השאליתא

לדוגמא:

(Accountname = “yossi”)
(Statuscode = 7)
(Telephone1 = “0528896656”)
(Accountname = “yossi” ) and (City = “haifa”)

sort_by - לפי איזה שדה למיין את התוצאות

לדוגמא: Accountname

sort_type - באיזו צורה לסדר את הרשימה סדר עולה (ASC) או סדר יורד (DESC)

את מספר האובייקט ניתן לראות בכתובת ה URL בכניסה לכל אובייקט במערכת. לדוגמא:
https://app.powerlink.co.il/app/views/1

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

 

הפורמט התקין לשליחת נתוני תאריך ו / או תאריך ושעה בAPI הוא:

 YYYY-MM-DDTHH:MM:SS

הפורמט רלוונטי לשליחה גם לשדה מסוג תאריך וגם לשדה מסוג תאריך ושעה.

 

 

עוד מאמרים בנושא API:  יצירת קבלה, יצירת חשבונית מס/קבלה


כניסה ל-GitHub להסברים נוספים