API ל-SMS — שליחת SMS והגדרת ניתוב נכנס

שלחו SMS יוצא דרך רשת IsraelNumber ונהלו העברת SMS נכנס עבור מספרים וירטואליים עם תמיכה ב-SMS. ה-API המתועד להגדרות SMS תומך בהעברה ליעדי SMS, אימייל, או webhook, בעוד ששליחת SMS יוצא משתמשת בנקודת קצה נפרדת מסוג HTTP GET.

יכולות ה-API ל-SMS

השתמשו ב-API המתועד להגדרות SMS עבור העברת SMS נכנס למספר SMS אחר, לכתובת אימייל, או ל-webhook, והשתמשו בנקודת הקצה הנפרדת לשליחת SMS יוצא עבור שליחת הודעות.

שליחת SMS יוצא

השתמשו בנקודת הקצה של IsraelNumber להודעות יוצאות כדי לשלוח SMS דרך הרשת שלנו. קריאה זו נפרדת מאוסף ה-Postman הנוכחי.

GET https://api.israelnumber.com/astppsend-sms

לפני השימוש בנקודת קצה זו: אשרו את כתובת ה-IP המקורית שלכם תחת החשבון שלי ← הגדרות IP. נקודת הקצה משתמשת בפרטי החשבון ובפרמטרי הבקשה המוצגים להלן.
פרמטרמטרה
usernameשם המשתמש של חשבון/API שלכם ב-IsraelNumber.
passwordהסיסמה של חשבון/API שלכם ב-IsraelNumber.
destinationמספר הטלפון של היעד.
calleridערך השולח / מזהה המתקשר המורשה לחשבון שלכם.
messageתוכן הודעת ה-SMS.
smsהגדירו כ-1 עבור בקשת SMS יוצא רגילה.
whatsappהגדירו כ-0 עבור בקשת SMS יוצא רגילה.
ערכים לבקשת SMS רגילה: השתמשו ב-sms=1 וב-whatsapp=0. נקודת קצה זו להודעות יוצאות פעילה אך נותרת מחוץ לאוסף ה-Postman הנוכחי.

אימות וגישה ל-API

לפני השימוש ב-API המתועד, הוסיפו את כתובת ה-IP של השרת השולח את הבקשות לרשימת ההיתרים בפורטל החשבון של המשתמש. לכל חשבון יש שם משתמש וסיסמה משלו.

עבור בקשת ה-Login הראשונית, שלחו את שם המשתמש/סיסמה של החשבון יחד עם ה-x-auth-token הקבוע המפורסם בתיעוד ה-Postman. Login מוצלח מחזיר את ה-id של החשבון, את ה-account_token, ו-x-auth-token חדש עבור ה-session.

עבור כל הקריאות הבאות באותו session, השתמשו ב-x-auth-token של ה-session שנוצר בכותרת הבקשה. שלחו את ה-id וה-account_token של החשבון שהוחזרו בגוף ה-JSON כערכי ה-id וה-token המתועדים.

API להעברת SMS נכנס

ה-API המתועד להגדרות SMS מנהל תצורות של העברת SMS. הפעולות הנתמכות הן הוספה, עדכון, מחיקה, קבלה, והצגת רשימה. הגדרות ה-SMS תומכות ביעדי העברה אופציונליים דרך dest_sms, dest_email, ו-webhook_url; השתמשו בכל שילוב נתמך הנדרש עבור המספר (DID).

פעולות תצורה מתועדות: add, update, delete, get, ו-list. פעולות אלו שייכות לתצורת העברת ה-SMS; הן אינן ה-API לשליחת SMS יוצא.

העברת SMS-to-Webhook

מסירת ה-webhook פעילה במלואה, וניתן להגדיר את היעד פרוגרמטית דרך POST /api/sms באמצעות webhook_url, או מפורטל הלקוחות.

https://example.com/api?from={CallerID}&text={SMS_TEXT}&to={SMS_DST_ADDR}

הגדרה דרך ה-API: קראו ל-POST https://newsip.israelnumber.com/api/sms כאשר action מוגדר ל-add או ל-update, יחד עם id, token, did, ו-webhook_url. עבור העברה ל-webhook בלבד, ניתן להשמיט את dest_sms ואת dest_email.

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

דוגמה עם שולח 1234567890, הודעה Hello, נמען 0987654321:
https://example.com/api?from=1234567890&text=Hello&to=0987654321

סטטוס API: הגדרת יעד ה-webhook מתועדת ופעילה דרך /api/sms באמצעות webhook_url.

דוגמאות קוד

הדוגמאות להלן שומרות על הפרדה בין ה-API המתועד להעברת SMS לבין נקודת הקצה לשליחת SMS יוצא.

// Node.js 18+ (fetch מובנה)
// הוסיפו תחילה את כתובת ה-IP של השרת שלכם לרשימת ההיתרים.
// ה-Login הראשוני משתמש ב-x-auth-token הקבוע מתיעוד ה-Postman.

const PORTAL_BASE = "https://newsip.israelnumber.com";

const INITIAL_HEADERS = {
  "x-auth-token": "YOUR_INITIAL_X_AUTH_TOKEN",
  "Content-Type": "application/json"
};

async function parseResponse(r) {
  const text = await r.text();
  let body = text;
  if (text) {
    try { body = JSON.parse(text); } catch (e) {}
  }
  return { status: r.status, body };
}

// 1) התחברות וקבלת id של החשבון, account_token, ו-x-auth-token של ה-session
async function login() {
  const r = await fetch(`${PORTAL_BASE}/api/login/`, {
    method: "POST",
    headers: INITIAL_HEADERS,
    body: JSON.stringify({
      username: "YOUR_ACCOUNT_NUMBER",
      password: "YOUR_PASSWORD"
    })
  });

  if (!r.ok) {
    throw new Error(`Login failed with HTTP ${r.status}`);
  }

  return r.json();
}

// 2) API מתועד להגדרות SMS: העברת SMS נכנס לאימייל
async function addSmsForwardToEmail(id, token, did, destEmail, sessionHeaders) {
  const r = await fetch(`${PORTAL_BASE}/api/sms`, {
    method: "POST",
    headers: sessionHeaders,
    body: JSON.stringify({
      action: "add",
      did,
      dest_email: destEmail,
      id,
      token
    })
  });
  return parseResponse(r);
}

// 3) API מתועד להגדרות SMS: העברת SMS נכנס ל-webhook
async function addSmsForwardToWebhook(id, token, did, webhookUrl, sessionHeaders) {
  const r = await fetch(`${PORTAL_BASE}/api/sms`, {
    method: "POST",
    headers: sessionHeaders,
    body: JSON.stringify({
      action: "add",
      did,
      webhook_url: webhookUrl,
      id,
      token
    })
  });
  return parseResponse(r);
}

// 4) נקודת קצה נפרדת ל-SMS יוצא (לא כלולה באוסף ה-Postman הנוכחי)
async function sendOutboundSms() {
  const url = new URL("https://api.israelnumber.com/astppsend-sms");
  url.searchParams.set("username", "YOUR_USERNAME");
  url.searchParams.set("password", "YOUR_PASSWORD");
  url.searchParams.set("destination", "+19175550100");
  url.searchParams.set("callerid", "YOUR_CALLER_ID");
  url.searchParams.set("message", "Hello from IsraelNumber");
  url.searchParams.set("sms", "1");
  url.searchParams.set("whatsapp", "0");

  const r = await fetch(url.toString(), { method: "GET" });
  return r.text();
}

(async () => {
  const auth = await login();
  const id = auth.id;
  const accountToken = auth.account_token;
  const sessionXAuthToken = auth["x-auth-token"];

  const SESSION_HEADERS = {
    "x-auth-token": sessionXAuthToken,
    "Content-Type": "application/json"
  };

  const emailForward = await addSmsForwardToEmail(
    id,
    accountToken,
    "+447911123456",
    "alerts@yourdomain.com",
    SESSION_HEADERS
  );
  console.log("Email forwarding result:", emailForward);

  const webhookForward = await addSmsForwardToWebhook(
    id,
    accountToken,
    "+447911123456",
    "https://example.com/api?from={CallerID}&text={SMS_TEXT}&to={SMS_DST_ADDR}",
    SESSION_HEADERS
  );
  console.log("Webhook forwarding result:", webhookForward);

  const outbound = await sendOutboundSms();
  console.log("Outbound SMS response:", outbound);
})();
# A) API מתועד להגדרות SMS — גוף JSON + כותרת x-auth-token
# הוסיפו תחילה את כתובת ה-IP של השרת שלכם לרשימת ההיתרים.

# 1) התחברות עם ה-x-auth-token הראשוני הקבוע
LOGIN=$(curl -s -X POST "https://newsip.israelnumber.com/api/login/" \
  -H "x-auth-token: YOUR_INITIAL_X_AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "username":"YOUR_ACCOUNT_NUMBER",
    "password":"YOUR_PASSWORD"
  }')

ID=$(echo "$LOGIN" | python3 -c "import sys,json; print(json.load(sys.stdin)['id'])")
TOKEN=$(echo "$LOGIN" | python3 -c "import sys,json; print(json.load(sys.stdin)['account_token'])")
SESSION_X_AUTH_TOKEN=$(echo "$LOGIN" | python3 -c "import sys,json; print(json.load(sys.stdin)['x-auth-token'])")

# 2) הוספת העברת SMS נכנס למספר SMS אחר
curl -s -i -X POST "https://newsip.israelnumber.com/api/sms" \
  -H "x-auth-token: $SESSION_X_AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "action":"add",
    "did":"+447911123456",
    "dest_sms":"+19175550100",
    "id":"'"$ID"'",
    "token":"'"$TOKEN"'"
  }'

# 3) הוספת העברת SMS נכנס ל-webhook
curl -s -i -X POST "https://newsip.israelnumber.com/api/sms" \
  -H "x-auth-token: $SESSION_X_AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "action":"add",
    "did":"+447911123456",
    "webhook_url":"https://example.com/api?from={CallerID}&text={SMS_TEXT}&to={SMS_DST_ADDR}",
    "id":"'"$ID"'",
    "token":"'"$TOKEN"'"
  }'

# 4) הצגת רשימת תצורות העברת SMS
curl -s -i -X POST "https://newsip.israelnumber.com/api/sms" \
  -H "x-auth-token: $SESSION_X_AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "action":"list",
    "id":"'"$ID"'",
    "token":"'"$TOKEN"'"
  }'

# B) API נפרד ל-SMS יוצא — לא כלול באוסף ה-Postman הנוכחי
curl -G "https://api.israelnumber.com/astppsend-sms" \
  --data-urlencode "username=YOUR_USERNAME" \
  --data-urlencode "password=YOUR_PASSWORD" \
  --data-urlencode "destination=+19175550100" \
  --data-urlencode "callerid=YOUR_CALLER_ID" \
  --data-urlencode "message=Hello from IsraelNumber" \
  --data-urlencode "sms=1" \
  --data-urlencode "whatsapp=0"

מדריכי API נוספים

שאלות נפוצות — API ל-SMS

האם ניתן לשלוח SMS יוצא דרך ה-API של IsraelNumber?

כן. IsraelNumber מספקת נקודת קצה נפרדת ל-SMS יוצא בכתובת https://api.israelnumber.com/astppsend-sms. היא זמינה לשילובים אך אינה כלולה כרגע באוסף ה-Postman הציבורי. כתובת ה-IP המקורית שלכם חייבת להיות מאושרת תחילה תחת החשבון שלי ← הגדרות IP. עבור בקשת SMS רגילה, השתמשו ב-sms=1 וב-whatsapp=0.

האם ניתן לקבל SMS על מספר מקומי וירטואלי?

כן, על מספרים וירטואליים עם תמיכה ב-SMS. ניתן להעביר SMS נכנס למספר SMS אחר, לכתובת אימייל, או לכתובת webhook באמצעות ה-API המתועד להגדרות SMS. ניתן להגדיר יעדי webhook גם דרך פורטל הלקוחות.

האם ניתן להגדיר העברת SMS-to-webhook דרך API?

כן. הגדירו ניתוב SMS-to-webhook נכנס באופן פרוגרמטי דרך POST /api/sms באמצעות השדה webhook_url. השתמשו ב-x-auth-token של ה-session שנוצר בכותרת הבקשה, ושלחו את ה-id וה-account_token של החשבון שהוחזרו בגוף הבקשה כ-id ו-token. ניתן להגדיר את אותו יעד גם בחשבון שלכם תחת סוג העברה ← API.

אילו פעולות העברת SMS מתועדות?

ה-API להגדרות SMS מתעד פעולות הוספה, עדכון, מחיקה, קבלה, והצגת רשימה עבור תצורות העברה, כולל יעדי SMS, אימייל, ו-webhook.

אילו מדינות תומכות ב-SMS על מספרים וירטואליים?

התמיכה ב-SMS משתנה לפי מדינה וסוג מספר. בדקו את סוגי המספרים (DID) הזמינים עבור המדינה המבוקשת לפני ההקצאה כדי לוודא תמיכה ב-SMS.

שלבו SMS באפליקציה שלכם

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