מפתחים

POST/tcr/v2/campaignBuilder

רישום קמפיין 10DLC

הגישו קמפיין שעומד בתנאי הזכאות והבחינו בין רישום במרשם לבין הפעלת ספק ומוכנות לשליחה.

בעמוד זה
  1. בדקו את זכאותו של מותג לפני רישום הקמפיין שלו
  2. הפרידו בין סביבת ארגז חול לסביבת ייצור
  3. הגישו את ה-JSON של הקמפיין
  4. שדות הקמפיין ודרישות מותנות
  5. נסו שוב את אותה בקשה מיועדת באופן בטוח
  6. מזהה קמפיין אינו ההגדרה הסופית לשליחה
  7. עמלות קמפיין ייצור
  8. טפלו באימות ובכשלים חלקיים

בדקו את זכאותו של מותג לפני רישום הקמפיין שלו

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

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

הפרידו בין סביבת ארגז חול לסביבת ייצור

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

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

הגישו את ה-JSON של הקמפיין

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

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  'https://api.multitel.net/tcr/v2/reseller?companyName=MultiTEL%20LLC&recordsPerPage=500'

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

{
  "brandId": "B123ABC",
  "channelId": "10DLC",
  "usecase": "TRIAL",
  "subUsecases": [],
  "resellerId": "R000000",
  "description": "Trial account notices requested by users of the example application.",
  "messageFlow": "Test users explicitly select an unchecked consent box before requesting these trial notices.",
  "sample1": "Example application: your requested account notice is available. Reply STOP to stop notices.",
  "subscriberOptin": true,
  "optinKeywords": "START",
  "optinMessage": "You are subscribed to the example application's requested account notices.",
  "subscriberOptout": true,
  "optoutKeywords": "STOP",
  "optoutMessage": "You will no longer receive the example application's account notices.",
  "subscriberHelp": true,
  "helpKeywords": "HELP",
  "helpMessage": "For help with example account notices, contact support@example.invalid.",
  "embeddedLink": false,
  "embeddedPhone": false,
  "numberPool": false,
  "ageGated": false,
  "directLending": false,
  "termsAndConditions": true,
  "autoRenewal": false,
  "mnoIds": [],
  "referenceId": "your-trial-reference"
}

הגדירו את termsAndConditions ל-true רק לאחר שהאדם המורשה עיין בתנאים החלים ואישר אותם. הדוגמה אינה הסכמה מטעמכם. השתמשו בערכים בוליאניים של JSON עבור הדגלים, לא במחרוזות במרכאות.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $IDEMPOTENCY_KEY" \
  --data-binary @campaign.json \
  'https://api.multitel.net/tcr/v2/campaignBuilder'

שדות הקמפיין ודרישות מותנות

בקשת קמפיין 10DLC
שדותמה לספק
brandId, channelId, usecaseהמותג שבבעלותכם, ערוץ 10DLC וקוד עדכני זכאי של מקרה שימוש. השתמשו בקודים מתוצאת בדיקת הזכאות, לא בתוויות מתורגמות.
subUsecasesמערך של קודי תת-מקרי שימוש זכאים. כבדו את הספירה המזערית והמרבית של תוצאת בדיקת הזכאות הנבחרת.
resellerIdמזהה משווק מותר. המסלול בבעלות החשבון מקבל משווקים בבעלות, את המשווק המשותף המוגדר שלו או את ערך אי-המשווק המכוון. משווק לא קשור נדחה.
description, messageFlowתארו את המטרה בפועל וכיצד נאספת ההסכמה. כל אחד צריך להכיל 40–4096 תווים. כללו את פעולת המשתמש, הטופס או התהליך האמיתיים; אל תמציאו הסכמה שהיישום שלכם אינו אוסף.
sample1 … sample5הודעות מייצגות, בדרך כלל 20–1024 תווים כל אחת. הפורטל דורש לפחות אחת; רשתות זכאיות יכולות לדרוש יותר. ספקו את המספר הנדרש לפי תוצאת בדיקת הזכאות העדכנית.
subscriberOptin, subscriberOptout, subscriberHelpהצהירו על זרימות נמענים נתמכות באמצעות שמות השדות המדויקים האלה. כאשר זרימה מופעלת, ספקו את שדות מילת המפתח וההודעה שלה. דרישות הרשת יכולות להפוך זרימות מסוימות לחובה.
optinKeywords, optoutKeywords, helpKeywordsמילות המפתח המזוהות בפועל, עד 255 תווים. הן חייבות להתאים להתנהגות היישום המקבל.
optinMessage, optoutMessage, helpMessageההודעות המתאימות. כללי השדות המפורסמים העדכניים קובעים 20–1024 תווים. כללו התנהגות תמיכה והסרה אמיתית.
embeddedLink, embeddedPhone, embeddedLinkSampleהצהירו על קישורים מוטמעים או מספרי טלפון בכנות. גם רשת שעומדת בשאר תנאי הזכאות יכולה לאסור אותם. דוגמת קישור מאפשרת עד 255 תווים.
mnoIdsמערך אופציונלי של מזהי רשתות מספריים זכאים מתוצאת בדיקת הזכאות. אל תניחו שכל רשת תומכת במקרה השימוש הנבחר.
numberPool, ageGated, directLendingמאפייני קמפיין רלוונטיים כערכים בוליאניים של JSON. בחרו אותם לפי השירות בפועל.
privacyPolicyLink, termsAndConditionsLinkכתובות ה-URL הציבוריות הרלוונטיות של המדיניות והתנאים שלכם כאשר רלוונטי, עד 2048 תווים כל אחת. הן חייבות לתאר את שירות ההודעות בפועל.
termsAndConditionsאישור מפורש של תנאי הקמפיין החלים. הפורטל דורש true והאשף שלו אוסף גם את האישורים האישיים העדכניים.
autoRenewalהאם הקמפיין מתחדש. ברירת המחדל היא true. השבתת החידוש אינה מסירה התחייבות מזערית שכבר משויכת לקמפיין ייצור.
referenceId, tagהאסמכתא של הקמפיין שלכם, עד 50 תווים, ותגיות אופציונליות. referenceId אינו כותרת Idempotency-Key.

הסכימה המפורסמת מכילה אי-עקביות מסוימת באותיות רישיות בטבלאות תיאוריות. בקשת הפורטל העדכנית משתמשת ב-subscriberOptin וב-subscriberOptout כפי שמוצג לעיל. שמרו על כתיב מדויק זה. מדריך זה מכסה את זרימת העבודה של 10DLC הפונה לדיירים; אל תסיקו ששדות החובה או שלבי ההפעלה של ערוץ אחר זהים.

נסו שוב את אותה בקשה מיועדת באופן בטוח

השתמשו ב-Idempotency-Key אחד עבור יצירה מיועדת זו. המפתח הוא 1–128 תווי ASCII להדפסה ללא רווחים והוא מוגבל לחשבון הבעלים. שמרו על שיטת ה-HTTP, הנתיב, מחרוזת השאילתה ובתי הגוף המדויקים ללא שינוי בניסיון חוזר. קובץ JSON שעוצב מחדש מתנגש גם אם ערכיו שווי ערך.

כפילות בתהליך יכולה להחזיר HTTP 409 עם Retry-After; בקשות שהושלמו יכולות לשחזר את תגובתן השמורה. שגיאה שמורה אינה מוכיחה שהמרשם לא יצר דבר. שמרו את campaignId, requestId וכל כותרות המתאם, בדקו את הקמפיין הקיים ובדקו את המצב בפועל ופתרו אי-התאמות בעקבות כשל חלקי לפני שקילת מפתח חדש.

מזהה קמפיין אינו ההגדרה הסופית לשליחה

התגובה משתמשת בסטטוס HTTP וב-JSON ישיר. ביצירה מוצלחת, שמרו את campaignId וקראו את מצבו העדכני:

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  "https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"

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

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

עמלות קמפיין ייצור

עמלות קמפיין חודשיות מוגדרות עדכניות
מקרה שימושעמלה חודשית
LOW_VOLUME, UCAAS_LOW$1.67
SOLE_PROPRIETOR$2.23
CHARITY$3.34
EMERGENCY$5.56
AGENTS_FRANCHISES$33.34
מקרי שימוש אחרים מוגדרים לגיבוי$11.12

סכומים קמעונאיים אלו נבדקו מול תצורת הפורטל העדכנית ב-24 באוקטובר 2026. אשרו את מקרה השימוש המזכה העדכני ואת המחיר המוצג לפני הגשת ייצור. monthlyFee בתגובת בדיקת הזכאות של המרשם אינו אוטומטית מחיר הקמעונאות של MultiTEL שלכם.

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

טפלו באימות ובכשלים חלקיים

קראו את status של HTTP ואת ה-JSON המוחזר. כשלי אימות יכולים להיות מערכים של אובייקטי code/description; כשלים מקומיים יכולים להיות במקום זאת אובייקטים עם message, status ובמקרה של שגיאות עיבוד מסוימות, requestId.

כשלי קמפיין
תוצאת HTTPפעולה הבאה
400תקנו את השדות הספציפיים או את מפתח האידמפוטנטיות. קראו שוב את תוצאת בדיקת הזכאות העדכנית, את מספר הדוגמאות הנדרש ואת דרישות זרימת הנמענים.
401, 403 או 404בדקו את פרטי ההזדהות ל-API ואת ה-IP המותר של המקור, ולאחר מכן את בעלות המותג/משווק וההרשאות. אל תשתמשו במזהים מחשבון אחר.
402עיינו במימון הייצור ובהרשאת הרכישה לפני ניסיון חוזר של אותה יצירה מיועדת.
409הבחינו בין שחזור בתהליך לבין בקשה שהשתנתה המשתמשת באותו מפתח. שמרו את הקמפיין הקיים ואת פרטי הבקשה בעת התאמה.
429 או מגביל לא זמיןכבדו את Retry-After כאשר הוא קיים ושמרו את המפתח המקורי ואת הבקשה המדויקת.
500 או 502יתכן שהיצירה כבר התרחשה. שמרו כל campaignId ו-requestId, בדקו את הקמפיין הקיים, והמשיכו או תאמו את הפעלתו במקום ליצור כפילות.