מיקרופיי · מרכז מפתחים מרכז מפתחים · OTP וקוד אימות

API לשליחת OTP וקוד אימות חד-פעמי

עודכן לאחרונה: 9 ביוני 2026 · נתמך ב-HTTP GET, POST ו-JSON

ממשק ה-OTP של מיקרופיי מיועד לשליחת סיסמה חד-פעמית (One-Time Password) או קוד אימות ללקוח, ולבדיקה האם הקוד שהוקש על ידי הלקוח תואם לקוד שנשלח. הממשק משמש לאימות זהות ולאימות דו-שלבי (2FA). לשימוש בממשק יש לרכוש חבילת הודעות סמס, ומומלץ גם חבילת הודעות קוליות. השליחה מתבצעת ב-API בפרוטוקול HTTPS סטנדרטי, ב-HTTP GET/POST רגיל או בפורמט JSON.

כתובת הממשק
/extApi/sendOtp.php
שיטות נתמכות
HTTP GET · POST · JSON
אימות
טוקן עם הרשאת שירותי סמס/טלפוניה
ערוצי שליחה
סמס · הודעה קולית · אוטומטי

מה זה OTP?

OTP (ראשי תיבות של One-Time Password, סיסמה חד-פעמית) הוא קוד אימות זמני בן מספר ספרות, תקף לזמן קצר ולשימוש בודד, הנשלח ללקוח לצורך אימות זהות או אימות דו-שלבי (2FA). מיקרופיי מייצרת את הקוד, שולחת אותו ללקוח ב-SMS או בהודעה קולית, ומאמתת עבורך האם הקוד שהוקש תואם לקוד שנשלח. למונחים נוספים ראו את מילון המונחים.

תהליך השימוש בממשק

השימוש בממשק מתבצע בשני שלבים:

1 שליחת הקוד: מבצעים פנייה לממשק עם מספר הטלפון, והמערכת שולחת קוד אימות ללקוח ב-SMS או בהודעה קולית. ניתן גם לקבוע את הקוד שיישלח באופן עצמאי (באמצעות precode).
2 אימות הקוד: מבצעים פנייה שנייה לממשק עם מספר הטלפון והקוד שהלקוח הקיש, והמערכת מחזירה האם הקוד תואם לקוד שנשלח. אם שלחת את הקוד באופן עצמאי בשלב הראשון, אין צורך לבצע את השלב השני מול המערכת, ניתן לאמת את הקוד מול השרת שלך.

יכולות הממשק

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

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

כתובת הממשק ושיטת השליחה

הכתובת לפנייה לממשק לשליחת סיסמה חד-פעמית היא:

Endpoint
https://www.micropay.co.il/extApi/sendOtp.php

לכתובת זו מוסיפים את הפרמטרים המתאימים. חלק מהפרמטרים הם חובה וחלקם רשות. יש לשלוח את כל שמות הפרמטרים באותיות קטנות (Lower Case). ניתן להעביר את הפרמטרים בשיטת GET או POST, או לשלוח אותם בגוף הבקשה בפורמט JSON.

אימות וטוקן

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

היכן יוצרים טוקן? במערכת מיקרופיי, בתפריט הראשי בחר ב"ניהול חשבון ותתי מנהלים" ולאחר מכן ב"טוקנים לממשקים". בעת יצירת הטוקן יש לוודא שפתחת את ההרשאות הדרושות: שירותי סמס לשליחת קוד בסמס, ושירותי טלפוניה לשליחת קוד בהודעה קולית.

פרמטרים

פרמטרים בכל פנייה

פרמטרחובהתיאור
tokenחובהטוקן הזדהות שיצרת במערכת, עם הרשאת שירותי סמס (וגם שירותי טלפוניה לשליחה קולית).
phoneחובהמספר הטלפון של הלקוח שאליו יישלח קוד האימות. ניתן לשלוח מספר נייח או נייד, ספרות בלבד.
get / postחובהמציין למערכת באיזו שיטה נשלחו הפרמטרים. יש לשלוח אחד מהם בלבד: get=1 בשליחת GET, או post=2 בשליחת POST. שים לב: הפרמטר אינו משנה את שיטת השליחה בפועל, אלא רק מצהיר עליה, עליך לבצע את הבקשה בשיטה המתאימה בקוד עצמו. (בפורמט JSON אין צורך בפרמטר זה.)

פרמטר חובה לפנייה הראשונה (שליחת הקוד)

פרמטרחובהתיאור
typeחובה קובע כיצד לשלוח את קוד האימות ללקוח. האפשרויות:
sms: שליחת הקוד בהודעת סמס.
vms: שליחת הקוד בהודעה קולית.
auto: המערכת מחליטה לבד. היא בודקת אוטומטית האם המספר נייח, נייד או מספר כשר ומחליטה בהתאם. בנוסף, אם התקבל חיווי שלילי על שליחת הסמס הראשון, או שנשלחו מקסימום הודעות הסמס המורשות, המערכת תשלח אוטומטית הודעה קולית.

פרמטר חובה לפנייה השנייה (אימות הקוד)

פרמטרחובהתיאור
codeחובההקוד שהתקבל במספר הטלפון של הלקוח, לאימות מול הקוד שנשלח.

פרמטרים נוספים (רשות)

פרמטרחובהתיאור
smsfromרשותזיהוי השולח של הודעת הסמס. ניתן לשלוח כל זיהוי שולח שכבר אושר בחשבון. אם לא יישלח, ההודעה תצא עם זיהוי שולח ברירת מחדל של המערכת.
vmsfromרשותזיהוי השולח (מספר המקור) של ההודעה הקולית. ניתן לשלוח כל מספר טלפון שמוגדר בחשבון להודעות קוליות או לשיחות נכנסות. אם לא יישלח, ההודעה תצא ממספר חסוי.
codelenרשותאורך הקוד שיישלח ללקוח, מספר בין 3 ל-8 (ברירת מחדל: 5). אם אתה משתמש בפרמטר זה, חובה לשלוח אותו גם בפנייה הראשונה וגם בפנייה השנייה.
minvalidרשותכמה דקות הקוד תקף מרגע שנשלח, מספר בין 1 ל-60 (ברירת מחדל: 10). אם אתה משתמש בפרמטר זה, חובה לשלוח אותו גם בפנייה הראשונה וגם בפנייה השנייה.
maxsmsרשותמקסימום הודעות אימות בסמס שיישלחו ללקוח בפרק הזמן שהקוד תקף, מספר בין 1 ל-10 (ברירת מחדל: 2).
maxvmsרשותמקסימום הודעות אימות קוליות שיישלחו ללקוח בפרק הזמן שהקוד תקף, מספר בין 1 ל-10 (ברירת מחדל: 2).
smstextרשותטקסט שיופיע לפני הקוד בהודעת הסמס (ברירת המחדל: "קוד האימות שלך הוא:"). אם אתה שולח פרמטר זה, ראו קידוד הטקסט.
vmssidרשותקובע איזו הודעה קולית תושמע לפני השמעת הקוד. יש לשלוח קוד של שירות טלפוני קיים במערכת מסוג "השמעת הודעה". ברירת המחדל היא "להלן קוד האימות המבוקש".
langרשותשפת הודעת הסמס וההודעה הקולית. אחת מהאפשרויות: he = עברית (ברירת מחדל), en = אנגלית, ar = ערבית, ru = רוסית.
precodeרשותקביעת הקוד שיישלח באופן עצמאי, 3 עד 8 ספרות. אתה קובע את הקוד ושומר אותו בשרת שלך, כך שתוכל לבצע את שלב האימות מול השרת שלך. אם שלחת את הקוד באופן עצמאי, אין צורך בפנייה השנייה לאימות מול המערכת.
webotpרשותבשליחת סמס, מפעיל את פורמט WebOTP המאפשר קריאה ואימות אוטומטיים של הקוד במכשיר הסלולר (כשהלקוח מבצע כניסה מאותו מכשיר שאליו נשלח הסמס). יש לשלוח את שם הדומיין או הסאב-דומיין שאליו נכנס המשתמש, ללא תוספות וללא http בהתחלה (לדוגמה www.mysite.co.il). המערכת תוסיף אוטומטית את שורת ה-WebOTP בסוף ההודעה, בפורמט @www.mysite.co.il #123456. מידע נוסף: WebOTP API ב-MDN.

דוגמאות קוד

הדוגמאות מוצגות ב-cURL. לכל שלב מוצגת דוגמה בסיסית בפרמטרים (name=value), דוגמה בסיסית ב-JSON, ודוגמה מלאה ב-JSON עם כל האפשרויות.

שלב 1: שליחת הקוד

בסיסי · HTTP GET
# המינימום ההכרחי: שליחה בבחירה אוטומטית בין סמס להודעה קולית
curl "https://www.micropay.co.il/extApi/sendOtp.php?get=1&token=XXXXX&phone=0501234567&type=auto"
בסיסי · JSON
curl -X POST https://www.micropay.co.il/extApi/sendOtp.php \
  -H "Content-Type: application/json" \
  -d '{"token":"XXXXX","phone":"0501234567","type":"auto"}'
מלא · JSON (כל הפרמטרים)
curl -X POST https://www.micropay.co.il/extApi/sendOtp.php \
  -H "Content-Type: application/json" \
  -d '{
    "token": "XXXXX",
    "phone": "0501234567",
    "type": "auto",
    "smsfrom": "MyBiz",
    "vmsfrom": "037123456",
    "codelen": "6",
    "minvalid": "15",
    "maxsms": "3",
    "maxvms": "2",
    "smstext": "קוד האימות שלך הוא:",
    "vmssid": "2000",
    "lang": "he",
    "webotp": "www.mysite.co.il"
}'

שלב 2: אימות הקוד שהלקוח הקיש

בסיסי · HTTP GET
curl "https://www.micropay.co.il/extApi/sendOtp.php?get=1&token=XXXXX&phone=0501234567&code=12345"
בסיסי · JSON
curl -X POST https://www.micropay.co.il/extApi/sendOtp.php \
  -H "Content-Type: application/json" \
  -d '{"token":"XXXXX","phone":"0501234567","code":"12345"}'
מלא · JSON
# אם שלחת codelen / minvalid בשלב 1, יש לשלוח אותם שוב גם כאן
curl -X POST https://www.micropay.co.il/extApi/sendOtp.php \
  -H "Content-Type: application/json" \
  -d '{
    "token": "XXXXX",
    "phone": "0501234567",
    "code": "123456",
    "codelen": "6",
    "minvalid": "15"
}'
איך מפעילים את מצב ה-JSON? הדרך המומלצת היא לשלוח את הבקשה עם הכותרת Content-Type: application/json, כפי שמופיע בדוגמאות. אם אינך יכול לקבוע כותרות בבקשה, תוכל במקום זאת להוסיף json=1 כפרמטר בכתובת ה-URL ולשלוח את גוף ה-JSON ב-POST, לדוגמה: /extApi/sendOtp.php?json=1

תשובת השרת

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

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

Plain text
CODE_SENT
CODE_VALID
WRONG_CODE
MAX_SENT
ERROR --> Description: phone parameter, must be a valid phone number

תשובה ב-JSON

JSON
// נשלח בהצלחה
{"status":1,"message":"CODE_SENT","data":{"remoteIP":"203.0.113.10"}}

// אימות: קוד תקין
{"status":1,"message":"CODE_VALID","data":{"remoteIP":"203.0.113.10"}}

// שגיאת פרמטר
{"status":0,"message":"ERROR","data":{"description":"phone parameter, must be a valid phone number","remoteIP":"203.0.113.10"}}

טבלת קודי תשובה

ערךstatus ב-JSONמשמעות
CODE_SENT1המערכת שלחה בהצלחה קוד ללקוח.
CODE_VALID1יש התאמה בין הקוד שהקיש הלקוח לקוד הקיים במערכת.
WRONG_CODE1אין התאמה בין הקוד שהקיש הלקוח לקוד הקיים, או שכבר פג תוקף הקוד.
MAX_SENT1הלקוח קיבל את מקסימום ההודעות האפשרי בפרק הזמן שהוגדר. הלקוח יוכל לקבל קוד שוב לאחר המתנה.
ERROR0שגיאה באחד הפרמטרים או בתהליך. בטקסט רגיל מופיע רווח ותיאור השגיאה; ב-JSON התיאור נמצא ב-data.description.

שאלות נפוצות

כמה זמן קוד ה-OTP תקף?

ברירת המחדל היא 10 דקות, וניתן לשנות בין 1 ל-60 דקות באמצעות הפרמטר minvalid. אם שלחת minvalid בפנייה הראשונה, יש לשלוח אותו שוב גם בפנייה השנייה לאימות.

אפשר לשלוח OTP גם בהודעה קולית ולא רק בסמס?

כן. הפרמטר type מקבל sms לשליחה בסמס, vms לשליחה בהודעה קולית, או auto שבוחר אוטומטית לפי סוג המספר והצלחת המסירה. לשליחה קולית נדרשת גם הרשאת שירותי טלפוניה בטוקן.

כיצד מאמתים את הקוד שהמשתמש הזין?

שולחים פנייה שנייה לאותו ממשק עם הפרמטרים phone ו-code. התשובה CODE_VALID מציינת קוד תקין, ו-WRONG_CODE מציינת קוד שגוי או שפג תוקפו.

אפשר לקבוע את הקוד בעצמי ולאמת בשרת שלי?

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

באילו שפות ניתן לשלוח את קוד האימות?

הממשק תומך בארבע שפות באמצעות הפרמטר lang: עברית (he, ברירת המחדל), אנגלית (en), ערבית (ar) ורוסית (ru). השפה הנבחרת חלה הן על הודעת הסמס והן על ההודעה הקולית.

ממשקים קשורים

רוצה להתחיל לשלוח OTP?
פתח חשבון, צור טוקן והרץ את הדוגמה הראשונה תוך דקות
פתח חשבון חינם