API לבדיקת סטטוס קמפיין
ממשק בדיקת סטטוס הקמפיין של מיקרופיי מאפשר לבדוק את מצב הקמפיין ששלחת, לפי קוד הקמפיין. קוד הקמפיין מתקבל בתשובת השליחה (אחרי הערך OK). המערכת מחזירה את הסטטוס הנוכחי (ממתין, בריצה, הסתיים ועוד), ובמקרה של עצירה גם את רשימת המספרים שלא קיבלו את ההודעה. הפנייה מתבצעת ב-HTTPS, ב-GET/POST או JSON.
סקירת הממשק
המערכת מאפשרת לבדוק סטטוס של קמפיין ששלחת, לפי קוד הקמפיין. את קוד הקמפיין המערכת מחזירה בתשובת בקשת השליחה: הוא מופיע אחרי הערך
OK כשהשליחה התקבלה בהצלחה (ובמצב JSON בשדה data.taskId). שולחים אותו בפרמטר tid כדי לקבל את הסטטוס.
כתובת הממשק ושיטת השליחה
הכתובת לפנייה לממשק בדיקת סטטוס קמפיין היא:
https://www.micropay.co.il/extApi/taskStatus.php
לכתובת זו מוסיפים את הפרמטרים המתאימים. יש לשלוח את כל שמות הפרמטרים באותיות קטנות (Lower Case). ניתן להעביר את הפרמטרים בשיטת GET או POST, או לשלוח אותם בגוף הבקשה בפורמט JSON.
אימות וטוקן
הממשק מחזיר סטטוס לכל סוגי הקמפיינים: סמס, הודעות קוליות ווואטסאפ. כל קריאה דורשת פרמטר token, טוקן שיצרת במערכת עם הרשאת שירותי סמס, שירותי טלפוניה או שירותי וואטסאפ.
פרמטרים
| פרמטר | חובה | תיאור |
|---|---|---|
token | חובה | טוקן הזדהות שיצרת במערכת, עם הרשאת שירותי סמס, שירותי טלפוניה או שירותי וואטסאפ. |
tid | חובה | קוד הקמפיין שברצונך לבדוק את הסטטוס שלו (התקבל בתשובת השליחה). |
act | רשות | הפעולה לביצוע. ברירת המחדל היא status לבדיקת סטטוס, וניתן להשמיט את הפרמטר. שליחת del מוחקת קמפיין ממתין, ראו מחיקת קמפיין. |
get / post | חובה | מציין למערכת באיזו שיטה נשלחו הפרמטרים. יש לשלוח אחד מהם בלבד: get=1 בשליחת GET, או post=2 בשליחת POST. הפרמטר אינו משנה את שיטת השליחה בפועל, אלא רק מצהיר עליה. (בפורמט JSON אין צורך בפרמטר זה.) |
דוגמאות קוד
curl "https://www.micropay.co.il/extApi/taskStatus.php?get=1&token=XXXXX&tid=123456"curl -X POST https://www.micropay.co.il/extApi/taskStatus.php \ -H "Content-Type: application/json" \ -d '{"token":"XXXXX","tid":"123456"}'
Content-Type: application/json, כפי שמופיע בדוגמאות.
אם אינך יכול לקבוע כותרות בבקשה, תוכל במקום זאת להוסיף json=1 בכתובת ה-URL ולשלוח את גוף ה-JSON ב-POST.
תשובת השרת
בקריאה רגילה התשובה היא הסטטוס עצמו (טקסט). במצב JSON, message תמיד OK, הסטטוס נמצא ב-data.taskStatus, ושדה action הוא checkstatus. data כולל תמיד את remoteIP.
הסטטוסים האפשריים
| סטטוס | משמעות |
|---|---|
pending | הקמפיין ממתין לריצה. |
running | הקמפיין נמצא כרגע בריצה. |
done | הקמפיין בוצע והסתיים בהצלחה. |
stop | הקמפיין נמצא בתהליך עצירה עקב בקשת ביטול. |
empty | הקמפיין בוצע אך לא נמצאו טלפונים לשליחה (בשליחה לרשימת תפוצה ריקה). |
cancel | הקמפיין נעצר באמצע הריצה עקב בקשת ביטול. |
error | הקמפיין נעצר באמצע הריצה עקב תקלה. |
noMsgLeft | הקמפיין נעצר באמצע הריצה עקב סיום יתרת ההודעות בחשבון (קמפיינים מסוג סמס או הודעה קולית). |
abort | הקמפיין נעצר עקב חריגה משעת העצירה שהוגדרה לו. |
limit | הקמפיין נעצר כי נחצתה מכסת ההודעות היומית של חשבון הוואטסאפ, מגבלת מטא (קמפיינים מסוג וואטסאפ). |
na | קוד הקמפיין לא קיים במערכת, שגוי, או שהקמפיין נמחק. |
מספרים שלא קיבלו את ההודעה
בסטטוסים cancel, error, noMsgLeft, abort ו-limit המערכת מחזירה בנוסף לסטטוס גם רשימה של מספרי הטלפון שלא קיבלו את ההודעה עקב עצירת הקמפיין (אם יש כאלו).
בתשובה הרגילה המספרים מופיעים בשורה חדשה מתחת לסטטוס, מופרדים בפסיקים. במצב JSON הם מוחזרים במערך data.notSent.
תשובה רגילה (טקסט)
# סטטוס פשוט done # סטטוס עם רשימת מספרים שלא קיבלו את ההודעה (שורה חדשה) noMsgLeft 0545554446,0558887773,0529098887
תשובה ב-JSON
// סטטוס פשוט {"status":1,"action":"checkstatus","message":"OK","data":{"taskStatus":"done","remoteIP":"203.0.113.10"}} // סטטוס עם מספרים שלא קיבלו, במערך notSent {"status":1,"action":"checkstatus","message":"OK","data":{"taskStatus":"noMsgLeft","notSent":["0545554446","0558887773"],"remoteIP":"203.0.113.10"}} // קמפיין לא קיים או נמחק {"status":1,"action":"checkstatus","message":"OK","data":{"taskStatus":"na","remoteIP":"203.0.113.10"}}
data.taskStatus הוא na (קמפיין לא קיים) הערך של status במעטפת הוא 1, מכיוון שהפרמטרים היו תקינים. status מקבל 0 רק בשגיאת פרמטר (ERROR).
שאלות נפוצות
מאיפה מקבלים את קוד הקמפיין?
קוד הקמפיין מתקבל בתשובת בקשת השליחה: הוא מופיע אחרי הערך OK (וב-JSON בשדה data.taskId). שולחים אותו בפרמטר tid.
אילו סטטוסים יכולים לחזור?
pending, running, done, stop, empty, cancel, error, noMsgLeft, abort, ובקמפייני וואטסאפ גם limit, וכן na (הקמפיין לא קיים או נמחק). ראו טבלת הסטטוסים למעלה.
איך מקבלים את המספרים שלא קיבלו את ההודעה?
בסטטוסים cancel, error, noMsgLeft, abort ו-limit המערכת מחזירה גם את הרשימה: בטקסט בשורה חדשה מתחת לסטטוס, וב-JSON במערך data.notSent.