Pipedrive
Pipedrive is a cloud-based sales software company and CRM tool that helps businesses to plan their sales activities and monitor deals.
- labels:
sales
,marketing
,communication/email
,customer-service
- authentication:
apiKey
Usage
import { pipedrive } from 'https://deno.land/x/netzo/apis/pipedrive/mod.ts'
const { api } = pipedrive({
apiToken: Deno.env.get('PIPEDRIVE_API_TOKEN'),
companyDomain: Deno.env.get('PIPEDRIVE_COMPANY_DOMAIN')
})
import { pipedrive } from 'https://deno.land/x/netzo/apis/pipedrive/mod.ts'
const { api } = pipedrive({
apiToken: Deno.env.get('PIPEDRIVE_API_TOKEN'),
companyDomain: Deno.env.get('PIPEDRIVE_COMPANY_DOMAIN')
})
Configuration
The pipedrive
factory function expects an object with the following, and returns an object with an HTTP client api
.
Param | Type | Default | Description |
---|---|---|---|
apiToken | string | Deno.env.get('PIPEDRIVE_API_TOKEN') | the API token to use for authentication |
companyDomain | string | Deno.env.get('PIPEDRIVE_COMPANY_DOMAIN') | the company domain 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 Deals
Find all deals that match the query.
import type { Deals, QueryGetDeals } from 'netzo/apis/pipedrive/types.ts'
const query: QueryGetDeals = {}
const result = await api.deals.get<Deals>(query)
const resultData = result.data
import type { Deals, QueryGetDeals } from 'netzo/apis/pipedrive/types.ts'
const query: QueryGetDeals = {}
const result = await api.deals.get<Deals>(query)
const resultData = result.data
Search Deals
Find all deals that match the search criteria.
import type { QuerySearchDeals, SearchDealsResult } from 'netzo/apis/pipedrive/types.ts'
const query: QuerySearchDeals = { term: 'New Deal' }
const result = await api.deals.search.get<SearchDealsResult>(query)
const resultData = result.data.items
import type { QuerySearchDeals, SearchDealsResult } from 'netzo/apis/pipedrive/types.ts'
const query: QuerySearchDeals = { term: 'New Deal' }
const result = await api.deals.search.get<SearchDealsResult>(query)
const resultData = result.data.items
Add Deal
Add a new deal.
import type { AddOrUpdateDealResult, DataAddDeal } from 'netzo/apis/pipedrive/types.ts'
const data: DataAddDeal = { title: 'New Deal', value: 100 }
const result = await api.deals.post<AddOrUpdateDealResult>(data)
const resultData = result.data
import type { AddOrUpdateDealResult, DataAddDeal } from 'netzo/apis/pipedrive/types.ts'
const data: DataAddDeal = { title: 'New Deal', value: 100 }
const result = await api.deals.post<AddOrUpdateDealResult>(data)
const resultData = result.data
Update deal
Update a deal by id.
import type { AddOrUpdateDealResult, DataUpdateDeal } from 'netzo/apis/pipedrive/types.ts'
const data: DataUpdateDeal = { title: 'Updated Title' }
const result = await api.deals[DEAL_ID].put<AddOrUpdateDealResult>(data)
const resultData = result.data
import type { AddOrUpdateDealResult, DataUpdateDeal } from 'netzo/apis/pipedrive/types.ts'
const data: DataUpdateDeal = { title: 'Updated Title' }
const result = await api.deals[DEAL_ID].put<AddOrUpdateDealResult>(data)
const resultData = result.data
Delete deal
Delete a deal by id.
import type { DeleteResult } from 'netzo/apis/pipedrive/types.ts'
const result = await api.deals[DEAL_ID].delete<DeleteResult>()
const resultData = result.data
import type { DeleteResult } from 'netzo/apis/pipedrive/types.ts'
const result = await api.deals[DEAL_ID].delete<DeleteResult>()
const resultData = result.data
Find persons
Find all persons that match the query.
import type { Persons, QueryGetPersons } from 'netzo/apis/pipedrive/types.ts'
const query: QueryGetPersons = {}
const result = await api.persons.get<Persons>(query)
const resultData = result.data
import type { Persons, QueryGetPersons } from 'netzo/apis/pipedrive/types.ts'
const query: QueryGetPersons = {}
const result = await api.persons.get<Persons>(query)
const resultData = result.data
Search persons
Find all persons that match the search criteria.
import type { QuerySearchPersons, SearchPersonsResult } from 'netzo/apis/pipedrive/types.ts'
const query: QuerySearchPersons = { term: 'Smith' }
const result = await api.persons.search.get<SearchPersonsResult>(query)
const resultData = result.data.items
import type { QuerySearchPersons, SearchPersonsResult } from 'netzo/apis/pipedrive/types.ts'
const query: QuerySearchPersons = { term: 'Smith' }
const result = await api.persons.search.get<SearchPersonsResult>(query)
const resultData = result.data.items
Add person
Add a new person.
import type { AddOrUpdatePersonResult, DataAddPerson } from 'netzo/apis/pipedrive/types.ts'
const data: DataAddPerson = { name: 'John Doe' }
const result = await api.persons.post<AddOrUpdatePersonResult>(data)
const resultData = result.data
import type { AddOrUpdatePersonResult, DataAddPerson } from 'netzo/apis/pipedrive/types.ts'
const data: DataAddPerson = { name: 'John Doe' }
const result = await api.persons.post<AddOrUpdatePersonResult>(data)
const resultData = result.data
Update person
Update a person by id.
import type { AddOrUpdatePersonResult, DataUpdatePerson } from 'netzo/apis/pipedrive/types.ts'
const data: DataUpdatePerson = { email: '[email protected]' }
const result = await api.persons[PERSON_ID].put<AddOrUpdatePersonResult>(data)
const resultData = result.data
import type { AddOrUpdatePersonResult, DataUpdatePerson } from 'netzo/apis/pipedrive/types.ts'
const data: DataUpdatePerson = { email: '[email protected]' }
const result = await api.persons[PERSON_ID].put<AddOrUpdatePersonResult>(data)
const resultData = result.data
Delete person
Delete a person by id.
import type { DeleteResult } from 'netzo/apis/pipedrive/types.ts'
const result = await api.persons[PERSON_ID].delete<DeleteResult>()
const resultData = result.data
import type { DeleteResult } from 'netzo/apis/pipedrive/types.ts'
const result = await api.persons[PERSON_ID].delete<DeleteResult>()
const resultData = result.data