@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
154 lines (153 loc) • 4.28 kB
TypeScript
import { HttpResponse } from "../../types/Http.type";
import RestApi from "../RestApi";
import { AuthToken } from "../../types/Economic.type";
import { EconomicResponse, Pagination } from "../../types/Economic.type";
import { Layout } from "./Layouts";
import { PaymentTerms } from "./PaymentTerms";
import { VatZone } from "./Vatzone";
export type CostAccount = {
accountNumber: number;
self: string;
};
export type RemittanceAdvice = {
creditorId: string;
paymentType: {
paymentTypeNumber: number;
self: string;
};
};
export type SalesPerson = {
employeeNumber: number;
self: string;
};
export type SupplierContact = {
supplierContactNumber: number;
self: string;
};
export type SupplierGroup = {
supplierGroupNumber: number;
self: string;
};
export type Supplier = {
authToken: any;
address: string;
attention: Attention;
bankAccount: string;
barred: boolean;
city: string;
contacts: string;
corporateIdentificationNumber: string;
costAccount: CostAccount;
country: string;
currency: string;
defaultInvoiceText: string;
email: string;
layout: Layout;
name: string;
paymentTerms: PaymentTerms;
phone: string;
remittanceAdvice: RemittanceAdvice;
salesPerson: SalesPerson;
self: string;
supplierContact: SupplierContact;
supplierGroup: SupplierGroup;
supplierNumber: number;
vatZone: VatZone;
website: string;
zip: string;
};
export type SupplierInfo = Pick<Supplier, "supplierNumber" | "self">;
export type Attention = {
customerContactNumber: number;
self: string;
};
export type CreateSupplier = {
address: string;
attention: Attention;
bankAccount: string;
barred: boolean;
city: string;
contacts: string;
corporateIdentificationNumber: string;
costAccount: {
accountNumber: number;
};
country: string;
currency: string;
defaultInvoiceText: string;
email: string;
layout: {
layoutNumber: number;
};
name: string;
paymentTerms: {
paymentTermsNumber: number;
};
phone: string;
remittanceAdvice: {
creditorId: string;
paymentType: {
paymentTypeNumber: number;
};
};
salesPerson: {
employeeNumber: number;
};
supplierContact: {
supplierContactNumber: number;
};
supplierGroup: {
supplierGroupNumber: number;
};
vatZone: {
vatZoneNumber: number;
};
website: string;
zip: string;
};
export type UpdateSupplier = Partial<CreateSupplier>;
export default class Suppliers extends RestApi {
/**
* @constructor
*/
constructor(props: AuthToken);
getUrl(): string;
/**
* Get collection of suppliers.
* @see https://restdocs.e-conomic.com/#get-suppliers
*
* @param {number} offset
* @param {number} limit
* @returns {Promise<HttpResponse>}
*/
get(skipPages?: number, limit?: number): Promise<HttpResponse<EconomicResponse<Supplier[], Pagination, any>>>;
/**
* Get a specific supplier.
* @see https://restdocs.e-conomic.com/#get-suppliers-suppliernumber
* @param {number} supplierNumber
* @returns {Promise<HttpResponse>}
*/
getFor(supplierNumber: number): Promise<HttpResponse<Supplier>>;
/**
* Create a new supplier.
* @see https://restdocs.e-conomic.com/#post-suppliers
* @param {CreateSupplier} supplier
* @returns {Promise<HttpResponse<Supplier>>}
*/
createSupplier(supplier: CreateSupplier): Promise<HttpResponse<Supplier>>;
/**
* Update an existing supplier.
* @see https://restdocs.e-conomic.com/#put-suppliers-suppliernumber
* @param {number} supplierNumber
* @param {UpdateSupplier} supplier
* @returns {Promise<HttpResponse<Supplier>>}
*/
updateSupplier(supplierNumber: number, supplier: UpdateSupplier): Promise<HttpResponse<Supplier>>;
/**
* Delete an existing supplier.
* @see https://restdocs.e-conomic.com/#delete-suppliers-suppliernumber
* @param {number} supplierNumber
* @returns {Promise<HttpResponse<void>>}
*/
deleteSupplier(supplierNumber: number): Promise<HttpResponse<void>>;
}