Twilio — халықаралық телекоммуникация провайдері. Ол ботқа тұтынушыларға қоңырау шалуға және оларды Twilio телефон нөмірлерін ұсынатын 100+ елдегі қызметкерлеріңізбен байланыстыруға мүмкіндік береді, соның ішінде Мексика, Бразилия, Түркия, Испания, Германия, Франция, БАӘ, Таиланд, Малайзия және басқалары.

Twilio-ды қосқаннан кейін не аласыз:

  • әңгіме карточкасынан бір рет басу арқылы тұтынушыға қоңырау шалу;
  • автоматтандырылған сценарийлік қоңыраулар — бот тұтынушыға қоңырау шалып, мәтінді дауыстап оқиды;
  • топтық қоңыраулар — бот тұтынушыға қоңырау шалып, оларды бірінші бос қызметкерге қосады;
  • барлық қоңырауларды жазу, жазба сілтемесі тапсырыс айнымалыларында сақталады;
  • қоңырау оқиғалары (қоңырау, жауап, аяқтау) тікелей әңгімеде — оларды сценарийлер құру үшін пайдалануға болады.

1-қадам. Аккаунт жасау және нөмір сатып алу

  1. twilio.com сайтында тіркеліп, тексеру процесінен өтіңіз.
  2. Twilio Console-да Phone Numbers → Buy a number бөлімін ашып, қажетті елдегі нөмірді таңдаңыз. Voice қосылғанына көз жеткізіңіз — кейбір нөмірлер тек SMS қолдайды және қоңыраулар үшін пайдаланылмайды.

2-қадам. Кіру деректерін көшіру

Twilio Console басты бетінде, Account Info бөлімінде екі мән табасыз:

Элемент Қалай көрінеді
Account SID ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Auth Token жасырын; көру үшін Show түймесін басыңыз

⚠️ Auth Token-ды дәл көрсетілгендей көшіріңіз, алдында немесе артында қосымша бос орындарсыз. Біз оны Twilio-дан келген әрбір сұраныстың түпнұсқалығын тексеру үшін қолданамыз. Бір көрінбейтін қосымша таңба қоңыраулар жұмыс істеп тұрғанда, қоңырау оқиғаларының әңгімеде көрінбеуіне әкелуі мүмкін.

Auth Token Twilio аккаунтыңызға және ондағы қаражатқа толық қол жеткізуді қамтамасыз етеді. Оны мессенджерлер арқылы жібермеңіз немесе ешқайда жарияламаңыз.


3-қадам. Аккаунтыңызда Twilio-ды қосу

Project → Integrations → Telephony → Twilio бөлімін ашып, үш өрісті толтырыңыз:

Өріс Не енгізу керек
Account SID 2-қадамнан
Auth Token 2-қадамнан
Twilio Number сатып алынған нөмір, халықаралық форматта: +14155550100

Нөмір E.164 форматында енгізілуі керек: +, ел коды және телефон нөмірі, бос орындарсыз, жақшаларсыз немесе дефистерсіз.

Сақтағаннан кейін бетте callback URL пайда болады. Оны көшіріңіз. Содан кейін Twilio Console-да сатып алынған нөміріңіздің параметрлерін ашып, Voice & Fax бөлімінде конфигурациялаңыз:

  • A call comes in → Webhook → көшірілген URL-ді қойып, HTTP POST таңдаңыз.

Бұл конфигурациясыз шығыс қоңыраулар жұмыс істейді, бірақ кіріс қоңыраулар мен әңгімедегі қоңырау оқиғалары болмайды.

Интеграцияны ажырату үшін Account SID өрісін тазалап, параметрлерді сақтаңыз.


4-қадам. Қызметкерлердің телефон нөмірлерін қосу

Twilio қызметкерлерге қарапайым телефон нөмірлеріне қоңырау шалады — мұнда ішкі нөмірлер жоқ.

Team қойыншасын ашып, қызметкерді таңдап, Twilio Phone Number өрісіне олардың толық телефон нөмірін сол форматта толтырыңыз:

+905551112233

Бұл нөмірсіз тұтынушы карточкасындағы қоңырау түймесі сол қызметкер үшін жұмыс істемейді.


Тұтынушы карточкасынан қоңырау шалу

Әңгіме карточкасында тұтынушының телефон нөмірінің жанында қоңырау түймесі пайда болады. Оны басу келесі реттілікті бастайды:

  1. Twilio қызметкерге қоңырау шалады — қызметкер сіздің Twilio нөміріңізді абонент ретінде көреді.
  2. Қызметкер қоңырауға жауап береді.
  3. Содан кейін ғана Twilio тұтынушыға қоңырау шалып, екі жақты қосады.

Бұл реттілік әдейі: тұтынушы қызметкер телефонға жақындағанша қоңырау дыбысын тыңдамауы керек. Егер қызметкер жауап бермесе, тұтынушыға мүлдем қоңырау шалынбайды.


Бот сценарийлерінен қоңыраулар

Калькуляторда төрт әдіс қолжетімді.

twilio_employee_call(client_phone, employee_phone, caller_id)

Қызметкерді тұтынушымен байланыстырады. Бұл тұтынушы карточкасындағы қоңырау түймесі сияқты жұмыс істейді: алдымен қызметкерге, содан кейін тұтынушыға қоңырау шалынады.

twilio_employee_call(client_phone, "+905551112233")

Үшінші аргумент міндетті емес. Ол тұтынушының абонент ретінде көретін телефон нөмірін көрсетеді. Әдепкі бойынша сіздің Twilio нөміріңіз қолданылады.

twilio_group_call(client_phone, employee_phones, caller_id)

Тұтынушыға қоңырау шалады және тұтынушы жауап бергеннен кейін, көрсетілген тізімдегі барлық қызметкерлерге бір уақытта қоңырау шалады. Қоңырау бірінші жауап берген қызметкерге қосылады.

twilio_group_call(client.phone, "+905551112233,+905554445566,+905557778899")

⚠️ Мұнда реттілік кері. Алдыңғы әдістен айырмашылығы, тұтынушы бірінші жауап береді және Twilio қызметкерлерге қоңырау шалғанда бірнеше секунд үнсіздікті естуі мүмкін. Бұл Twilio шектеуі: топқа бір уақытта қоңырау шалу және бірінші жауап бергенді қосу тек осылай жұмыс істейді. Егер тұтынушының күтуі маңызды болмаса, twilio_employee_call қолданыңыз.

twilio_play_message(client_phone, text, voice, language)

Тұтынушыға қоңырау шалып, синтезделген дауыспен көрсетілген мәтінді оқиды. Бұл кездесулерді еске салу, тапсырыстарды растау және жеткізу туралы хабарламалар үшін пайдалы.

twilio_play_message(client.phone, "Hello! This is a reminder about your appointment tomorrow at 3:00 PM.", "alice", "en-EN")

alice дауысы әмбебап және негізгі тілдерді қолдайды, соның ішінде tr-TR, es-ES, es-MX, pt-BR, de-DE, fr-FR, en-US, ru-RU және ar-XA.

Әрқашан тілді анық көрсетіңіз — әйтпесе Twilio мәтінді ағылшын тіліндегі айтылыммен оқуы мүмкін.

Хабарламаға құпия сөздерді, тексеру кодтарын немесе басқа құпия ақпаратты қоспаңыз: қоңырауға дауыстық пошта жауап беруі мүмкін.

Қоңырау жазбасына сілтемені қайтарады. Бұл сирек қажет, өйткені сілтеме әдетте автоматты түрде пайда болады (келесі бөлімді қараңыз). Бұл жазба сілтемесі алынбаған және қайта сұрау қажет болғанда пайдалы болуы мүмкін.

twilio_get_record_link()

Егер аргумент берілмесе, тұтынушының соңғы қоңырауы қолданылады.


Айнымалылар мен оқиғалар

Әр қоңыраудан кейін бот тұтынушының тапсырысында келесі айнымалыларды сақтайды:

Айнымалы Не қамтиды
twilio_call_id Twilio қоңырау идентификаторы
twilio_call_disposition қоңырау нәтижесі: completed, busy, no-answer, failed, canceled
twilio_call_duration қоңырау ұзақтығы секундтармен
twilio_record_link жазбаға сілтеме
twilio_record_id Twilio жазба идентификаторы

twilio_call_event <status> форматындағы оқиғалар әңгімеге жіберіледі. Оларды сценарийлеріңізде шарттар ретінде пайдалануға болады:

Оқиға Қашан жіберіледі
twilio_call_event initiated қоңырау жасалды
twilio_call_event ringing телефон шырылдап тұр
twilio_call_event answered қоңырауға жауап берілді
twilio_call_event completed қоңырау аяқталды
twilio_call_event busy / no-answer / failed / canceled қоңырауды аяқтау мүмкін болмады
twilio_call_event recording қоңырау жазбасы дайын

⚠️ Жазба сілтемесін қолданар алдында recording оқиғасын күтіңіз, completed емес. Twilio жазба файлын қоңырау аяқталғаннан кейін өңдейді. completed оқиғасы алынған кезде twilio_record_link айнымалысы әлі бос. Сондықтан жазбаны менеджерге немесе CRM-ге жіберетін сценарий recording оқиғасымен іске қосылуы керек.

Типтік "тұтынушыға жете алмады — оған хабарлама жіберу" сценарийі келесідей жұмыс істейді: twilio_call_event no-answer немесе busy шарты → тұтынушыға хабарлама жіберу.


Қоңырау жазбалары

Жазу қызметкер қатысатын барлық қоңыраулар үшін әдепкі бойынша қосылған. Әңгіменің екі жағы да қоңырауға жауап берілген сәттен бастап жазылады. Файлдар сіздің Twilio аккаунтыңызда сақталады және Twilio тарапынан төленеді.

⚠️ twilio_record_link URL-і тікелей Twilio-ға бағытталған және аккаунт деректеріңізбен қорғалған. Оны браузерде жай ғана ашуға немесе тұтынушыға жіберуге болмайды — қате көрсетіледі. Жазбаны жүктеп алу үшін Twilio Console-ды ашып, Monitor → Logs → Calls бөліміне өтіп, қоңырауды twilio_call_id арқылы табыңыз.

⚖️ Қоңырау жазбасы заңмен реттеледі. Көптеген елдерде — соның ішінде Германия, Франция, Испания және АҚШ-тың көптеген штаттарында — екі тараптың келісімі қажет болуы мүмкін, ал кейбір жағдайларда қоңыраудың басында дауыстық хабарлама ойнатылуы керек. Twilio аккаунтының иесі ретінде сіз қолданыстағы талаптарды сақтауға жауаптысыз. Егер бұл ережелер сізге қатысты болса, қоңырауды жазба туралы ескертумен бастаңыз немесе Twilio нөміріңіздің параметрлерінде жазбаны өшіріңіз.


Ақаулықтарды жою

Қоңырау жасалмайды және аутентификация қатесі қайтарылады

Account SID немесе Auth Token қате. Оларды Twilio Console-дан қайта көшіріңіз. Ең көп таралған себептер — қосымша бос орын немесе негізгі Auth Token орнына Test Token көшірілген.

Қоңыраулар жұмыс істейді, бірақ әңгімеде оқиғалар немесе жазбалар жоқ

Twilio нөмірінің параметрлерінде callback URL конфигурацияланбаған (3-қадамды қараңыз) немесе қате HTTP әдісімен конфигурацияланған. Әдіс HTTP POST болуы керек.

Тағы бір көп таралған себеп — Twilio-да Auth Token өзгертілді, бірақ аккаунтыңызда ескі токен әлі конфигурацияланған. Бұл жағдайда сұраныс қолтаңбалары сәйкес келмейді, сондықтан барлық callback-тер қабылданбайды.

21606 қатесі немесе "From number not valid"

Twilio Number өрісіне енгізілген нөмір сіздің Twilio аккаунтыңызда сатып алынбаған немесе дауыстық қоңырауларды қолдамайды.

Phone Numbers → Manage → Active numbers бөлімін ашып, нөмірдің тізімде екеніне және Voice мүмкіндігінің бар екеніне көз жеткізіңіз.

21215 қатесі — Geo Permissions

Әдепкі бойынша Twilio алаяқтықтың алдын алу шарасы ретінде көптеген елдерге қоңырауларды блоктайды.

Voice → Settings → Geo Permissions бөлімін ашып, қажетті бағыттарды қосыңыз.

Тұтынушы қоңырау шалады, бірақ әңгіме карточкасы қызметкердің нөмірі үшін жасалады

Callback қате URL-мен конфигурацияланған. Интеграция бетінен callback URL-ді қайта көшіріңіз, сұрақ белгісінен кейінгі барлығын қоса, толық URL-ді көшіргеніңізге көз жеткізіңіз.

Сынақ аккаунты: Twilio қоңырау алдында дауыстық хабарлама ойнатады

Бұл Twilio сынақ аккаунттары үшін стандартты мінез-құлық. Сынақ аккаунттары тек тексерілген телефон нөмірлеріне қоңырау шала алады.

Аккаунтыңызға қаражат қосып, толық Twilio аккаунтына жаңартыңыз.