Esempio n. 1
0
def create_client():
    if is_authorized():
        retry = Retry(
            total=3,
            backoff_factor=2,
            status_forcelist=(429, 500, 502, 504),
        )
        return HubSpot(access_token=refresh_and_get_access_token(),
                       retry=retry)

    return HubSpot()
Esempio n. 2
0
def test_is_discoverable():
    apis = HubSpot().crm.objects.notes
    assert isinstance(apis.basic_api, BasicApi)
    assert isinstance(apis.associations_api, AssociationsApi)
    assert isinstance(apis.batch_api, BatchApi)
    assert isinstance(apis.search_api, SearchApi)
    assert isinstance(apis.public_object_api, PublicObjectApi)
Esempio n. 3
0
def test_is_discoverable():
    apis = HubSpot().crm.extensions.accounting
    assert isinstance(apis.callbacks_api, CallbacksApi)
    assert isinstance(apis.invoice_api, InvoiceApi)
    assert isinstance(apis.settings_api, SettingsApi)
    assert isinstance(apis.sync_api, SyncApi)
    assert isinstance(apis.user_accounts_api, UserAccountsApi)
def test_is_discoverable():
    apis = HubSpot().cms.source_code
    assert isinstance(apis.content_api, ContentApi)
    assert isinstance(apis.extract_api, ExtractApi)
    assert isinstance(apis.metadata_api, MetadataApi)
    assert isinstance(apis.source_code_extract_api, SourceCodeExtractApi)
    assert isinstance(apis.validation_api, ValidationApi)
Esempio n. 5
0
def test_is_discoverable():
    apis = HubSpot().crm.products
    assert isinstance(apis.basic_api, BasicApi)
    assert isinstance(apis.associations_api, AssociationsApi)
    assert isinstance(apis.batch_api, BatchApi)
    assert isinstance(apis.search_api, SearchApi)
    assert hasattr(apis, "get_all")
def test_is_discoverable():
    apis = HubSpot().crm.companies
    assert isinstance(apis.basic_api, BasicApi)
    assert isinstance(apis.associations_api, AssociationsApi)
    assert isinstance(apis.batch_api, BatchApi)
    assert isinstance(apis.search_api, SearchApi)
    assert isinstance(apis.public_object_api, PublicObjectApi)
    assert hasattr(apis, "get_all")
def test_is_discoverable():
    apis = HubSpot().marketing.events
    assert isinstance(apis.basic_api, BasicApi)
    assert isinstance(apis.batch_api, BatchApi)
    assert isinstance(apis.search_api, SearchApi)
    assert isinstance(apis.settings_api, SettingsApi)
    assert isinstance(apis.subscriber_state_changes_api,
                      SubscriberStateChangesApi)
Esempio n. 8
0
def extract_data(d_teams: Dict[str, Any], contact_properties: List[str],
                 company_properties: List[str],
                 pc_properties: List[str]) -> pd.DataFrame:
    """

    Parameters
    ----------
    d_teams

    Returns
    -------

    """
    conf = yaml.safe_load(os.getenv("PROJECT_CONFIG"))

    # Connect hubspot and DB
    conn = psycopg2.connect(
        host=conf["postgres"]["hostname"],
        database=conf["postgres"]["name"],
        user=conf["postgres"]["user"],
        password=conf["postgres"]["password"],
    )
    cur = conn.cursor()
    hubspot = HubSpot(api_key=conf["hubspot"]["key"])

    # Extract all HS contact
    df_hs_contacts = get_all_hs_contacts(hubspot, d_teams, contact_properties)

    # Get tagging and match info
    df_contact_matches = get_contact_matching_info(
        df_hs_contacts.id_obj.tolist(), conn)

    # Gather an return result
    df_extract_contacts = df_hs_contacts.merge(df_contact_matches,
                                               on='id_obj',
                                               how='left')

    # Extract association
    df_comp_assos, df_pc_assos = get_associations(
        hubspot, df_extract_contacts.id_obj.tolist(),
        conf["hubspot"]["previous_campaigns_key"], company_properties,
        pc_properties)

    df_comp_assos = df_comp_assos.loc[df_comp_assos.contact_id.isin(
        df_extract_contacts.id_obj.unique())]
    df_pc_assos = df_pc_assos.loc[df_pc_assos.contact_id.isin(
        df_extract_contacts.id_obj.unique())]

    # Extract documents
    df_documents = get_documents(conn)

    return df_extract_contacts, df_comp_assos, df_pc_assos, df_documents
Esempio n. 9
0
def token_refresh(tokens):
    try:
        tokens_response = HubSpot().auth.oauth.default_api.create_token(
                    grant_type="refresh_token",
                    redirect_uri=get_redirect_uri(),
                    refresh_token=tokens["refresh_token"],
                    client_id=os.environ.get("HUBSPOT_CLIENT_ID"),
                    client_secret=os.environ.get("HUBSPOT_CLIENT_SECRET"),
                )
        tokens = save_tokens(tokens_response)
        return tokens
    except:
        raise HubSpotError
Esempio n. 10
0
 def get(self):
     try:
         tokens_response = HubSpot().auth.oauth.default_api.create_token(
             grant_type="authorization_code",
             code=request.args.get("code"),
             redirect_uri=get_redirect_uri(),
             client_id=os.environ.get("HUBSPOT_CLIENT_ID"),
             client_secret=os.environ.get("HUBSPOT_CLIENT_SECRET"),
         )
         tokens = save_tokens(tokens_response)
         return token_schema.dump(tokens), 200
     except:
         raise HubSpotError
Esempio n. 11
0
def refresh_and_get_access_token():
    if not is_authorized():
        raise Exception("No refresh token is specified")
    tokens = json.loads(redis.get(TOKENS_KEY))
    if time.time() > tokens["expires_at"]:
        tokens = HubSpot().auth.oauth.default_api.create_token(
            grant_type="refresh_token",
            refresh_token=tokens["refresh_token"],
            client_id=os.environ.get("HUBSPOT_CLIENT_ID"),
            client_secret=os.environ.get("HUBSPOT_CLIENT_SECRET"),
        )
        tokens = save_tokens(tokens)

    return tokens["access_token"]
Esempio n. 12
0
def refresh_and_get_access_token():
    if TOKENS_KEY not in session:
        raise Exception("No refresh token is specified")
    tokens = session[TOKENS_KEY]
    if time.time() > tokens["expires_at"]:
        tokens = HubSpot().auth.oauth.default_api.create_token(
            grant_type="refresh_token",
            redirect_uri=get_redirect_uri(),
            refresh_token=tokens["refresh_token"],
            client_id=os.environ.get("HUBSPOT_CLIENT_ID"),
            client_secret=os.environ.get("HUBSPOT_CLIENT_SECRET"),
        )
        tokens = save_tokens(tokens)

    return tokens["access_token"]
Esempio n. 13
0
def test_is_discoverable():
    apis = HubSpot().communication_preferences
    assert isinstance(apis.definition_api, DefinitionApi)
    assert isinstance(apis.status_api, StatusApi)
Esempio n. 14
0
def test_is_discoverable():
    apis = HubSpot().crm.schemas
    assert isinstance(apis.public_object_schemas_api, PublicObjectSchemasApi)
    assert isinstance(apis.core_api, CoreApi)
Esempio n. 15
0
def test_is_discoverable():
    apis = HubSpot().marketing.forms
    assert isinstance(apis.forms_api, FormsApi)
Esempio n. 16
0
def create_client():
    if is_authorized():
        return HubSpot(access_token=refresh_and_get_access_token())

    return HubSpot()
Esempio n. 17
0
def create_client_with_developer_api_key():
    return HubSpot(api_key=getenv("HUBSPOT_DEVELOPER_API_KEY"))
def test_is_discoverable():
    apis = HubSpot().cms.url_redirects
    assert isinstance(apis.redirects_api, RedirectsApi)
Esempio n. 19
0
def test_is_discoverable():
    apis = HubSpot().cms.hubdb
    assert isinstance(apis.rows_api, RowsApi)
    assert isinstance(apis.rows_batch_api, RowsBatchApi)
    assert isinstance(apis.tables_api, TablesApi)
def test_is_discoverable():
    apis = HubSpot().cms.audit_logs
    assert isinstance(apis.audit_logs_api, AuditLogsApi)
Esempio n. 21
0
def test_is_discoverable():
    apis = HubSpot().cms.domains
    assert isinstance(apis.domains_api, DomainsApi)
Esempio n. 22
0
def test_is_discoverable():
    apis = HubSpot().crm.timeline
    assert isinstance(apis.events_api, EventsApi)
    assert isinstance(apis.templates_api, TemplatesApi)
    assert isinstance(apis.tokens_api, TokensApi)
Esempio n. 23
0
def test_is_discoverable():
    apis = HubSpot().cms.blogs.tags
    assert isinstance(apis.tag_api, BlogTagsApi)
Esempio n. 24
0
def test_is_discoverable():
    apis = HubSpot().events
    assert isinstance(apis.events_api, EventsApi)
Esempio n. 25
0
def test_is_discoverable():
    apis = HubSpot().crm.owners
    assert isinstance(apis.owners_api, OwnersApi)
    assert hasattr(apis, "get_all")
Esempio n. 26
0
def test_is_discoverable():
    apis = HubSpot().crm.pipelines
    assert isinstance(apis.pipelines_api, PipelinesApi)
    assert isinstance(apis.pipeline_stages_api, PipelineStagesApi)
Esempio n. 27
0
def test_is_discoverable():
    apis = HubSpot().cms.blogs.authors
    assert isinstance(apis.author_api, BlogAuthorsApi)
Esempio n. 28
0
def test_is_discoverable():
    apis = HubSpot().cms.site_search
    assert isinstance(apis.public_api, PublicApi)
Esempio n. 29
0
def test_is_discoverable():
    apis = HubSpot().crm.schemas
    assert isinstance(apis.default_api, DefaultApi)
    assert isinstance(apis.core_api, CoreApi)
def test_is_discoverable():
    apis = HubSpot().cms.blogs.blog_posts
    assert isinstance(apis.default_api, DefaultApi)