Source code for sinch.core.clients.sinch_client_sync

from logging import Logger
from typing import Union

from sinch.core.clients.retry_configuration import RetryConfiguration
from sinch.core.clients.sinch_client_configuration import Configuration
from sinch.core.enums import VoiceRegionEnum
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
from sinch.domains.voice import Voice


[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 :param transform_kwargs_casing: When ``True`` (default), extra fields on request/response models are auto-converted to the api convention ``snake_case`` or ``camelCase``, same as before 2.2.0. When ``False``, extra fields pass through unchanged in both directions. .. deprecated:: 2.2 This flag is transitional and will be removed in 3.0, when extra fields will always pass through unchanged. """ 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, voice_region: Union[VoiceRegionEnum, str] = VoiceRegionEnum.GLOBAL, transform_kwargs_casing: bool = True, retry_configuration: RetryConfiguration = 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, voice_region=voice_region, transform_kwargs_casing=transform_kwargs_casing, retry_configuration=retry_configuration, ) self.authentication = Authentication(self) self.numbers = VirtualNumbers(self) self.conversation = Conversation(self) self.sms = SMS(self) self.number_lookup = NumberLookup(self) self.voice = Voice(self)