@phasesdk/api-client-for-economic
Version:
e-conomic REST API Library for Node.js is a powerful tool designed to simplify integration with the e-conomic platform for developers building Node.js applications. With this library, developers can effortlessly leverage the full functionality of the e-co
194 lines (193 loc) • 6.84 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const RestApi_1 = __importDefault(require("../RestApi"));
class Customers extends RestApi_1.default {
/**
* @constructor
*/
constructor(props) {
super(props);
}
getUrl() {
throw new Error("Method not implemented.");
}
/**
* Get collection of customers.
* @see https://restdocs.e-conomic.com/#get-customers
*
* @param {number} offset
* @param {number} limit
* @returns {Promise<HttpResponse>}
*/
get(offset = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/customers?skippages=${offset}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* Get a specific customer
* @see https://restdocs.e-conomic.com/#get-customers-customernumber
* @param {number} customerNumber
* @returns {Promise<HttpResponse>}
*/
getFor(customerNumber) {
const requestObj = {
method: "get",
url: `/customers/${customerNumber}`,
};
return this._httpRequest(requestObj);
}
/**
* Returns a specific customer totals.
* @see https://restdocs.e-conomic.com/#get-customers-customernumber-totals
* @param {number} customerNumber
* @returns {Promise<HttpResponse>}
*/
getCustomerTotals(customerNumber) {
const requestObj = {
method: "get",
url: `/customers/${customerNumber}/totals`,
};
return this._httpRequest(requestObj);
}
/**
* Returns a specific customer delivery locations.
* @see https://restdocs.e-conomic.com/#get-customers-customernumber-delivery-locations
* @param {number} customerNumber
* @returns {Promise<HttpResponse>}
*/
getCustomerDeliveryLocations(customerNumber, skipPages = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/customers/${customerNumber}/delivery-locations?skippages=${skipPages}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* Returns a specific customer contacts.
*
* @see https://restdocs.e-conomic.com/#get-customers-customernumber-contacts
* @param {number} customerNumber
* @returns {Promise<HttpResponse>}
*/
getCustomerContacts(customerNumber, skipPages = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/customers/${customerNumber}/contacts?skippages=${skipPages}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* Returns a specific customer invoices drafts.
*
* @see https://restdocs.e-conomic.com/#get-customers-customernumber-invoices-drafts
* @param {number} customerNumber
* @returns {Promise<HttpResponse>}
*/
getCustomerInvoiceDrafts(customerNumber, skipPages = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/customers/${customerNumber}/invoices/drafts?skippages=${skipPages}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* Create a new customer
* @see https://restdocs.e-conomic.com/#customers-create
* @param {Customer} customer
* @returns {Promise<HttpResponse<Customer>>}
*/
createCustomer(customer) {
const requestObj = {
method: "post",
url: `/customers`,
data: customer,
};
return this._httpRequest(requestObj);
}
/**
* Create a new customer contact
* @see https://restdocs.e-conomic.com/#post-customers-customernumber-contacts
* @param {number} customerNumber
* @param {CreateCustomerContact} contact
* @returns {Promise<HttpResponse<CustomerContact>>}
*/
createCustomerContact(customerNumber, contact) {
const requestObj = {
method: "post",
url: `/customers/${customerNumber}/contacts`,
data: contact,
};
return this._httpRequest(requestObj);
}
/**
* Create a new customer delivery location
* @see https://restdocs.e-conomic.com/#post-customers-customernumber-delivery-locations
* @param {number} customerNumber
* @param {CreateCustomerDeliveryLocation} deliveryLocation
* @returns {Promise<HttpResponse<CustomerDeliveryLocations>>}
*/
createCustomerDeliveryLocation(customerNumber, deliveryLocation) {
const requestObj = {
method: "post",
url: `/customers/${customerNumber}/delivery-locations`,
data: deliveryLocation,
};
return this._httpRequest(requestObj);
}
/**
* Get a specific contact for a specific customer
* @see https://restdocs.e-conomic.com/#get-customers-customernumber-contacts-contactnumber
* @param {number} customerNumber
* @param {number} contactNumber
* @returns {Promise<HttpResponse>}
*/
getCustomerContact(customerNumber, contactNumber) {
const requestObj = {
method: "get",
url: `/customers/${customerNumber}/contacts/${contactNumber}`,
};
return this._httpRequest(requestObj);
}
/**
* Get a specific delivery location for a specific customer
* @see https://restdocs.e-conomic.com/#get-customers-customernumber-delivery-locations-deliverylocationnumber
* @param {number} customerNumber
* @param {number} deliveryLocationNumber
* @returns {Promise<HttpResponse>}
*/
getCustomerDeliveryLocation(customerNumber, deliveryLocationNumber) {
const requestObj = {
method: "get",
url: `/customers/${customerNumber}/delivery-locations/${deliveryLocationNumber}`,
};
return this._httpRequest(requestObj);
}
getCustomerTemplate(customerNumber) {
const requestObj = {
method: "get",
url: `/customers/${customerNumber}/templates`,
};
return this._httpRequest(requestObj);
}
getCustomerInvoiceTemplate(customerNumber) {
const requestObj = {
method: "get",
url: `/customers/${customerNumber}/templates/invoice`,
};
return this._httpRequest(requestObj);
}
getCustomerInvoiceLineTemplate(customerNumber, skipPages = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/customers/${customerNumber}/templates/invoiceline?skippages=${skipPages}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
}
exports.default = Customers;