Beispiel #1
0
    def __init__(self, **options):
        """
        Usage::

          >>> import os
          >>> import basecrm
          >>> client = basecrm.Client(access_token=os.environ.get('BASECRM_ACCESS_TOKEN'))
          <basecrm.Client>


        :param str access_token: Personal access token.
        :param str base_url: (optional) Base url for the api. Default: ``https://api.getbase.com``.
        :param str user_agent: (optional) Client user agent. Default: ``BaseCRM/v2 Python/{basecrm.VERSION}``.
        :param bool verbose: (optional) Verbose/debug mode. Default: ``False``.
        :param int timeout: (optional) Connection and response timeout. Default: **30** seconds.
        :param bool verify_ssl: (optional) Whether to verify ssl or not. Default: ``True``.

        :raises ConfigurationError: if no ``access_token`` provided.
        :raises ConfigurationError: if provided ``access_token`` is invalid - contains disallowed characters.
        :raises ConfigurationError: if provided ``access_token`` is invalid - has invalid length.
        :raises ConfigurationError: if provided ``base_url`` is invalid.
        """

        self.config = Configuration(**options)
        self.config.validate()

        self.http_client = HttpClient(self.config)

        self.__accounts = basecrm.services.AccountsService(self.http_client)
        self.__associated_contacts = basecrm.services.AssociatedContactsService(self.http_client)
        self.__contacts = basecrm.services.ContactsService(self.http_client)
        self.__deals = basecrm.services.DealsService(self.http_client)
        self.__deal_sources = basecrm.services.DealSourcesService(self.http_client)
        self.__deal_unqualified_reasons = basecrm.services.DealUnqualifiedReasonsService(self.http_client)
        self.__leads = basecrm.services.LeadsService(self.http_client)
        self.__lead_sources = basecrm.services.LeadSourcesService(self.http_client)
        self.__lead_unqualified_reasons = basecrm.services.LeadUnqualifiedReasonsService(self.http_client)
        self.__line_items = basecrm.services.LineItemsService(self.http_client)
        self.__loss_reasons = basecrm.services.LossReasonsService(self.http_client)
        self.__notes = basecrm.services.NotesService(self.http_client)
        self.__orders = basecrm.services.OrdersService(self.http_client)
        self.__pipelines = basecrm.services.PipelinesService(self.http_client)
        self.__products = basecrm.services.ProductsService(self.http_client)
        self.__sources = basecrm.services.SourcesService(self.http_client)
        self.__stages = basecrm.services.StagesService(self.http_client)
        self.__tags = basecrm.services.TagsService(self.http_client)
        self.__tasks = basecrm.services.TasksService(self.http_client)
        self.__text_messages = basecrm.services.TextMessagesService(self.http_client)
        self.__users = basecrm.services.UsersService(self.http_client)
        self.__visits = basecrm.services.VisitsService(self.http_client)
        self.__visit_outcomes = basecrm.services.VisitOutcomesService(self.http_client)

        self.__sync = basecrm.sync.SyncService(self.http_client)