Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gearplug/hubspot-python
HubSpot API wrapper written in Python.
https://github.com/gearplug/hubspot-python
api hubspot library wrapper
Last synced: 3 days ago
JSON representation
HubSpot API wrapper written in Python.
- Host: GitHub
- URL: https://github.com/gearplug/hubspot-python
- Owner: GearPlug
- License: mit
- Created: 2017-12-15T17:11:57.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-11-21T14:23:24.000Z (almost 2 years ago)
- Last Synced: 2023-03-21T11:01:18.894Z (over 1 year ago)
- Topics: api, hubspot, library, wrapper
- Language: Python
- Size: 34.2 KB
- Stars: 9
- Watchers: 6
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# hubspot-python
HubSpot API wrapper written in Python.## Installing
```
pip install hubspot-python
```## Requirements
```
- requests
```## Usage
#### Client instantiation
```
from hubspot.client import Client
client = Client(APP_ID, HAPIKEY, CLIENT_ID, CLIENT_SECRET)
```### Companies
#### Get all companies
```
response = client.companies.get_companies(data)
```#### Create a Company
```
data = {
"name": "A company name",
"description": "A company description"
}
response = client.companies.create_company(data)
```#### Delete a Company
```
response = client.companies.delete_company(COMPANY_ID)
```#### Get Recently Created Companies
```
response = client.companies.get_recently_created_companies()
```#### Get a Company
```
response = client.companies.get_company(COMPANY_ID)
```### Contact Lists
#### Get contact lists
```
response = client.contact_lists.get_contact_lists()
```#### Create a new contact list
```
data = {
"name": "tweeters",
"dynamic": true,
"portalId": 62515,
"filters":
[
[{
"operator": "EQ",
"value": "@hubspot",
"property": "twitterhandle",
"type": "string"
}]
]
}
response = client.contact_lists.create_contact_list(data)
```#### Delete a contact list
```
response = client.contact_lists.delete_contact_list(CONTACT_LIST_ID)
```#### Get recently added contacts from a list
```
response = client.contact_lists.get_recently_added_contacts_in_a_list()
```#### Get a contact list by its unique ID
```
response = client.contact_lists.get_contact_list(CONTACT_LIST_ID)
```#### Add existing contacts to a list
```
data = {
"vids": [
3057124,
5524274
],
"emails": [
"[email protected]"
]
}
response = client.contact_lists.add_contact_to_list(CONTACT_LIST_ID, data)
```### Contacts
#### Get all contacts
```
response = client.contacts.get_contacts()
```#### Create a new contact
```
data = {
"email": "[email protected]",
"firstname": "Adrian",
"lastname": "Mott",
"website": "http://hubspot.com",
"company": "HubSpot",
"phone": "555-122-2323",
"address": "25 First Street",
"city": "Cambridge",
"state": "MA",
"zip": "02139",
}
response = client.contacts.create_contact(data)
```#### Delete a contact
```
response = client.contacts.delete_contact(CONTACT_ID)
```#### Get recently created contacts
```
response = client.contacts.get_recently_created_contacts()
```#### Get a contact list by its unique ID
```
response = client.contacts.get_contact(CONTACT_ID)
```### Deals
#### Get all deals
```
response = client.deals.get_deals()
```#### Create a Deal
```
data = {
"dealname": "Tim's Newer Deal",
"dealstage": "appointmentscheduled",
"pipeline": "default",
"hubspot_owner_id": "24",
"closedate": 1409443200000,
"amount": "60000",
"dealtype": "newbusiness",
}
response = client.deals.create_deal(data)
```#### Delete a Deal
```
response = client.deals.delete_deal(DEAL_ID)
```#### Get Recently Created Deals
```
response = client.deals.get_recently_created_deals()
```#### Get a contact list by its unique ID
```
response = client.deals.get_deal(DEAL_ID)
```### Fields (Properties)
#### Get all fields
```
response = client.fields.get_fields(MODULE)
```### Integrations
#### Get all fields
```
response = client.integrations.get_account_details()
```#### Get all fields
```
response = client.integrations.get_daily_api_usage()
```### Webhooks
#### Viewing Settings
```
response = client.webhooks.get_settings()
```#### Updating Settings
```
data = {
"webhookUrl": "https://testing.com/webhook-modified",
"maxConcurrentRequests": 25
}response = client.webhooks.update_settings(data)
```#### Get Subscriptions
```
response = client.webhooks.get_subscriptions()
```#### Create a New Subscription
```
data = {
"subscriptionDetails" : {
"subscriptionType" : "company.propertyChange",
"propertyName" : "companyname"
},
"enabled": False
}response = client.webhooks.create_subscription(data)
```#### Update a Subscription
```
data = {
"enabled": False
}response = client.webhooks.create_subscription(SUBSCRIPTION_ID, data)
```#### Delete a Subscription
```
response = client.webhooks.delete_subscription(SUBSCRIPTION_ID)
```### Workflows
#### Get workflows
```
response = client.workflows.get_workflows()
```#### Get workflow
```
response = client.workflows.get_workflow(WORKFLOW_ID)
```#### Create a workflow
```
data = {
"name": "Test Workflow",
"type": "DRIP_DELAY",
"onlyEnrollsManually": true,
"actions": [
{
"type": "DELAY",
"delayMillis": 3600000
},
{
"newValue": "HubSpot",
"propertyName": "company",
"type": "SET_CONTACT_PROPERTY"
},
{
"type": "WEBHOOK",
"url": "https://www.myintegration.com/webhook.php",
"method": "POST",
"authCreds": {
"user": "user",
"password": "password"
}
}
]
}
response = client.workflows.create_workflow(data)
```#### Delete a Deal
```
response = client.workflows.delete_workflow(WORKFLOW_ID)
```#### Enroll a contact into a workflow
```
response = client.workflows.enroll_a_contact_into_workflow(WORKFLOW_ID, EMAIL)
```#### Unenroll a contact from a workflow
```
response = client.workflows.unenroll_a_contact_into_workflow(WORKFLOW_ID, EMAIL)
```