UNPKG

@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
"use strict"; 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;