@apideck/node
Version:
Apideck Node.js SDK
201 lines (129 loc) • 4.74 kB
Markdown
# Apideck Node.js SDK
> ⚠️ **DEPRECATION NOTICE**: This SDK is deprecated and will be archived on May 31, 2025. Please transition to the [new SDK](https://github.com/apideck-libraries/sdk-typescript) before this date. After May 31, 2025, this repository will be archived and will no longer receive any updates. To support you during this transition please refer to our [migration guide](https://developers.apideck.com/guides/sdk-migration).
## Table of Contents
- [Table of Contents](#table-of-contents)
- [Installation](#installation)
- [Getting started](#getting-started)
- [Example](#example)
- [Support](#support)
- [License](#license)
## Installation
Install the latest SDK using npm:
```console
$ npm install @apideck/node
```
or Yarn
```console
$ yarn add @apideck/node
```
## Getting started
The module supports all Apideck API endpoints. For complete information about the API, head
to the [docs][2].
### Configuration
A new Apideck instance is initialized by passing in required settings to the configuration.
```typescript
import Apideck from '@apideck/node';
const apideck = new Apideck({
apiKey: '<insert-api-key-here>',
appId: '<insert-application-id-here>',
consumerId: '<insert-consumer-id-here>'
})
const { crm } = apideck
```
Top level parameters (except for apiKey) can be overriden in specific resource calls.
```typescript
// Declare Unify Api to use
const { crm } = apideck
// Override consumerId serviceId as declared in initial configuration for this operation.
const response = await crm.contactsAll({
// serviceId: 'salesforce', // optional
limit: '10'
})
```
## Example
Retrieving a list of all contacts and updating the first record with a new address.
```typescript
import Apideck, { PhoneNumberType } from '@apideck/node';
const apideck = new Apideck({
apiKey: '<insert-api-key-here>',
appId: '<insert-application-id-here>',
consumerId: '<insert-consumer-id-here>'
})
const { crm } = apideck
const { data } = await crm.contactsAll({
limit: 10
})
const result = await crm.contactsUpdate({
id: data[0].id!,
contact: {
name: "John Doe",
first_name: "John",
last_name: "Doe",
addresses: [{
city: "Hoboken",
line1: "Streetname 19",
state: "NY"
}],
phone_numbers: [{
number: '0486565656',
phoneType: PhoneNumberType.Home
}]
}
})
console.info(result)
```
<a name="documentation-for-api-endpoints"></a>
## Apideck Unified Apis
The following Apis are currently available:
### AccountingApi
Read the full documentation of the AccountingApi [here](./src/gen/docs/apis/AccountingApi.md).
### AtsApi
Read the full documentation of the AtsApi [here](./src/gen/docs/apis/AtsApi.md).
### ConnectorApi
Read the full documentation of the ConnectorApi [here](./src/gen/docs/apis/ConnectorApi.md).
### CrmApi
Read the full documentation of the CrmApi [here](./src/gen/docs/apis/CrmApi.md).
### EcommerceApi
Read the full documentation of the EcommerceApi [here](./src/gen/docs/apis/EcommerceApi.md).
### FileStorageApi
Read the full documentation of the FileStorageApi [here](./src/gen/docs/apis/FileStorageApi.md).
### HrisApi
Read the full documentation of the HrisApi [here](./src/gen/docs/apis/HrisApi.md).
### IssueTrackingApi
Read the full documentation of the IssueTrackingApi [here](./src/gen/docs/apis/IssueTrackingApi.md).
### LeadApi
Read the full documentation of the LeadApi [here](./src/gen/docs/apis/LeadApi.md).
### PosApi
Read the full documentation of the PosApi [here](./src/gen/docs/apis/PosApi.md).
### SmsApi
Read the full documentation of the SmsApi [here](./src/gen/docs/apis/SmsApi.md).
### VaultApi
Read the full documentation of the VaultApi [here](./src/gen/docs/apis/VaultApi.md).
### WebhookApi
Read the full documentation of the WebhookApi [here](./src/gen/docs/apis/WebhookApi.md).
### Utils
#### uploadFile
A utility for uploading files using the File Storage API. `uploadFile` will automatically use upload sessions for files larger than 4MB. Smaller files will be uploaded with a simple upload call.
**Example Usage**
```ts
const apideck = new Apideck({
apiKey: '<insert-api-key-here>',
appId: '<insert-application-id-here>',
consumerId: '<insert-consumer-id-here>'
});
const file = await apideck.utils.uploadFile({
serviceId: 'dropbox',
file: buffer, // Buffer | string
name: "test.jpg",
size: fileSize, // file size in bytes
contentType: "image/jpg", // optional
});
```
## Support
Open an [issue][3]!
## License
[Apache-2.0][4]
[1]: https://apideck.com
[2]: https://developers.apideck.com/
[3]: https://github.com/apideck-libraries/node-sdk/issues/new
[4]: https://github.com/apideck-libraries/node-sdk/blob/main/LICENSE