@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
309 lines (308 loc) • 9.7 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("../../modules/RestApi"));
class Invoices extends RestApi_1.default {
/**
* @constructor
*/
constructor(props) {
super(props);
}
/**
* This is the root for the invoice endpoint. From here you can navigate to draft and booked invoices, but also to a number of convenience endpoints such as ‘paid’ and ‘overdue’.
*
* @see https://restdocs.e-conomic.com/#invoices
* @returns {Promise<HttpResponse>}
*
*/
get() {
const requestObj = {
method: "get",
url: `/invoices`,
};
return this._httpRequest(requestObj);
}
/**
* This endpoint provides you with a collection of draft invoices.
*
* @see https://restdocs.e-conomic.com/#get-invoices-drafts
*
* @param {number} offset
* @param {number} limit
* @returns {Promise<HttpResponse>}
*
*/
getDrafts(offset = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/invoices/drafts?skippages=${offset}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* This endpoint provides you with the entire document for a specific draft invoice.
*
* @see https://restdocs.e-conomic.com/#get-invoices-drafts-draftinvoicenumber
* @param {number} draftInvoiceNumber
* @returns {Promise<HttpResponse>}
*
*/
getDraft(draftInvoiceNumber) {
const requestObj = {
method: "get",
url: `/invoices/drafts/${draftInvoiceNumber}`,
};
return this._httpRequest(requestObj);
}
/**
* This returns a collection of all booked invoices.
*
* @see https://restdocs.e-conomic.com/#get-invoices-booked
*
* @param {number} offset
* @param {number} limit
* @returns {Promise<HttpResponse>}
*
*/
getAllBooked(offset = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/invoices/booked?skippages=${offset}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* This endpoint returns a specific booked invoice.
*
* @see https://restdocs.e-conomic.com/#get-invoices-booked-bookedinvoicenumber
* @param {number} bookedInvoiceNumber
* @returns {Promise<HttpResponse>}
*
*/
getBooked(bookedInvoiceNumber) {
const requestObj = {
method: "get",
url: `/invoices/booked/${bookedInvoiceNumber}`,
};
return this._httpRequest(requestObj);
}
/**
* Create booked invoices
*
* @see https://restdocs.e-conomic.com/?javascript#post-invoices-booked
* @param {BookedInvoiceRequestData} data
* @returns {Promise<HttpResponse>}
*/
createBookedInvoice(data) {
const requestObj = {
method: "post",
url: `/invoices/booked/`,
data: data,
};
return this._httpRequest(requestObj);
}
/**
* This returns a collection of all paid invoices.
*
* @see https://restdocs.e-conomic.com/#get-invoices-paid
*
* @param {number} offset
* @param {number} limit
* @returns {Promise<HttpResponse>}
*
*/
getPaid(offset = 0, limit = 100, queryParams = {}) {
const url = `/invoices/paid?skippages=${offset}&pagesize=${limit}` +
(queryParams.filter
? `&filter=${encodeURIComponent(queryParams.filter)}`
: "");
const requestObj = {
method: "get",
url,
};
return this._httpRequest(requestObj);
}
/**
* This returns a collection of all unpaid invoices
*
* @see https://restdocs.e-conomic.com/#get-invoices-unpaid
*
* @param {number} offset
* @param {number} limit
* @returns {Promise<HttpResponse>}
*
*/
getUnpaid(offset = 0, limit = 100, queryParams = {}) {
const url = `/invoices/unpaid?skippages=${offset}&pagesize=${limit}` +
(queryParams.filter
? `&filter=${encodeURIComponent(queryParams.filter)}`
: "");
const requestObj = {
method: "get",
url,
};
return this._httpRequest(requestObj);
}
/**
* This returns a collection of all overdue invoices.
*
* @see https://restdocs.e-conomic.com/#get-invoices-overdue
*
* @param {number} offset
* @param {number} limit
* @returns {Promise<HttpResponse>}
*
*/
getOverdue(offset = 0, limit = 100, queryParams = {}) {
const url = `/invoices/overdue?skippages=${offset}&pagesize=${limit}` +
(queryParams.filter
? `&filter=${encodeURIComponent(queryParams.filter)}`
: "");
const requestObj = {
method: "get",
url,
};
return this._httpRequest(requestObj);
}
/**
* This returns a collection of all not due invoices.
*
* @see https://restdocs.e-conomic.com/#get-invoices-not-due
*
* @param {number} offset
* @param {number} limit
* @returns {Promise<HttpResponse>}
*
*/
getNotdue(offset = 0, limit = 100, queryParams = {}) {
const url = `/invoices/not-due?skippages=${offset}&pagesize=${limit}` +
(queryParams.filter
? `&filter=${encodeURIComponent(queryParams.filter)}`
: "");
const requestObj = {
method: "get",
url,
};
return this._httpRequest(requestObj);
}
/**
* This endpoint provides you with a collection of all the invoices sent via e-invoicing.
*
* @see https://restdocs.e-conomic.com/#get-invoices-sent
*
* @param {number} offset
* @param {number} limit
* @returns {Promise<HttpResponse>}
*
*/
getAllSent(offset = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/invoices/sent?skippages=${offset}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* This endpoint provides you with a single object of the invoice sent via e-invoicing.
*
* @see https://restdocs.e-conomic.com/#get-invoices-sent-id
*
* @param {number} id
* @returns {Promise<HttpResponse>}
*
*/
getSent(id) {
const requestObj = {
method: "get",
url: `/invoices/sent/${id}`,
};
return this._httpRequest(requestObj);
}
/**
* Create a new draft invoice.
* @see https://restdocs.e-conomic.com/#post-invoices-drafts
* @param {DraftInvoice} draftInvoice
* @returns {Promise<HttpResponse<SingleDraftInvoice>>}
*/
createDraftInvoice(draftInvoice) {
const requestObj = {
method: "post",
url: `/invoices/drafts`,
data: draftInvoice,
};
return this._httpRequest(requestObj);
}
/**
* Get a collection of order drafts.
* @see https://restdocs.e-conomic.com/#get-orders-drafts
* @param {number} offset
* @param {number} limit
* @returns {Promise<HttpResponse<InvoiceResponse<DraftInvoice[], Pagination>>>}
*/
getOrderDrafts(offset = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/orders/drafts?skippages=${offset}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* Get a specific order draft.
* @see https://restdocs.e-conomic.com/#get-orders-drafts-draftOrderNumber
* @param {number} draftOrderNumber
* @returns {Promise<HttpResponse<SingleDraftInvoice>>}
*/
getOrderDraft(draftOrderNumber) {
const requestObj = {
method: "get",
url: `/orders/drafts/${draftOrderNumber}`,
};
return this._httpRequest(requestObj);
}
/**
* Create a new order draft.
* @see https://restdocs.e-conomic.com/#post-orders-drafts
* @param {DraftInvoice} draftOrder
* @returns {Promise<HttpResponse<SingleDraftInvoice>>}
*/
createOrderDraft(draftOrder) {
const requestObj = {
method: "post",
url: `/orders/drafts`,
data: draftOrder,
};
return this._httpRequest(requestObj);
}
/**
* Update an existing order draft.
* @see https://restdocs.e-conomic.com/#put-orders-drafts-draftOrderNumber
* @param {number} draftOrderNumber
* @param {DraftInvoice} draftOrder
* @returns {Promise<HttpResponse<SingleDraftInvoice>>}
*/
updateOrderDraft(draftOrderNumber, draftOrder) {
const requestObj = {
method: "put",
url: `/orders/drafts/${draftOrderNumber}`,
data: draftOrder,
};
return this._httpRequest(requestObj);
}
/**
* Delete an existing order draft.
* @see https://restdocs.e-conomic.com/#delete-orders-drafts-draftOrderNumber
* @param {number} draftOrderNumber
* @returns {Promise<HttpResponse<void>>}
*/
deleteOrderDraft(draftOrderNumber) {
const requestObj = {
method: "delete",
url: `/orders/drafts/${draftOrderNumber}`,
};
return this._httpRequest(requestObj);
}
}
exports.default = Invoices;