| OS | Python |
|---|---|
| Windows 2016 | 3.6, 3.7, 3.8, 3.9 |
| Windows 2019 | 3.6, 3.7, 3.8, 3.9 |
| Ubuntu 18.04 | 3.6, 3.7, 3.8, 3.9 |
| Ubuntu 20.04 | 3.6, 3.7, 3.8, 3.9 |
pip install bandwidth-sdk frombandwidth.bandwidth_clientimportBandwidthClientfrombandwidth.messaging.models.message_requestimportMessageRequestfrombandwidth.voice.models.create_call_requestimportCreateCallRequestfrombandwidth.voice.bxml.responseimportResponsefrombandwidth.voice.bxml.verbsimport*frombandwidth.multifactorauth.models.two_factor_code_request_schemaimportTwoFactorCodeRequestSchemafrombandwidth.multifactorauth.models.two_factor_verify_request_schemaimportTwoFactorVerifyRequestSchemafrombandwidth.phonenumberlookup.controllers.api_controllerimportAPIController, ApiResponse, APIExceptionfrombandwidth.phonenumberlookup.models.accounts_tnlookup_requestimportAccountsTnlookupRequestfrombandwidth.webrtc.models.sessionimportSessionfrombandwidth.webrtc.models.participantimportParticipantfrombandwidth.webrtc.models.publish_permission_enumimportPublishPermissionEnumbandwidth_client=BandwidthClient( voice_basic_auth_user_name='username', voice_basic_auth_password='password', messaging_basic_auth_user_name='username', messaging_basic_auth_password='password', multi_factor_auth_basic_auth_user_name='username', multi_factor_auth_basic_auth_password='password', phone_number_lookup_basic_auth_user_name='username', phone_number_lookup_basic_auth_password='password', web_rtc_basic_auth_user_name='username', web_rtc_basic_auth_password='password' ) account_id="12345"voice_client=bandwidth_client.voice_client.client##Create phone callbody=CreateCallRequest() body.mfrom="+17777777777"body.to="+16666666666"body.application_id="3-d-4-b-5"body.answer_url="https://test.com"try: response=voice_client.create_call(account_id, body=body) print(response.body.call_id) #c-3f758f24-a59bb21e-4f23-4d62-afe9-53o2ls3o4saio4lprint(response.status_code) #201exceptApiErrorResponseExceptionase: print(e.description) #Invalid from: must be an E164 telephone numberprint(e.response_code) #400messaging_client=bandwidth_client.messaging_client.clientbody=MessageRequest() body.application_id="1-d-b"body.to= ["+17777777777"] body.mfrom="+18888888888"body.text="Greetings!"try: response=messaging_client.create_message(account_id, body) print(response.body.id) #1570819529611mexbyfr7ugrouuxyprint(response.status_code) #202exceptMessagingExceptionase: print(e.description) #Your request could not be accepted.print(e.response_code) #400response=Response() speak_sentence=SpeakSentence( sentence="Test", voice="susan", locale="en_US", gender="female" ) response.add_verb(speak_sentence) print(response.to_bxml())auth_client=bandwidth_client.multi_factor_auth_client.clientfrom_phone="+18888888888"to_phone="+17777777777"messaging_application_id="1-d-b"scope="scope"digits=6body=TwoFactorCodeRequestSchema( mfrom=from_phone, to=to_phone, application_id=messaging_application_id, scope=scope, digits=digits, message="Your temporary{NAME}{SCOPE} code is{CODE}" ) auth_client.create_messaging_two_factor(account_id, body) code="123456"#This is the user input to validatebody=TwoFactorVerifyRequestSchema( to=to_phone, application_id=application_id, scope=scope, code=code, expiration_time_in_minutes=3 ) response=auth_client.create_verify_two_factor(account_id, body) print("Auth status: "+str(response.body.valid))tnLookup_controller=bandwidth_client.phone_number_lookup_client.clientbody=AccountsTnlookupRequest() body.tns= ['+19195551234'] try: response=tnLookup_controller.create_tn_lookup_request(account_id, body) print(response.status_code) exceptAPIExceptionase: print("Error:", e.response_code) requestId=response.body.request_id# "1234-abcd-5678-efgh"try: response=tnLookup_controller.get_tn_lookup_result(account_id, requestId) print(response) exceptAPIExceptionase: print("Error:", e.response_code)web_rtc_client=bandwidth_client.web_rtc_client.clientcreate_session_body=Session() create_session_body.tag='new-session'create_session_response=web_rtc_client.create_session(account_id, create_session_body) session_id=create_session_response.body.idcreate_participant_body=Participant() create_participant_body.publish_permissions= [ PublishPermissionEnum.AUDIO, PublishPermissionEnum.VIDEO ] create_participant_body.callback_url="https://sample.com"create_participant_response=web_rtc_client.create_participant(account_id, create_participant_body) participant_id=create_participant_response.body.participant.idweb_rtc_client.add_participant_to_session(account_id, session_id, participant_id)This package can be used with Python >= 3.0
Documentation for this package can be found at https://dev.bandwidth.com/sdks/python.html
Information for credentials for this package can be found at https://dev.bandwidth.com/guides/accountCredentials.html