(crm.contacts)
- list - List contacts
- create - Create contact
- get - Get contact
- update - Update contact
- delete - Delete contact
List contacts
import { Apideck } from "@apideck/unify";
const apideck = new Apideck({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const result = await apideck.crm.contacts.list({
serviceId: "salesforce",
filter: {
name: "Elon Musk",
firstName: "Elon",
lastName: "Musk",
email: "elon@tesla.com",
phoneNumber: "111-111-1111",
companyId: "12345",
ownerId: "12345",
},
sort: {
by: "created_at",
direction: "desc",
},
passThrough: {
"search": "San Francisco",
},
fields: "id,updated_at",
});
for await (const page of result) {
// Handle the page
console.log(page);
}
}
run();
The standalone function version of this method:
import { ApideckCore } from "@apideck/unify/core.js";
import { crmContactsList } from "@apideck/unify/funcs/crmContactsList.js";
// Use `ApideckCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const apideck = new ApideckCore({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const res = await crmContactsList(apideck, {
serviceId: "salesforce",
filter: {
name: "Elon Musk",
firstName: "Elon",
lastName: "Musk",
email: "elon@tesla.com",
phoneNumber: "111-111-1111",
companyId: "12345",
ownerId: "12345",
},
sort: {
by: "created_at",
direction: "desc",
},
passThrough: {
"search": "San Francisco",
},
fields: "id,updated_at",
});
if (!res.ok) {
throw res.error;
}
const { value: result } = res;
for await (const page of result) {
// Handle the page
console.log(page);
}
}
run();
Parameter | Type | Required | Description |
---|---|---|---|
request |
operations.CrmContactsAllRequest | ✔️ | The request object to use for the request. |
options |
RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions |
RequestInit | ➖ | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body , are allowed. |
options.retries |
RetryConfig | ➖ | Enables retrying HTTP requests under certain failure conditions. |
Promise<operations.CrmContactsAllResponse>
Error Type | Status Code | Content Type |
---|---|---|
errors.BadRequestResponse | 400 | application/json |
errors.UnauthorizedResponse | 401 | application/json |
errors.PaymentRequiredResponse | 402 | application/json |
errors.NotFoundResponse | 404 | application/json |
errors.UnprocessableResponse | 422 | application/json |
errors.APIError | 4XX, 5XX | */* |
Create contact
import { Apideck } from "@apideck/unify";
const apideck = new Apideck({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const result = await apideck.crm.contacts.create({
serviceId: "salesforce",
contact: {
name: "Elon Musk",
ownerId: "54321",
type: "personal",
companyId: "23456",
companyName: "23456",
leadId: "34567",
firstName: "Elon",
middleName: "D.",
lastName: "Musk",
prefix: "Mr.",
suffix: "PhD",
title: "CEO",
department: "Engineering",
language: "EN",
gender: "female",
birthday: "2000-08-12",
photoUrl: "https://unavatar.io/elon-musk",
leadSource: "Cold Call",
fax: "+12129876543",
description: "Internal champion",
currentBalance: 10.5,
status: "open",
active: true,
websites: [
{
id: "12345",
url: "http://example.com",
type: "primary",
},
{
id: "12345",
url: "http://example.com",
type: "primary",
},
{
id: "12345",
url: "http://example.com",
type: "primary",
},
],
addresses: [
{
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "elon@musk.com",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
{
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "elon@musk.com",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
{
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "elon@musk.com",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
],
socialLinks: [
{
id: "12345",
url: "https://www.twitter.com/apideck",
type: "twitter",
},
],
phoneNumbers: [
{
id: "12345",
countryCode: "1",
areaCode: "323",
number: "111-111-1111",
extension: "105",
type: "primary",
},
],
emails: [
{
id: "123",
email: "elon@musk.com",
type: "primary",
},
],
emailDomain: "gmail.com",
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: true,
},
],
tags: [
"New",
],
opportunityIds: [
"12345",
],
passThrough: [
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
],
},
});
// Handle the result
console.log(result);
}
run();
The standalone function version of this method:
import { ApideckCore } from "@apideck/unify/core.js";
import { crmContactsCreate } from "@apideck/unify/funcs/crmContactsCreate.js";
// Use `ApideckCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const apideck = new ApideckCore({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const res = await crmContactsCreate(apideck, {
serviceId: "salesforce",
contact: {
name: "Elon Musk",
ownerId: "54321",
type: "personal",
companyId: "23456",
companyName: "23456",
leadId: "34567",
firstName: "Elon",
middleName: "D.",
lastName: "Musk",
prefix: "Mr.",
suffix: "PhD",
title: "CEO",
department: "Engineering",
language: "EN",
gender: "female",
birthday: "2000-08-12",
photoUrl: "https://unavatar.io/elon-musk",
leadSource: "Cold Call",
fax: "+12129876543",
description: "Internal champion",
currentBalance: 10.5,
status: "open",
active: true,
websites: [
{
id: "12345",
url: "http://example.com",
type: "primary",
},
{
id: "12345",
url: "http://example.com",
type: "primary",
},
{
id: "12345",
url: "http://example.com",
type: "primary",
},
],
addresses: [
{
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "elon@musk.com",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
{
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "elon@musk.com",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
{
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "elon@musk.com",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
],
socialLinks: [
{
id: "12345",
url: "https://www.twitter.com/apideck",
type: "twitter",
},
],
phoneNumbers: [
{
id: "12345",
countryCode: "1",
areaCode: "323",
number: "111-111-1111",
extension: "105",
type: "primary",
},
],
emails: [
{
id: "123",
email: "elon@musk.com",
type: "primary",
},
],
emailDomain: "gmail.com",
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: true,
},
],
tags: [
"New",
],
opportunityIds: [
"12345",
],
passThrough: [
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
],
},
});
if (!res.ok) {
throw res.error;
}
const { value: result } = res;
// Handle the result
console.log(result);
}
run();
Parameter | Type | Required | Description |
---|---|---|---|
request |
operations.CrmContactsAddRequest | ✔️ | The request object to use for the request. |
options |
RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions |
RequestInit | ➖ | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body , are allowed. |
options.retries |
RetryConfig | ➖ | Enables retrying HTTP requests under certain failure conditions. |
Promise<operations.CrmContactsAddResponse>
Error Type | Status Code | Content Type |
---|---|---|
errors.BadRequestResponse | 400 | application/json |
errors.UnauthorizedResponse | 401 | application/json |
errors.PaymentRequiredResponse | 402 | application/json |
errors.NotFoundResponse | 404 | application/json |
errors.UnprocessableResponse | 422 | application/json |
errors.APIError | 4XX, 5XX | */* |
Get contact
import { Apideck } from "@apideck/unify";
const apideck = new Apideck({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const result = await apideck.crm.contacts.get({
id: "<id>",
serviceId: "salesforce",
fields: "id,updated_at",
filter: {
name: "Elon Musk",
firstName: "Elon",
lastName: "Musk",
email: "elon@tesla.com",
phoneNumber: "111-111-1111",
companyId: "12345",
ownerId: "12345",
},
});
// Handle the result
console.log(result);
}
run();
The standalone function version of this method:
import { ApideckCore } from "@apideck/unify/core.js";
import { crmContactsGet } from "@apideck/unify/funcs/crmContactsGet.js";
// Use `ApideckCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const apideck = new ApideckCore({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const res = await crmContactsGet(apideck, {
id: "<id>",
serviceId: "salesforce",
fields: "id,updated_at",
filter: {
name: "Elon Musk",
firstName: "Elon",
lastName: "Musk",
email: "elon@tesla.com",
phoneNumber: "111-111-1111",
companyId: "12345",
ownerId: "12345",
},
});
if (!res.ok) {
throw res.error;
}
const { value: result } = res;
// Handle the result
console.log(result);
}
run();
Parameter | Type | Required | Description |
---|---|---|---|
request |
operations.CrmContactsOneRequest | ✔️ | The request object to use for the request. |
options |
RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions |
RequestInit | ➖ | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body , are allowed. |
options.retries |
RetryConfig | ➖ | Enables retrying HTTP requests under certain failure conditions. |
Promise<operations.CrmContactsOneResponse>
Error Type | Status Code | Content Type |
---|---|---|
errors.BadRequestResponse | 400 | application/json |
errors.UnauthorizedResponse | 401 | application/json |
errors.PaymentRequiredResponse | 402 | application/json |
errors.NotFoundResponse | 404 | application/json |
errors.UnprocessableResponse | 422 | application/json |
errors.APIError | 4XX, 5XX | */* |
Update contact
import { Apideck } from "@apideck/unify";
const apideck = new Apideck({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const result = await apideck.crm.contacts.update({
id: "<id>",
serviceId: "salesforce",
contact: {
name: "Elon Musk",
ownerId: "54321",
type: "personal",
companyId: "23456",
companyName: "23456",
leadId: "34567",
firstName: "Elon",
middleName: "D.",
lastName: "Musk",
prefix: "Mr.",
suffix: "PhD",
title: "CEO",
department: "Engineering",
language: "EN",
gender: "female",
birthday: "2000-08-12",
photoUrl: "https://unavatar.io/elon-musk",
leadSource: "Cold Call",
fax: "+12129876543",
description: "Internal champion",
currentBalance: 10.5,
status: "open",
active: true,
websites: [
{
id: "12345",
url: "http://example.com",
type: "primary",
},
],
addresses: [
{
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "elon@musk.com",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
],
socialLinks: [
{
id: "12345",
url: "https://www.twitter.com/apideck",
type: "twitter",
},
],
phoneNumbers: [
{
id: "12345",
countryCode: "1",
areaCode: "323",
number: "111-111-1111",
extension: "105",
type: "primary",
},
],
emails: [
{
id: "123",
email: "elon@musk.com",
type: "primary",
},
{
id: "123",
email: "elon@musk.com",
type: "primary",
},
{
id: "123",
email: "elon@musk.com",
type: "primary",
},
],
emailDomain: "gmail.com",
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: [
{},
],
},
],
tags: [
"New",
],
opportunityIds: [
"12345",
],
passThrough: [
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
],
},
});
// Handle the result
console.log(result);
}
run();
The standalone function version of this method:
import { ApideckCore } from "@apideck/unify/core.js";
import { crmContactsUpdate } from "@apideck/unify/funcs/crmContactsUpdate.js";
// Use `ApideckCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const apideck = new ApideckCore({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const res = await crmContactsUpdate(apideck, {
id: "<id>",
serviceId: "salesforce",
contact: {
name: "Elon Musk",
ownerId: "54321",
type: "personal",
companyId: "23456",
companyName: "23456",
leadId: "34567",
firstName: "Elon",
middleName: "D.",
lastName: "Musk",
prefix: "Mr.",
suffix: "PhD",
title: "CEO",
department: "Engineering",
language: "EN",
gender: "female",
birthday: "2000-08-12",
photoUrl: "https://unavatar.io/elon-musk",
leadSource: "Cold Call",
fax: "+12129876543",
description: "Internal champion",
currentBalance: 10.5,
status: "open",
active: true,
websites: [
{
id: "12345",
url: "http://example.com",
type: "primary",
},
],
addresses: [
{
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "elon@musk.com",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
],
socialLinks: [
{
id: "12345",
url: "https://www.twitter.com/apideck",
type: "twitter",
},
],
phoneNumbers: [
{
id: "12345",
countryCode: "1",
areaCode: "323",
number: "111-111-1111",
extension: "105",
type: "primary",
},
],
emails: [
{
id: "123",
email: "elon@musk.com",
type: "primary",
},
{
id: "123",
email: "elon@musk.com",
type: "primary",
},
{
id: "123",
email: "elon@musk.com",
type: "primary",
},
],
emailDomain: "gmail.com",
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: true,
},
],
tags: [
"New",
],
opportunityIds: [
"12345",
],
passThrough: [
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
],
},
});
if (!res.ok) {
throw res.error;
}
const { value: result } = res;
// Handle the result
console.log(result);
}
run();
Parameter | Type | Required | Description |
---|---|---|---|
request |
operations.CrmContactsUpdateRequest | ✔️ | The request object to use for the request. |
options |
RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions |
RequestInit | ➖ | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body , are allowed. |
options.retries |
RetryConfig | ➖ | Enables retrying HTTP requests under certain failure conditions. |
Promise<operations.CrmContactsUpdateResponse>
Error Type | Status Code | Content Type |
---|---|---|
errors.BadRequestResponse | 400 | application/json |
errors.UnauthorizedResponse | 401 | application/json |
errors.PaymentRequiredResponse | 402 | application/json |
errors.NotFoundResponse | 404 | application/json |
errors.UnprocessableResponse | 422 | application/json |
errors.APIError | 4XX, 5XX | */* |
Delete contact
import { Apideck } from "@apideck/unify";
const apideck = new Apideck({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const result = await apideck.crm.contacts.delete({
id: "<id>",
serviceId: "salesforce",
});
// Handle the result
console.log(result);
}
run();
The standalone function version of this method:
import { ApideckCore } from "@apideck/unify/core.js";
import { crmContactsDelete } from "@apideck/unify/funcs/crmContactsDelete.js";
// Use `ApideckCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const apideck = new ApideckCore({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const res = await crmContactsDelete(apideck, {
id: "<id>",
serviceId: "salesforce",
});
if (!res.ok) {
throw res.error;
}
const { value: result } = res;
// Handle the result
console.log(result);
}
run();
Parameter | Type | Required | Description |
---|---|---|---|
request |
operations.CrmContactsDeleteRequest | ✔️ | The request object to use for the request. |
options |
RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions |
RequestInit | ➖ | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body , are allowed. |
options.retries |
RetryConfig | ➖ | Enables retrying HTTP requests under certain failure conditions. |
Promise<operations.CrmContactsDeleteResponse>
Error Type | Status Code | Content Type |
---|---|---|
errors.BadRequestResponse | 400 | application/json |
errors.UnauthorizedResponse | 401 | application/json |
errors.PaymentRequiredResponse | 402 | application/json |
errors.NotFoundResponse | 404 | application/json |
errors.UnprocessableResponse | 422 | application/json |
errors.APIError | 4XX, 5XX | */* |