sms_ru_call

Flutter SDK для авторизации по звонку через SMS.RU API code/call.

Сервис совершает исходящий звонок на номер пользователя и возвращает 4 цифры, на которые заканчивается номер звонящего. Пользователь вводит эти цифры в приложении.

Безопасность

Ключ api_id не должен попадать в мобильное приложение. В production используйте CallVerificationController с sendDelegate (например, Firebase callable startPhoneCallVerification).

Класс SmsRuClient предназначен для серверной среды или локальной отладки.

Использование в приложении

import 'package:sms_ru_call/sms_ru_call.dart';

final controller = CallVerificationController(
  sendDelegate: (phone) async {
    final result = await firebaseFunctions
        .httpsCallable('startPhoneCallVerification')
        .call({'phoneNumber': phone, 'clientIp': '-1'});
    return CallSendResponse(
      requestId: result.data['requestId'],
      code: result.data['code'],
    );
  },
);

await controller.startVerification('+79001234567');

if (controller.verifyCode('1435')) {
  // код совпал
}

Сервер (Node.js)

См. pes_discount/functions/src/mobile/smsru.ts — переменная окружения SMSRU_API_ID.

Тесты

flutter test

Libraries

sms_ru_call
Flutter SDK для SMS.RU — авторизация по звонку.