API לניהול אנשי קשר ברשימות תפוצה
ממשק ניהול אנשי הקשר של מיקרופיי מאפשר להוסיף, למחוק ולבדוק אנשי קשר ברשימות תפוצה, לפי מספר טלפון. ניתן לפעול על רשימת מספרים או על מספר בודד עם פרטים נוספים (שם, שדות מותאמים, תאריך לידה ועוד). הפנייה מתבצעת ב-HTTPS, בשיטת HTTP GET/POST או JSON, ומאומתת באמצעות טוקן עם הרשאת רשימות תפוצה.
סקירת הממשק
ממשק זה מאפשר לבצע הוספה, מחיקה ובדיקה של אנשי קשר ברשימות תפוצה. ההוספה מתבצעת לפי מספר הטלפון, וניתן להוסיף רשימת מספרים או מספר בודד עם פרטים נוספים.
הפעולה הרצויה נבחרת בפרמטר act.
כתובת הממשק ושיטת השליחה
הכתובת לפנייה לממשק ניהול אנשי הקשר היא:
https://www.micropay.co.il/extApi/poolMembers.php
לכתובת זו מוסיפים את הפרמטרים המתאימים. חלק מהפרמטרים הם חובה וחלקם רשות. יש לשלוח את כל שמות הפרמטרים באותיות קטנות (Lower Case). ניתן להעביר את הפרמטרים בשיטת GET או POST, או לשלוח אותם בגוף הבקשה בפורמט JSON.
אימות וטוקן
כל קריאה דורשת פרמטר token, טוקן שיצרת במערכת עם הרשאת רשימות תפוצה.
פרמטרים
פרמטרים בסיסיים
| פרמטר | חובה | תיאור |
|---|---|---|
token | חובה | טוקן הזדהות שיצרת במערכת, עם הרשאת רשימות תפוצה. |
pid | חובה | קוד רשימת תפוצה קיימת במערכת שעליה תתבצע הפעולה. |
act | חובה |
הפעולה שתרצה לבצע. האפשרויות:
• add: הוספת איש קשר לרשימת התפוצה.
• del: מחיקת איש קשר מרשימת התפוצה.
• check: בדיקה האם איש הקשר קיים ברשימת התפוצה.
|
list | חובה | רשימת מספרי טלפון מופרדים בפסיק. מומלץ ספרות בלבד, בפורמט מקומי או בינלאומי. עד כ-10,000 מספרים בשליחה בודדת. |
get / post | חובה | מציין למערכת באיזו שיטה נשלחו הפרמטרים. יש לשלוח אחד מהם בלבד: get=1 בשליחת GET, או post=2 בשליחת POST. הפרמטר אינו משנה את שיטת השליחה בפועל, אלא רק מצהיר עליה. (בפורמט JSON אין צורך בפרמטר זה.) |
פרמטר נוסף בהוספה
| פרמטר | חובה | תיאור |
|---|---|---|
unblock | רשות | אם המספר חסום ברשימת התפוצה עצמה, המערכת לא תוסיף אותו והוא יישאר חסום. לשליחת הערך 1, המערכת תפתח את החסימה של המספר ותוסיף אותו. (אינו פותח חסימה גלובלית בחשבון של המספר.) |
פרמטרים נוספים בהוספת איש קשר בודד
| פרמטר | חובה | תיאור |
|---|---|---|
fname | רשות | השם הפרטי של איש הקשר, טקסט באורך של עד 20 תווים. |
lname | רשות | שם המשפחה של איש הקשר, טקסט באורך של עד 20 תווים. |
data | רשות | שדה מידע מותאם, טקסט של עד 1000 תווים שיתווסף כמידע נוסף על איש הקשר. |
data1 ... data4 | רשות | ארבעה שדות מידע מותאמים נוספים (data1, data2, data3, data4). בכל אחד ניתן לשלוח טקסט של עד 400 תווים. |
bd | רשות | תאריך יום הולדת של איש הקשר, בפורמט YYYY-MM-DD (לדוגמה 2008-02-25). |
ip | רשות | כתובת ה-IP של המחשב שממנו בוצע הרישום לרשימת התפוצה. |
update | רשות | אם איש הקשר כבר קיים: שלחו 1 כדי לדרוס את הנתונים הקודמים בחדשים, או 0 כדי לשמור את הנתונים הקודמים. |
דוגמאות קוד
הדוגמאות מוצגות ב-cURL, לכל פעולה דוגמה בפרמטרים (name=value) ודוגמה ב-JSON.
הוספה (add)
curl "https://www.micropay.co.il/extApi/poolMembers.php?get=1&token=XXXXX&pid=4898&act=add&list=0501234567,0541234567"curl -X POST https://www.micropay.co.il/extApi/poolMembers.php \ -H "Content-Type: application/json" \ -d '{"token":"XXXXX","pid":"4898","act":"add","list":"0501234567,0541234567"}'
מחיקה (del)
curl "https://www.micropay.co.il/extApi/poolMembers.php?get=1&token=XXXXX&pid=4898&act=del&list=0501234567"curl -X POST https://www.micropay.co.il/extApi/poolMembers.php \ -H "Content-Type: application/json" \ -d '{"token":"XXXXX","pid":"4898","act":"del","list":"0501234567"}'
בדיקה (check)
curl "https://www.micropay.co.il/extApi/poolMembers.php?get=1&token=XXXXX&pid=4898&act=check&list=0501234567"curl -X POST https://www.micropay.co.il/extApi/poolMembers.php \ -H "Content-Type: application/json" \ -d '{"token":"XXXXX","pid":"4898","act":"check","list":"0501234567"}'
הוספת איש קשר בודד עם פרטים
curl -X POST https://www.micropay.co.il/extApi/poolMembers.php \ -H "Content-Type: application/json" \ -d '{ "token": "XXXXX", "pid": "4898", "act": "add", "list": "0501234567", "fname": "דני", "lname": "כהן", "data": "לקוח VIP", "bd": "1990-05-20", "update": "1", "unblock": "1" }'
Content-Type: application/json, כפי שמופיע בדוגמאות.
אם אינך יכול לקבוע כותרות בבקשה, תוכל במקום זאת להוסיף json=1 בכתובת ה-URL ולשלוח את גוף ה-JSON ב-POST.
תשובת השרת
פורמט התשובה תלוי בפעולה. בקריאת JSON מוחזר מבנה אחיד הכולל את action (הפעולה שבוצעה), ו-data כולל תמיד את remoteIP.
תשובה לבדיקת קיום (check)
REG NOT_REG BLOCKED ERROR --> Description: pid parameter, list not found
{"status":1,"action":"check","message":"REG","data":{"remoteIP":"203.0.113.10"}}| ערך | status ב-JSON | משמעות |
|---|---|---|
REG | 1 | איש הקשר רשום ברשימת התפוצה. |
NOT_REG | 1 | איש הקשר אינו רשום ברשימת התפוצה. |
BLOCKED | 1 | איש הקשר בסטטוס חסום ברשימת התפוצה. |
ERROR | 0 | שגיאה באחד הפרמטרים. ב-JSON התיאור נמצא ב-data.description. |
תשובה להוספה / מחיקה (add / del)
בהוספה ומחיקה התשובה הרגילה מורכבת משורות, שורה לכל קבוצת מספרים שלא טופלה, לפי הסיבה. מספרים שלא מופיעים בשורות אלו טופלו בהצלחה:
# הכל תקין OK # חלק מהמספרים לא טופלו, כל סיבה בשורה נפרדת ALREADY_REG 0545370070,0545456711 BLOCKED 0501234567
במצב JSON, message תמיד OK, והמספרים שלא טופלו מקובצים בתוך data לפי הסיבה (מערך לכל סיבה):
// הכל תקין {"status":1,"action":"add","message":"OK","data":{"remoteIP":"203.0.113.10"}} // חלק מהמספרים לא טופלו {"status":1,"action":"add","message":"OK","data":{"ALREADY_REG":["0545370070","0545456711"],"BLOCKED":["0501234567"],"remoteIP":"203.0.113.10"}}
| ערך | status ב-JSON | משמעות |
|---|---|---|
OK | 1 | כל המספרים טופלו בהצלחה (ובמצב JSON זהו תמיד ערך ה-message). |
ALREADY_REG | 1 | חלק מהמספרים כבר רשומים ברשימת התפוצה. |
NOT_REG | 1 | נעשה נסיון למחוק מספרים שאינם רשומים ברשימת התפוצה. |
BLOCKED | 1 | חלק מהמספרים חסומים ברשימת התפוצה. |
ACTION_ERROR | 1 | חלק מהמספרים לא התווספו או נמחקו עקב תקלה. |
ERROR | 0 | שגיאה באחד הפרמטרים. ב-JSON התיאור נמצא ב-data.description. |
ACTION_ERROR, ALREADY_REG, NOT_REG ו-BLOCKED יכולים להופיע יחד, כל אחד בשורה חדשה, ואחריו רשימת המספרים מופרדים בפסיק. במצב JSON כל אחד מהם הוא מערך נפרד בתוך data.
שאלות נפוצות
אילו פעולות אפשר לבצע על אנשי קשר?
הוספה (add), מחיקה (del) ובדיקת קיום (check), נבחרות בפרמטר act. ניתן לפעול על רשימת מספרים או על מספר בודד.
לכמה מספרים אפשר לפעול בפנייה אחת?
עד כ-10,000 מספרים מופרדים בפסיק בפרמטר list, בשליחה בודדת.
איך מוסיפים פרטים נוספים לאיש קשר?
בהוספה של מספר בודד ניתן לשלוח שם פרטי ומשפחה, שדות מותאמים (data עד data4), תאריך לידה (bd) וכתובת IP. בפעולה שאינה הוספה, או בהוספה של יותר ממספר אחד, פרמטרים אלו לא נלקחים בחשבון.
מה קורה אם חלק מהמספרים כבר רשומים או חסומים?
בהוספה ומחיקה המערכת מחזירה OK עם פירוט המספרים שלא טופלו, מקובצים לפי הסיבה (ALREADY_REG, NOT_REG, BLOCKED, ACTION_ERROR). מספרים שלא הופיעו ברשימות אלו טופלו בהצלחה.