Hubspot
Hubspot is a full-suite of business apps including CRM, marketing, sales, customer service, and content management software.
- labels:
sales
,marketing
,communication/email
,customer-service
- authentication:
bearer
Usage
ts
import { hubspot } from 'https://deno.land/x/netzo/apis/hubspot/mod.ts'
const { api } = hubspot({
privateAppAccessToken: Deno.env.get('HUBSPOT_PRIVATE_APP_ACCESS_TOKEN')
})
import { hubspot } from 'https://deno.land/x/netzo/apis/hubspot/mod.ts'
const { api } = hubspot({
privateAppAccessToken: Deno.env.get('HUBSPOT_PRIVATE_APP_ACCESS_TOKEN')
})
Configuration
The hubspot
factory function expects an object with the following, and returns an object with an HTTP client api
.
Param | Type | Default | Description |
---|---|---|---|
privateAppAccessToken | string | Deno.env.get('HUBSPOT_PRIVATE_APP_ACCESS_TOKEN') | the access token to use for authentication |
Refer to the API documentation to get the required information.
Examples
The following examples assume you have created an api client instance. Refer to the type definitions for all exported types to pass to the api
client for typed responses.
Find contacts
Find all contacts that match the query.
ts
import type { Contacts, QueryContacts } from 'netzo/apis/hubspot/types.ts'
const query: QueryContacts = {}
const result = await api.crm.v3.objects.contacts.get<Contacts>(query)
const resultData = result.results
import type { Contacts, QueryContacts } from 'netzo/apis/hubspot/types.ts'
const query: QueryContacts = {}
const result = await api.crm.v3.objects.contacts.get<Contacts>(query)
const resultData = result.results
Add contact
Add a new contact.
ts
import type { AddOrUpdateContactResult, DataAddOrUpdateContact } from 'netzo/apis/hubspot/types.ts'
const data: DataAddOrUpdateContact = {
properties: {
company: 'Company X',
email: '[email protected]'
}
}
const resultData = await api.crm.v3.objects.contacts.post<AddOrUpdateContactResult>(data)
import type { AddOrUpdateContactResult, DataAddOrUpdateContact } from 'netzo/apis/hubspot/types.ts'
const data: DataAddOrUpdateContact = {
properties: {
company: 'Company X',
email: '[email protected]'
}
}
const resultData = await api.crm.v3.objects.contacts.post<AddOrUpdateContactResult>(data)
Update contact
Update a contact by id.
ts
import type { AddOrUpdateContactResult, DataAddOrUpdateContact } from 'netzo/apis/hubspot/types.ts'
const data: DataAddOrUpdateContact = {
properties: {
company: 'New Company Name',
}
}
const resultData = await api.crm.v3.objects.contacts[CONTACT_ID].patch<AddOrUpdateContactResult>(data)
import type { AddOrUpdateContactResult, DataAddOrUpdateContact } from 'netzo/apis/hubspot/types.ts'
const data: DataAddOrUpdateContact = {
properties: {
company: 'New Company Name',
}
}
const resultData = await api.crm.v3.objects.contacts[CONTACT_ID].patch<AddOrUpdateContactResult>(data)
Delete contact
Delete a contact by id.
ts
await api.crm.v3.objects.contacts[CONTACT_ID].delete<void>()
await api.crm.v3.objects.contacts[CONTACT_ID].delete<void>()
Find forms
Find all forms that match the query.
ts
import type { Form, QueryForms } from 'netzo/apis/hubspot/types.ts'
const query: QueryForms = {}
const resultData = await api.forms.v2.forms.get<Form[]>(query)
import type { Form, QueryForms } from 'netzo/apis/hubspot/types.ts'
const query: QueryForms = {}
const resultData = await api.forms.v2.forms.get<Form[]>(query)
Find submissions
Find all submissions that correspond to a specific form.
ts
import type { FormSubmissions, QuerySubmissions } from 'netzo/apis/hubspot/types.ts'
const query: QuerySubmissions = {}
const result = await api['form-integrations'].v1.submissions.forms[FORM_ID].get<FormSubmissions>(query)
const resultData = result.results
import type { FormSubmissions, QuerySubmissions } from 'netzo/apis/hubspot/types.ts'
const query: QuerySubmissions = {}
const result = await api['form-integrations'].v1.submissions.forms[FORM_ID].get<FormSubmissions>(query)
const resultData = result.results
Find deals
Find all deals that match the query.
ts
import type { Deals, QueryDeals } from 'netzo/apis/hubspot/types.ts'
const query: QueryDeals = {}
const result = await api.crm.v3.objects.deals.get<Deals>(query)
const resultData = result.results
import type { Deals, QueryDeals } from 'netzo/apis/hubspot/types.ts'
const query: QueryDeals = {}
const result = await api.crm.v3.objects.deals.get<Deals>(query)
const resultData = result.results
Add deal
Add a new deal.
ts
import type { AddDealResult, DataAddDeal } from 'netzo/apis/hubspot/types.ts'
const data: DataAddDeal = {
properties: {
amount: '1000.00',
dealname: 'New deal'
}
}
const resultData = await api.crm.v3.objects.deals.post<AddDealResult>(data)
import type { AddDealResult, DataAddDeal } from 'netzo/apis/hubspot/types.ts'
const data: DataAddDeal = {
properties: {
amount: '1000.00',
dealname: 'New deal'
}
}
const resultData = await api.crm.v3.objects.deals.post<AddDealResult>(data)