שליחת SMS ראשון ב-5 דקות
המדריך הזה לוקח אתכם ממפתח API להודעה שנמסרה, עם curl או עם ה-SDK ל-Node.
1. צרו מפתח API
בפורטל: API ← מפתחות ← מפתח חדש. יש שני סוגים:
| סוג | תחילית | מה קורה |
|---|---|---|
| Live | bm_live_ | שולח בפועל ומחייב קרדיטים |
| Test | bm_test_ | עובר את כל הולידציה, לא שולח ולא מחייב — ראו מצב בדיקה |
המפתח המלא מוצג פעם אחת בלבד. שמרו אותו במשתנה סביבה (BATLER_API_KEY), לעולם לא בקוד צד-לקוח.
2. ודאו שיש לכם שולח מאומת
כל הודעה יוצאת ממספר שולח (טלפון) או שם שולח (עד 11 תווים לטיניים). מספר טלפון מאמתים בעצמכם בקוד שנשלח אליו; שם אלפאנומרי נבדק אצלנו, בדרך כלל תוך 24 שעות. ראו POST /senders.
3. שלחו הודעה
bash
curl -X POST https://smsprovider-web.vercel.app/api/v1/messages \
-H "Authorization: Bearer $BATLER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"to": "0501234567", "from": "MyBrand", "body": "שלום! ההזמנה שלך יצאה למשלוח"}'או עם ה-SDK:
ts
import { BatlerSMS } from "@batler/sms";
const sms = new BatlerSMS({ apiKey: process.env.BATLER_API_KEY! });
const res = await sms.messages.send({ to: "0501234567", from: "MyBrand", body: "שלום! ההזמנה שלך יצאה למשלוח" });
console.log(res.messages[0].id);התשובה מגיעה מיד, לפני השליחה בפועל:
json
{
"batch_id": "7d1c3c5e-2b1f-4c55-9a51-1f0b8f1b2a10",
"accepted": 1,
"rejected": [],
"credits_reserved": 1,
"messages": [{ "id": "0e9b2f0a-6c1d-4f43-8c33-6f3b3f0d9a11", "status": "queued", "to": "+972501234567", "segments": 1, "credits": 1 }]
}4. עקבו אחרי המסירה
- Webhook (מומלץ): הגדירו כתובת וקבלו
message.delivered/message.failedבזמן אמת — ראו Webhooks. - Polling:
GET https://smsprovider-web.vercel.app/api/v1/messages/{id}.
מחזור החיים של הודעה: queued ← sent ← delivered / failed / expired. הודעה מתוזמנת שבוטלה עוברת ל-cancelled והקרדיטים חוזרים.
כללים חשובים
- Idempotency-Key חובה בכל POST של שליחה. אותו מפתח בתוך 24 שעות מחזיר את אותה תשובה בלי חיוב כפול — בטוח לנסות שוב אחרי timeout.
- טלפונים מתקבלים כ-
05XXXXXXXX,5XXXXXXXX,+972…או972…ומוחזרים תמיד ב-E.164. - כישלון מסירה (המכשיר כבוי, מספר לא קיים) לא מזכה את הקרדיט; כישלון לפני השליחה משחרר אותו.