@מרגליתת כתב בעזרה בקריאת post api:
curl --location --request POST 'https://www.call2all.co.il/ym/api/v2/ivr/shlucha/file/upload' \
מעיין איפה ראיתם את הpath הזה, אין אפילו דבר דומה כזה במציאות. אז אני מנסה להבין מה ניסיתם שלא הצליח.
ניהול
@מרגליתת כתב בעזרה בקריאת post api:
curl --location --request POST 'https://www.call2all.co.il/ym/api/v2/ivr/shlucha/file/upload' \
מעיין איפה ראיתם את הpath הזה, אין אפילו דבר דומה כזה במציאות. אז אני מנסה להבין מה ניסיתם שלא הצליח.
@איל-משולש כתב בהודעה על תחילת גביית יחידות במודול תורים החדש לאחר תקופת ההרצה:
@שמואל יש במודל הזה בעיות, למה שמשהו ישתמש בו אם ממילא זה עולה כסף (אותו מחיר)
אכן, אנחנו משאירים ללקוחות לבחור האם להשתמש עם מודול שעולה כסף - שלא מתוחזק, לבין מודול שגם עולה אותו כסף - שכן מתוחזק עם עוד הרבה מרכיבים שעוד לא התפרסמו בכלל ועוד בבדיקות, וכו וכו.
כמובן, שלטענך בעצם ימות המשיח צריכה לשלם ללקוחות שמשתמשים עם זה - כי זה עוד לא מספיק מוכן - לפחות לפי הטון של ההודעה שלך ש״למה שמישהוא ישתמש בכלל״, אבל זה לא המצב.. 
ב״ה
בהמשך להודעה על מודול ניתוב שיחות לפי תור ללא עלות יחידות ולאחר תקופה הרצה של כחצי שנה בה יכלו הלקוחות להינות מהמודול ללא חיוב יחידות, החל מהיום - מודול תור החדש יהיה בעלות של יחידה לדקה - לכל יעד, מלבד חיוג לחשבון SIP.
כל הגדרות המודול בפוסט המלא
בברכה,
getLicenseInfo.הפקודה היא - SipRealtimeMonitor
ניתן לקרוא לשירות ב-GET (פרמטרים ב-query string) או ב-POST עם JSON ב-body.
מתי חובה להשתמש ב-POST:
accounts (מערך)startDateTime, endDateTime, afterCallIdבכל פניה יש לצרף:
| פרמטר | תיאור | סוג |
|---|---|---|
| token | טוקן | string |
| action | הפעולה לביצוע - יבואר | string |
הפעולה היא - getLicenseInfo
| מאפיין | סוג | הסבר | דוגמא |
|---|---|---|---|
| responseStatus | string | סטטוס הפעולה | OK |
| license.allowed | boolean | האם יש גישה לשירות | true |
| license.trial | boolean | האם זהו רישיון ניסיון | true |
| license.trialStart | number | Unix timestamp של תחילת הניסיון | 1779705344 |
| license.trialEnd | number | Unix timestamp של סיום הניסיון | 1780310144 |
| license.trialAvailable | boolean | האם ניסיון זמין להפעלה | false |
דוגמא לתגובה כאשר השירות בניסון פעיל:
{
"responseStatus": "OK",
"license": {
"allowed": true,
"trial": true,
"trialStart": 1779705344,
"trialEnd": 1780310144
}
}
דוגמא לתגובה — אין רישיון, ניסיון זמין:
{
"responseStatus": "OK",
"license": {
"allowed": false,
"reason": "no_license",
"trialAvailable": true
}
}
הפעולה היא - startTrial
מפעיל ניסיון חינם של 7 ימים. ניתן לבצע את הפעולה בכל מערכת פעם אחת בלבד!.
| מאפיין | סוג | הסבר | דוגמא |
|---|---|---|---|
| responseStatus | string | סטטוס הפעולה | OK |
| trialStarted | boolean | האם הניסיון הופעל כעת | true |
| alreadyLicensed | boolean | האם כבר היה רישיון פעיל | true |
| license | object | פרטי הרישיון לאחר הפעלה |
{
"responseStatus": "OK",
"trialStarted": true,
"license": {
"allowed": true,
"trial": true,
"trialStart": 1779705344,
"trialEnd": 1780310144
}
}
הפעולה היא - getCalls
שירות זה דורש רישיון פעיל.
הפרמטרים הנדרשים בנוסף (אופציונליים):
| פרמטר | תיאור | סוג | ברירת מחדל |
|---|---|---|---|
| includeEnded | כלול שיחות שהסתיימו (ended[]) בתגובה לצד הפעילות |
0 או 1 |
0 |
| onlyEnded | החזר רק שיחות שהסתיימו, ללא שיחות פעילות | 0 או 1 |
0 |
| endedLimit | מגבלת מספר שיחות שהסתיימו להחזיר (החדשות ביותר לפי זמן ניתוק) | number | 30 |
| accounts | מערך חשבונות לסינון - רק חשבונות אלו יוחזרו. מצריך POST | string[] | ללא סינון |
| startDateTime | סינון שיחות שהסתיימו - החזר רק שיחות שניתקו אחרי תאריך/שעה זה. מצריך POST | string / number | ללא סינון |
| endDateTime | סינון שיחות שהסתיימו - החזר רק שיחות שניתקו לפני תאריך/שעה זה. מצריך POST | string / number | ללא סינון |
| afterCallId | החזר רק שיחות שניתקו אחרי שיחה זו (לפי זמן ניתוקה). שימושי לspolling יעיל - ראה הרחבה למטה. מצריך POST | string | ללא |
פרמטר startDateTime / endDateTime - פורמטים תקינים:
| פורמט | דוגמא |
|---|---|
| תאריך ושעה (רווח) | "2026-06-21 08:00:00" |
| ISO 8601 | "2026-06-21T08:00:00" |
| ISO 8601 עם UTC | "2026-06-21T08:00:00Z" |
| Unix timestamp (שניות) | 1750489200 |
| Unix timestamp (מילישניות) | 1750489200000 |
פרמטר afterCallId:
מיועד לשימוש בסקריפטים שמבצעים שליפה כל הזמן, ואז במקום לשלוף בכל פעם את כל הרשימה, מעבירים את ה-id של השיחה האחרונה שקיבלתם - והשרת מחזיר רק שיחות שניתקו אחריה.
אם ה-id כבר פג תוקף (20 דקות) - אין לי דרך לדעת מאיזה שיחה אתם רוצים ותקבלו את כל הרשימה עד endedLimit.
| מאפיין | סוג | הסבר |
|---|---|---|
| responseStatus | string | סטטוס הפעולה |
| summary | object | סיכום מצטבר מכלל החשבונות שנבחרו |
| accounts | object | המפתח הוא שם החשבון, הערך הוא נתוני החשבון |
| license | object | מצורף רק כשהרישיון הוא רישיון התנסות |
מבנה summary:
| מאפיין | סוג | הסבר |
|---|---|---|
| totalActive | number | סה"כ שיחות פעילות כרגע |
| dialing | number | שיחות במצב חיוג |
| inCall | number | שיחות בשיחה ממש |
| totalCalls | number | סה"כ שיחות (סטטיסטיקה שבועית) |
| totalIncoming | number | סה"כ נכנסות |
| totalOutgoing | number | סה"כ יוצאות |
| totalAnswered | number | סה"כ נענו |
| totalMissed | number | סה"כ לא נענו |
| totalAnsweredIncoming | number | נענו נכנסות |
| totalAnsweredOutgoing | number | נענו יוצאות |
| totalMissedIncoming | number | לא נענו נכנסות |
| totalMissedOutgoing | number | לא נענו יוצאות |
| totalTalkTimeSeconds | number | סה"כ זמן שיחה בשניות |
| totalRecorded | number | סה"כ שיחות שהוקלטו |
מבנה כל חשבון ב-accounts:
| מאפיין | סוג | הסבר |
|---|---|---|
| summary | object | סטטיסטיקות החשבון (אותם שדות כמו summary הכללי) |
| calls | array | שיחות פעילות כרגע |
| ended | array | שיחות שהסתיימו (רק אם includeEnded=1 או onlyEnded=1) |
מבנה שיחה (calls / ended):
| מאפיין | סוג | הסבר | דוגמא |
|---|---|---|---|
| id | string | מזהה שיחה ייעודי | "xSP-3f2a1b4c-..." |
| account | string | שם חשבון ה-SIP | "06558877=2" |
| callType | string | סוג שיחה | "IN" / "OUT" |
| source | string | מספר מקור | "050000000" |
| destination | string | מספר יעד | "0773133333=2" |
| startTime | number | Unix timestamp - תחילת השיחה | 1779710278 |
| answeredTime | number|null | Unix timestamp - מענה (null אם לא נענה) | 1779710282 |
| endTime | number|null | Unix timestamp - ניתוק (null אם עדיין פעיל) | null |
| status | string | מצב השיחה | "dialing" / "in_call" / "ended" |
| hasRecord | boolean | האם יש הקלטה | true |
| recordPath | string|null | נתיב ההקלטה | "ivr2://Trash/SIPRecord/DID-..." |
| history | array | רצף אירועי השיחה |
מבנה history event:
| מאפיין | סוג | הסבר | דוגמא |
|---|---|---|---|
| event | string | סוג האירוע | "start" / "answer" / "transfer" / "end" |
| time | number | Unix timestamp | 1779710278 |
| to | string | יעד ההעברה (רק באירוע transfer) | "05200000" |
דוגמא לתגובה מלאה:
{
"responseStatus": "OK",
"summary": {
"totalActive": 2,
"dialing": 1,
"inCall": 1,
"totalCalls": 4395,
"totalAnswered": 219,
"totalMissed": 4176,
"totalIncoming": 4380,
"totalOutgoing": 15,
"totalAnsweredIncoming": 211,
"totalAnsweredOutgoing": 8,
"totalMissedIncoming": 4169,
"totalMissedOutgoing": 7,
"totalTalkTimeSeconds": 13515,
"totalRecorded": 16
},
"accounts": {
"0888888888=2": {
"summary": {
"totalActive": 1,
"dialing": 0,
"inCall": 1,
"totalCalls": 250,
"totalAnswered": 8,
"totalMissed": 242,
"totalAnsweredIncoming": 7,
"totalAnsweredOutgoing": 1,
"totalMissedIncoming": 240,
"totalMissedOutgoing": 2,
"totalTalkTimeSeconds": 480,
"totalRecorded": 1
},
"calls": [
{
"id": "xSP-3f2a1b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
"account": "0888888888=2",
"callType": "IN",
"source": "050000000",
"destination": "0888888888=2",
"startTime": 1779710278,
"answeredTime": 1779710282,
"endTime": null,
"status": "in_call",
"hasRecord": true,
"recordPath": "ivr2://Trash/SIPRecord/DID-xxxx-Phone-xxxx-routing-0888888888=2-Date-2026-05-25-19-00-00.wav",
"history": [
{ "event": "start", "time": 1779710278 },
{ "event": "answer", "time": 1779710282 },
{ "event": "transfer", "time": 1779710290, "to": "079999999" }
]
}
],
"ended": [
{
"id": "xSP-7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
"account": "0888888888=2",
"callType": "IN",
"source": "052111111",
"destination": "0888888888=2",
"startTime": 1779709000,
"answeredTime": null,
"endTime": 1779709045,
"status": "ended",
"hasRecord": false,
"recordPath": null,
"history": [
{ "event": "start", "time": 1779709000 },
{ "event": "end", "time": 1779709045 }
]
}
]
}
}
}
הפעולה היא - getCallsByAccount
שירות זה דורש רישיון פעיל.
הפרמטרים:
| פרמטר | תיאור | סוג | חובה |
|---|---|---|---|
| account | שם חשבון ה-SIP | string | כן |
| includeEnded | כלול שיחות שהסתיימו (ended[]) |
0 או 1 |
לא (ברירת מחדל: 0) |
| startDateTime | סינון שיחות שהסתיימו - החזר רק שיחות שניתקו אחרי תאריך/שעה זה. מצריך POST | string / number | לא |
| endDateTime | סינון שיחות שהסתיימו - החזר רק שיחות שניתקו לפני תאריך/שעה זה. מצריך POST | string / number | לא |
| afterCallId | החזר רק שיחות שניתקו אחרי שיחה זו. מצריך POST | string | לא |
ראה הסבר מפורט על הפרמטרים startDateTime, endDateTime, afterCallId בסעיף getCalls למעלה - ההתנהגות זהה.
| מאפיין | סוג | הסבר |
|---|---|---|
| responseStatus | string | סטטוס הפעולה |
| account | string | שם החשבון שנשאל |
| summary | object | סטטיסטיקות החשבון |
| calls | array | שיחות פעילות |
| ended | array | שיחות שהסתיימו (רק אם includeEnded=1) |
{
"responseStatus": "OK",
"account": "09948949494=2",
"summary": {
"totalActive": 1,
"dialing": 0,
"inCall": 1,
"totalCalls": 250,
"totalAnswered": 8,
"totalMissed": 242,
"totalAnsweredIncoming": 7,
"totalAnsweredOutgoing": 1,
"totalMissedIncoming": 240,
"totalMissedOutgoing": 2,
"totalTalkTimeSeconds": 480,
"totalRecorded": 1
},
"calls": [],
"ended": []
}
השירות מיועד לקבל מידע בזמן אמת על מצב חשבונות ה-SIP במערכת - ועל כן כל הנתונים לא נשמרים לטווח ארוך.
נכון לכתיבת שורות אלה - אלה פחות או יותר הזמנים שנשמרים הנתונים לאחר שהם כבר לא ״זמן אמת״:
| נתון | זמן שמירה |
|---|---|
| שיחה בחיוג (dialing) | 5 דקות — פג תוקף אוטומטית אם לא נענתה |
| שיחה פעילה (in_call) | עד 2.5 שעות מרגע המענה |
| שיחה שהסתיימה | 20 דקות |
| סטטיסטיקות | 7 ימים |
שיחות שמועברות: כל העברה מתועדת כ-event מסוג transfer ב-history עם שדה to המכיל את מספר היעד, אבל לא יוצרת שיחה חדשה או מזהה שיחה ייחודי.
מזהי שיחה - id: המזהה נוצר בעת תחילת השיחה ונשמר, כולל אחרי ניתוק, עד פקיעת התוקף של 20 דקות. קיימים שני סוגים:
xSP-{uuid} - מזהה שנוצר על ידי השרתxCP-{uuid} - מזהה שסופק על ידי הלקוח בכותרת X-YemotSiPanel-NewCallID בINVITE של השיחת SIP.ב״ה
עד היום, ברירת מחדל מודול ניתוב - ראוטינג - היה שולח מיילים על השיחות כברירת מחדל, אלא אם כן היה מוגדר לבטל.
החל מהיום, המודול לא ישלח מייל ללא הגדרה יזומה מראש בשלוחה של:
routing_email_send=yes
עודכן גם בהגדרות המודול
בברכה,
@15183299387 תבדוק אם זה עדיין קורה לך. אם כן - תשלח לי פרטים מדוייקים במייל, או לכל הפחות אם תוכל להעלות כאן מה התגובה של ה API על העלאה - דרך לשונית network בכלי פיתוח בדפדפן.
@שניאור1 כתב בצלצול כפול במערכת: מרכזיית SIP, אפשרי?:
הגדרתי בקובץ sip_configuring.ini שתחת השלוחה הראשית:
account_dial_extension=300,303
זה לא אפשרי להגדרה בקובץ הזה. לא כל כך מבין את התלונה, אתה ממציא הגדרות מתלונן שזה לא עובד.
זה עובד במודול SIP בלבד.
@נועם-10 כתב בקבלת SMS לשלוחה:
ואז ? כששולחים הודעה למס' היא נכנסת לשלוחה כקובץ טקסט ?
לא. זה מאפשר לשמור כמו וירטואל פלוס. כתבתי.
לא ברור מה הצורך שלך להעלות את זה לשלוחה..
@שניאור1 כן, בשימוש עם מודול sip ומספרי שלוחה.
מפורט: https://f2.freeivr.co.il/post/60610
@נועם-10 כתב בקבלת SMS לשלוחה:
האם יש אפשרות לקבל SMS לשלוחה מסויימת ולהקשיב לזה בטלפון ?
כן, דרך המספר הנוסף כמודול ואז זה כמו בוירטואל פלוס.