Skip to main content

Javascript SDK

in Javascript SDK
Authors list
Paskelbta: 2022-07-18

Include the Javascript SDK like this:

<script src="https://unpkg.com/@deskpro/deskpro-api-client-javascript@2.0.0/dist/index.js"></script>
copy

Or you can install it with NPM from: https://www.npmjs.com/package/@deskpro/deskpro-api-client-javascript

Initialize the client Copy link to Initialize the client to clipboard

Begin by initializing an instance of DeskproClient, from the @deskpro/deskpro-api-client-javascript package, with the URL to your Deskpro instance.

// If you installed with NPM, then you need to require the file // If you are just hotlinking with a script tag, then DeskproClient will just be available on the window already const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const client = new DeskproClient('http://deskpro.company.com');
copy

Axios is used to make HTTP requests. A default Axios client will be used by the library, but a custom instance may be provided.

const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const httpClient = axios.create({ timeout: 1000 }); const client = new DeskproClient('http://deskpro.company.com', httpClient); // Or use the setter method. // client.setHTTPClient(httpClient);
copy

Requests may be logged by passing a function as the third constructor argument.

const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const logger = console.log; const client = new DeskproClient('http://deskpro.company.com', null, logger); // Or use the setter method. // client.setLogger(logger);
copy

Authenticating Copy link to Authenticating to clipboard

Many API methods require authentication. Set the ID of the user to authenticate with and either the auth "key" or "token".

const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const client = new DeskproClient('http://deskpro.company.com'); // Use the setAuthKey method to authenticate using a key. const personId = 1; const authKey = 'dev-admin-code'; client.setAuthKey(personId, authKey);
copy

Requests Copy link to Requests to clipboard

GETCopy link to GET to clipboard

Sends a GET request to the API.

DeskproClient::get(endpoint, params = {}) : Promise

const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const client = new DeskproClient('http://deskpro.company.com'); client.setAuthKey(1, 'dev-admin-code'); client.get('/articles') .then((resp) => { console.log(resp.data); }) .catch((err) => { console.error(err.message); }); // Parameters are interpolated into the provided URL. // The next request will be made to "/articles/101?limit=25". const params = { id: 101, limit: 25 }; client.get('/articles/{id}', params);
copy

POSTCopy link to POST to clipboard

Sends a POST request to the API.

DeskproClient::post(endpoint, body = null, params = {}) : Promise

const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const client = new DeskproClient('http://deskpro.company.com'); client.setAuthKey(1, 'dev-admin-code'); const body = { title: 'Mary Had a Little Lamb', content: 'Whose fleece was white as snow.' }; client.post('/articles', body) .then((resp) => { console.log(resp.data); }) .catch((err) => { console.error(err.message); }); ``` # PUT Sends a PUT request to the API. *DeskproClient::put(endpoint, body = null, params = {}) : Promise* ```javascript const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const client = new DeskproClient('http://deskpro.company.com'); client.setAuthKey(1, 'dev-admin-code'); const body = { title: 'Mary Had a Little Lamb', content: 'Whose fleece was white as snow.' }; const params = { id: 101 }; client.put('/articles/{id}', body, params) .then((resp) => { console.log(resp.data); }) .catch((err) => { console.error(err.message); });
copy

DELETECopy link to DELETE to clipboard

Sends a DELETE request to the API.

DeskproClient::del(endpoint, params = {}) : Promise

const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const client = new DeskproClient('http://deskpro.company.com'); client.setAuthKey(1, 'dev-admin-code'); const params = { id: 101 }; client.del('/articles/{id}', params) .then((resp) => { console.log(resp.data); }) .catch((err) => { console.error(err.message); });
copy

BatchCopy link to Batch to clipboard

Sends a batch request to the API.

DeskproClient::batch(requests) : Promise

const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const client = new DeskproClient('http://deskpro.company.com'); client.setAuthKey(1, 'dev-admin-code'); client.batch({ one: { method: 'GET', url: '/articles/105' }, two: '/articles/106' }).then((resp) => { console.log(resp.one.data); console.log(resp.two.data); }).catch((err) => { console.error(err.message); });
copy

Custom RequestCopy link to Custom Request to clipboard

Sends a request to the API.

DeskproClient::request(method, endpoint, body = null, params = {}, headers = {}) : Promise

const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const client = new DeskproClient('http://deskpro.company.com'); client.setAuthKey(1, 'dev-admin-code'); const body = { title: 'Mary Had a Little Lamb', content: 'Whose fleece was white as snow.' }; const params = { id: 101 }; const headers = { 'X-Custom-Value': 'some value' } client.request('PUT', '/articles/{id}', body, params, headers) .then((resp) => { console.log(resp.data); }) .catch((err) => { console.error(err.message); });
copy

Default Headers Copy link to Default Headers to clipboard

Sets the headers sent with each request.

DeskproClient::setDefaultHeaders(defaultHeaders) : DeskproClient

const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const client = new DeskproClient('http://deskpro.company.com'); client.setAuthKey(1, 'dev-admin-code'); // Send these headers and values with each request made to the API. client.setDefaultHeaders({ 'X-Custom-Value': 'some value' });
copy

Response Copy link to Response to clipboard

Each of the methods get, post, put, delete, batch, and request returns an object with the properties data, meta, and linked.

const DeskproClient = require('@deskpro/deskpro-api-client-javascript'); const client = new DeskproClient('http://deskpro.company.com'); client.setAuthKey(1, 'dev-admin-code'); client.get('/articles') .then((resp) => { console.log(resp.data); console.log(resp.meta); console.log(resp.linked); });
copy

Browser Usage Copy link to Browser Usage to clipboard

The client library may be used in the browser as well as Node. The library may be installed using npm or embedded in a document using the unpkg.com CDN.

<!DOCTYPE> <html> <head> <!-- Import DeskproClient from node_modules --> <script src="node_modules/@deskpro/deskpro-api-client-javascript/dist/index.js"></script> <!-- Or import it from CDN --> <!-- <script src="https://unpkg.com/@deskpro/deskpro-api-client-javascript@2.0.0/dist/index.js"></script> --> </head> <body> <script> var client = new DeskproClient('http://deskpro.company.com'); client.setAuthKey(1, 'dev-admin-code'); client.get('/articles') .then(function(resp) { console.log(resp.data); }) .catch(function(err) { console.error(err.message); }); </script> </body> </html>
copy
NaudingasNenaudingas

2 iš 2 žmonių mano, kad šis puslapis naudingas

next pageExample: Create an Article

Please log in or register to submit a comment.