Source code for sinch.core.clients.sinch_client_sync

from logging import Logger
from sinch.core.clients.sinch_client_configuration import Configuration
from sinch.core.token_manager import TokenManager
from sinch.core.adapters.requests_http_transport import HTTPTransportRequests
from sinch.domains.authentication import Authentication
from sinch.domains.numbers import VirtualNumbers
from sinch.domains.conversation import Conversation
from sinch.domains.sms import SMS
from sinch.domains.number_lookup import NumberLookup


[docs] class SinchClient: """ Synchronous implementation of the Sinch Client By default this implementation uses HTTPTransportRequests based on Requests library Custom Sync HTTPTransport implementation can be provided via `transport` argument """ def __init__( self, key_id: str = None, key_secret: str = None, project_id: str = None, logger_name: str = None, logger: Logger = None, service_plan_id: str = None, sms_api_token: str = None, sms_region: str = None, conversation_region: str = None, ): self.configuration = Configuration( key_id=key_id, key_secret=key_secret, project_id=project_id, logger_name=logger_name, logger=logger, transport=HTTPTransportRequests(self), token_manager=TokenManager(self), service_plan_id=service_plan_id, sms_api_token=sms_api_token, sms_region=sms_region, conversation_region=conversation_region, ) self.authentication = Authentication(self) self.numbers = VirtualNumbers(self) self.conversation = Conversation(self) self.sms = SMS(self) self.number_lookup = NumberLookup(self)