epicor-rest-node
v1.1.14
Published
This library helps make Epicor calls from an Node application
Downloads
9
Readme
Epicor Rest Helper for Node
This library helps make Epicor calls from a Node application. This library is not official and has no direct relationship with Epicor (c). It is merely a helper library maintained by the community.
Installation
npm i --save epicor-rest-node
Usage
Setup
import { EpicorRestService, EpicorRestVersion } from 'epicor-rest-node';
import { EpicorLicenseType } from 'epicor-rest-node/dist/models/EpicorLicenseType';
let EpicorRest = new EpicorRestService();
EpicorRest.AppPoolHost = 'subdomain.domain.tld';
EpicorRest.AppPoolInstance = 'Epicor10Instance';
EpicorRest.UserName = 'MyEpicorUserName';
EpicorRest.Password = 'MyEpicorPassword';
EpicorRest.APIKey = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; //Needed for V2
EpicorRest.Company = 'EPIC01';
EpicorRest.EpicorRestVersion = EpicorRestVersion.V2; //Defaults to V2
EpicorRest.License = EpicorLicenseType.WebService; //Defaults to Default
Call BO Methods
let params = new Map<string,string>();
params.set('$filter','ABCCode1 eq \'A\'');
EpicorRest.BoGet('Erp.BO.ABCCodeSvc','ABCCodes',params)?.then(
response=>
{
console.log(response);
}).catch(
err =>
{
console.log(err);
});
EpicorRest.BoPost('Erp.BO.ABCCodeSvc','ABCCodes',data)?.then(
response=>
{
console.log(response);
}).catch(
err=>
{
console.log(err);
});
// Patch and Delete are also available
Call BAQ
let params = new Map<string,string>();
params.set('$top','13');
EpicorRest.BaqGet('zCustomer01', params)?.then(
response=>
{
console.log(response);
}).catch(
err =>
{
console.log(err);
});
//BAQ Patch is also available
Call Epicor Function
let smsSend =
{
ToPhone:'123456789',
ToMsg:'Zup from Node'
};
EpicorRest.EfxPost('FacilityPaging','SendSMS',smsSend)?.then(
response=>
{
console.log(response);
}).catch(
err=>
{
console.log(err);
});
Epicor Session
An Epicor session can be established at any point by invoking EpicorRest.Createsession() and make sure to kill the session when you are done.
EpicorRest.Createsession().then((success) =>
{
// Any calls made in here will use the above created session
let params = new Map<string,string>();
params.set('$filter','ABCCode1 eq \'A\'');
EpicorRest.BoGet('Erp.BO.ABCCodeSvc','ABCCodes',params)?.then(
response=>
{
console.log(response);
}).catch(
err =>
{
console.log(err);
}).finally(()=>{
EpicorRest.DestroySession();
});
}).catch((ex) =>
{
console.log(ex);
});
An Epicor session can be killed manually by invoking EpicorRest.DestroySession() this needs to be done after the last call to the BO/BAQ etc.