מיקרופיי · מרכז מפתחים מרכז מפתחים · מוסכמות ופורמט תשובה

מוסכמות ה-API ופורמט התשובה

עודכן לאחרונה: 9 ביוני 2026

כל ממשקי ה-API של מיקרופיי חולקים מוסכמות אחידות: כתובות הממשקים נמצאות תחת /extApi/, הפרמטרים נשלחים בשיטת GET או POST, וניתן לבחור במצב JSON שמחזיר מבנה תשובה אחיד {status, message, data}. עמוד זה מרכז את הכללים החלים על כל הממשקים: שיטות שליחה, מצב JSON, קידוד, פורמט מספרי טלפון ופורמט השגיאות.

כתובות הממשקים

כל הממשקים נמצאים תחת הבסיס:

Base URL
https://www.micropay.co.il/extApi/

לכל ממשק כתובת ייעודית, לדוגמה scheduleSms.php לשליחת סמס או sendOtp.php ל-OTP. השליחה מתבצעת בפרוטוקול HTTPS סטנדרטי. יש לשלוח את כל שמות הפרמטרים באותיות קטנות (Lower Case).

שיטת השליחה: GET או POST

ניתן לשלוח את הפרמטרים בשיטת GET או POST. יש להוסיף פרמטר המצהיר על השיטה שבחרת:

פרמטרשיטהתיאור
get=1GETהצהרה על שליחה בשיטת GET. הפרמטרים עוברים במחרוזת ה-URL.
post=2POSTהצהרה על שליחה בשיטת POST. הפרמטרים עוברים בגוף הבקשה.
שים לב: הפרמטר אינו משנה את שיטת השליחה בפועל, אלא רק מצהיר למערכת על השיטה שבחרת. עליך לבצע את הבקשה בשיטה המתאימה בקוד עצמו. במצב JSON אין צורך בפרמטר זה.

מצב JSON

בנוסף לשליחה הרגילה ב-name=value, ניתן לעבוד במצב JSON: שליחת גוף JSON וקבלת תשובה במבנה JSON אחיד. מצב זה אופציונלי לחלוטין, והפונקציונליות זהה לשליחה הרגילה.

איך מפעילים

קיימות שתי דרכים להפעיל את מצב ה-JSON:

1 כותרת Content-Type: שליחת הבקשה עם הכותרת Content-Type: application/json וגוף JSON. זו הדרך המומלצת.
2 פרמטר json=1: אם אינך יכול לקבוע כותרות, הוסף json=1 בכתובת ה-URL (לדוגמה ...?json=1) ושלח את גוף ה-JSON ב-POST.
ערכי הפרמטרים נשלחים ב-JSON כמחרוזות (גם מספרים), בדיוק כמו בשליחה הרגילה. רשימות (כמו רשימת מספרים) נשלחות כמחרוזת מופרדת בפסיק ולא כמערך, לשמירה על התאמה מלאה לשליחה הרגילה.

מבנה התשובה

פורמט התשובה תלוי בשיטת השליחה:

תשובה רגילה (טקסט)

בשליחת GET או POST רגילה, התשובה מתקבלת כטקסט פשוט המתחיל בקוד תוצאה. לדוגמה:

Plain text
OK 34556
ERROR --> Description: token parameter, invalid or missing

תשובה ב-JSON

במצב JSON מוחזר תמיד מבנה אחיד:

שדהסוגתיאור
statusמספרדגל הצלחה מספרי: 1 כשהפרמטרים תקינים, 0 רק כאשר התקבלה שגיאת פרמטר (ERROR).
actionמחרוזתאופציונלי. מהדהד את הפעולה שבוצעה, תמיד באותיות קטנות, לדוגמה sendsms או sendvms. מופיע מיד אחרי status בממשקים שמגדירים פעולה, ונעדר באחרים (למשל OTP).
messageמחרוזתקוד התוצאה, לדוגמה OK, CODE_SENT, ERROR. זהה לקוד שמופיע בתחילת התשובה הרגילה.
dataאובייקטנתונים נוספים לפי הממשק (לדוגמה taskId בשליחת סמס). כולל תמיד את remoteIP, ובשגיאה את description.
JSON
// הצלחה (השדה action מהדהד את הפעולה)
{"status":1,"action":"sendsms","message":"OK","data":{"taskId":"34556","remoteIP":"203.0.113.10"}}

// שגיאת פרמטר
{"status":0,"message":"ERROR","data":{"description":"token parameter, invalid or missing","remoteIP":"203.0.113.10"}}
חשוב להבנת status: הערך 0 מציין אך ורק שגיאת פרמטר (ERROR). תוצאות אחרות שאינן הצלחה מלאה, כמו WRONG_CODE, MAX_SENT או NOT_ENOUGH_CREDIT, נחשבות לפנייה תקינה ולכן מחזירות status 1, והקוד נשמר ב-message. כדאי לבדוק תמיד את message ולא רק את status.

אפשרויות שליחה וקידוד טקסט

אפשר לשלוח את הנתונים בארבע צורות. הצורך ב-url encoding תלוי במיקום הנתונים וב-Content-Type, ושני אלה חייבים להתאים זה לזה.

צורת שליחהContent-Typeurl encode לערכים?
GET, פרמטרים בכתובת (query string)כן, חובה
POST, גוף בפורמט name=valueapplication/x-www-form-urlencodedכן, חובה
POST, גוף מרובה חלקיםmultipart/form-dataלא, הערכים נשלחים כפי שהם
JSONapplication/jsonלא url encode, רק escape של JSON

פורמט מספרי טלפון

מומלץ לשלוח מספרי טלפון בספרות בלבד, ללא רווחים או מקף. ניתן לשלוח בפורמט מקומי (לדוגמה 0501234567) או בינלאומי. רשימות מספרים נשלחות מופרדות בפסיק.

פורמט השגיאות

שגיאת פרמטר מחזירה תשובה המתחילה ב-ERROR ואחריה רווח ותיאור השגיאה. במצב JSON, message יהיה ERROR, status יהיה 0, ותיאור השגיאה יופיע ב-data.description. כדאי לרשום (log) את תיאור השגיאה לצורך איתור תקלות.

שאלות נפוצות

מה ההבדל בין שליחה ב-GET, ב-POST וב-JSON?

GET ו-POST שולחים פרמטרים ב-name=value ומחזירים טקסט פשוט. שליחה עם Content-Type: application/json (או json=1) מחזירה JSON במבנה {status, message, data}. הבחירה היא של המפתח, והפונקציונליות זהה.

מה המבנה של התשובה ב-JSON?

מבנה אחיד: status (1 הצלחה, 0 שגיאת פרמטר), message (קוד התוצאה כמו OK), ו-data (נתונים נוספים לפי הממשק, כולל תמיד remoteIP).

מתי status מקבל את הערך 0?

רק כשהפנייה נכשלה בגלל פרמטר שגוי (ERROR). כל תוצאה אחרת, גם אם אינה הצלחה מלאה, מחזירה status 1 והקוד נשמר ב-message.

המשך