שילוב A1 SMS עם 1C-Bitrix: שליחה מהירה בבלארוס
ספקי SMS סטנדרטיים (SMS.ru, SMSC) נכשלים לעיתים קרובות עם מספרים בלארוסיים. חסר להם מזהה שולח אלפאנומרי, יש להם עלויות גבוהות ובעיות אספקה. A1 (לשעבר Velcom) — הספק הגדול ביותר בבלארוס — מציע שער SMS עבור ישויות משפטיות. הוא משתמש בשולח בלארוסי ומבטיח אספקה ברשתות MTS, A1, life:). לשילוב עם Bitrix, אנו מפתחים handler המחבר את A1 SMS API עם מודול messageservice (עבור B24) או main.mail (עבור Bitrix מקומי). עם ניסיון של 5+ שנים ויותר מ-50 שילובי SMS מוצלחים, אנו מבטיחים התקנה אמינה. צור קשר עם הצוות שלנו לייעוץ.
למה A1 SMS עדיף על חלופות עבור בלארוס
בניגוד לספקי SMS זרים, A1 מבטיח אספקה למספרי MTS, A1 ו-life:). הוא שומר על מזהה השולח האלפאנומרי. העלות להודעה נמוכה משמעותית מאשר דרך SMS.ru עבור מספרים בלארוסיים. התמחור מתחיל ב-$0.02 ל-SMS, תלוי בנפח. A1 מספק גם DLR רשמי (דוח אספקה) והתראות callback, מה שנותן שליטה מלאה על האספקה.
איך עובד A1 SMS API
A1 מספק HTTP API; תיעוד ניתן לאחר חתימת חוזה. נקודות קצה עיקריות:
-
POST /api/sms/send— שליחת הודעה אחת או מספר הודעות -
GET /api/sms/status/{messageId}— סטטוס אספקה -
GET /api/sms/balance— יתרת חשבון
אימות משתמש ב-Basic Auth או בטוקן בכותרת (בדוק את החוזה שלך). פורמט גוף הבקשה הוא JSON:
{ "phone": "375291234567", "text": "Ваш заказ №1234 оформлен", "sender": "MyShop" } מזהה השולח הוא שם אלפאנומרי הרשום אצל A1 בעת החתימה. ללא רישום, SMS מגיעים ממספר מספרי.
שילוב עם Bitrix מקומי
ב-Bitrix מקומי, ניתן לשלוח SMS דרך מודול { "phone": "375291234567", "text": "Ваш заказ №1234 оформлен", "sender": "MyShop" } או ישירות דרך event handler. התרחיש העיקרי הוא שליחת SMS באירועי הזמנות.
אפשרות 1: OnSaleStatusOrder event handler
EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleStatusOrder', ['A1SmsHandler', 'onStatusChange'] );
class A1SmsHandler {
public static function onStatusChange($orderId, $status) {
if ($status !== 'F') return; // F = выполнен
$order = \Bitrix\Sale\Order::load($orderId);
$phone = $order->getPropertyCollection()
->getPhone()->getValue();
self::sendSms($phone, "Заказ №{$orderId} выполнен");
}
private static function sendSms(string $phone, string $text): void {
$ch = curl_init('https://a1sms.by/api/sms/send');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . A1_SMS_TOKEN,
],
CURLOPT_POSTFIELDS => json_encode([
'phone' => $phone,
'text' => $text,
'sender' => 'MyShop',
]),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
]);
$response = curl_exec($ch);
curl_close($ch);
// Логирование ответа
}
}אפשרות 2: מודול sms.manager. אם הפרויקט משתמש במודול messageservice (מ-Marketplace או מותאם אישית), אנו כותבים מתאם ספק. הספק נרשם בהגדרות, מה שהופך את A1 SMS לזמין כערוץ שליחה.
שילוב עם Bitrix24
ב-Bitrix24, חבר ספק SMS דרך REST API:
- רשום את הספק:
OnSaleStatusOrderעםEventManager::getInstance()->addEventHandler( 'sale', 'OnSaleStatusOrder', ['A1SmsHandler', 'onStatusChange'] ); class A1SmsHandler { public static function onStatusChange($orderId, $status) { if ($status !== 'F') return; // F = выполнен $order = \Bitrix\Sale\Order::load($orderId); $phone = $order->getPropertyCollection() ->getPhone()->getValue(); self::sendSms($phone, "Заказ №{$orderId} выполнен"); } private static function sendSms(string $phone, string $text): void { $ch = curl_init('https://a1sms.by/api/sms/send'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_HTTPHEADER => [ 'Content-Type: application/json', 'Authorization: Bearer ' . A1_SMS_TOKEN, ], CURLOPT_POSTFIELDS => json_encode([ 'phone' => $phone, 'text' => $text, 'sender' => 'MyShop', ]), CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 10, ]); $response = curl_exec($ch); curl_close($ch); // Логирование ответа } },sms.manager,sms.manager. - ה-handler (
messageservice.sender.add) מקבל את הבקשה מ-B24 (מספר, טקסט), מעביר ל-A1 API, מחזיר סטטוס. - עבור סטטוסים, A1 שולח DLR לכתובת URL שצוינה. ה-handler קורא ל-
CODE=a1smsכדי לעדכן סטטוס ב-B24.
לאחר הרישום, A1 SMS מופיע בכרטיסי קשר, ברובוטים של CRM ובקמפיינים שיווקיים.
קידוד ותעתיק
SMS בקירילית: 70 תווים להודעה (UCS-2). לטינית: 160 תווים (GSM 7-bit). כדי לחסוך בתקציב, שלח הודעות ארוכות בלטינית או שמור אותן בתוך 70 תווים. A1 API מקבל UTF-8; ההמרה מתרחשת בצד השער. עם זאת, תווים מיוחדים כמו «» ומקפים ארוכים עלולים להמיר בצורה שגויה. החלף אותם במקבילות ASCII לפני השליחה.
טיפול בשגיאות
A1 SMS API מחזיר קודי שגיאה:
| קוד | משמעות | פעולה |
|---|---|---|
| 0 | הצלחה | שמור messageId למעקב סטטוס |
| 1 | מספר לא חוקי | רשום ביומן, אל תנסה שוב |
| 2 | יתרה לא מספקת | התריע למנהל |
| 3 | חריגה ממגבלה | הכנס לתור, נסה שוב אחרי 60 שניות |
| 5 | השירות לא זמין | נסה שוב אחרי 300 שניות, מקסימום 3 ניסיונות |
לניסיון חוזר ב-Bitrix מקומי, השתמש ב-TYPE=SMS שבוחר SMS שלא נשלחו מ-HL-block HANDLER=https://your-site.by/a1sms-handler.php ומנסה שוב. עבור B24, נסה שוב ברמת ה-handler.
מה כלול בעבודה
- רישום חשבון A1 SMS וגישה ל-API
- פיתוח handler לשליחת SMS דרך A1 API
- חיבור למודול
a1sms-handler.php(B24) או event handlers (מקומי) - הגדרת callback לסטטוסי אספקה
- טיפול בשגיאות ולוגיקת ניסיון חוזר
- רישום כל ה-SMS שנשלחו (HL-block או טבלה)
- תיעוד להתקנה ותחזוקה
- מסירת גישה והדרכת צוות
- תמיכה טכנית לאחר ההשקה (אופציונלי)
לייעוץ על הפרויקט שלך, צור קשר עם הצוות שלנו. אנו נעריך את ההיקף ואת לוחות הזמנים.
לוחות זמנים
| שלב | משימות | משך |
|---|---|---|
| חיבור API + שליחה בסיסית | Handler, בדיקה על מספר אמיתי | 2–3 ימים |
| שילוב CRM (רובוטים, קמפיינים) | רישום ספק, תבניות SMS, רובוטים | 2–3 ימים |
| Callback + ניסיון חוזר + ניטור | DLR handler, תור, התראות | 3–4 ימים |
| שילוב מלא | כל השלבים + תיעוד | 1.5–2 שבועות |
השלב הארגוני העיקרי: חוזה עם A1 ורישום מזהה שולח. החלק הטכני לוקח שבוע. התיאום עם הספק לוקח 3 עד 10 ימי עסקים. התחל את החוזה במקביל לפיתוח.
הזמן שילוב — קבל ייעוץ על הפרויקט שלך.

