Інтеграція SMS-розсилки (Twilio) з сайтом

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Інтеграція SMS-розсилки (Twilio) з сайтом
Проста
від 4 годин до 2 робочих днів
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Інтеграція SMS-розсилання (Twilio) з веб-сайтом

Twilio — американський провайдер API комунікацій: SMS, голос, відео, WhatsApp. Один зі стандартів для міжнародних проектів. Номери доступні у більшості країн, але для відправлення на російські номери можуть бути обмеження від операторів — рекомендується попередньо тестувати.

Відправка SMS

// composer require twilio/sdk

$twilio = new \Twilio\Rest\Client(
    env('TWILIO_ACCOUNT_SID'),
    env('TWILIO_AUTH_TOKEN')
);

$message = $twilio->messages->create(
    $to,  // '+79001234567'
    [
        'from' => env('TWILIO_PHONE_NUMBER'),  // '+12025551234'
        'body' => "Ваш код підтвердження: {$code}"
    ]
);

$messageSid = $message->sid;  // зберегти для відстеження

Верифікація через Twilio Verify

Twilio Verify — спеціалізований сервіс для OTP-кодів (краще за власну реалізацію):

// Відправити OTP
$verification = $twilio->verify->v2
    ->services(env('TWILIO_VERIFY_SERVICE_SID'))
    ->verifications->create($phone, 'sms');

// Перевірити код
$check = $twilio->verify->v2
    ->services(env('TWILIO_VERIFY_SERVICE_SID'))
    ->verificationChecks->create(['to' => $phone, 'code' => $userCode]);

if ($check->status === 'approved') {
    // Код правильний
}

Переваги Verify: не потрібно зберігати коди в БД, керувати termination, рахувати спроби — Twilio робить це автоматично.

Webhook для статусу доставки

Twilio відправляє статус доставки на URL:

Route::post('/webhooks/twilio/sms', function (Request $request) {
    // Перевірити підпис X-Twilio-Signature
    $validator = new \Twilio\Security\RequestValidator(env('TWILIO_AUTH_TOKEN'));
    if (!$validator->validate($request->header('X-Twilio-Signature'), $url, $request->all())) {
        return response('Unauthorized', 403);
    }

    SmsDelivery::updateOrCreate(
        ['message_sid' => $request->MessageSid],
        ['status' => $request->MessageStatus]  // sent, delivered, failed
    );
});

Тривалість інтеграції: 1 робочий день, включаючи налаштування Verify для OTP.