1.0.0 • Published 1 year ago

acs-courier-rest-api v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

ACS Courier API - Node.js Client

A Node.js client for the ACS Courier REST API. Easily interact with the ACS Courier REST API using this library.

Installation

npm install acs-courier-rest-api
yarn add acs-courier-rest-api

Getting started

GET API credentials from https://www.acscourier.net/ .

Ask ACS Courier API endpoints and data that can be manipulated from https://www.acscourier.net/.

Setup

Setup for the REST API integration :

var ACSRestApi = require('acs-courier-rest-api');

const acs = new ACSRestApi({
  Company_ID: 'xxxx',
  Company_Password: 'xxxx',
  User_ID: 'xxxx',
  User_Password: 'xxxx',
  AcsApiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  Billing_Code: 'xxxxxxxxx',
  PrintType: 2,
});

Options

OptionTypeRequiredDescription
Company_IDStringyesYour Company ID
Company_PasswordStringyesYour Company_Password
User_IDStringyesYour User ID
User_PasswordStringyesYour User Password
Billing_CodeStringyesYour Billing Code. If multiple, override with params object in post request
AcsApiKeyStringnoYour Acs Api Key
PrintTypeStringnoVoucher Print Type. Use 1 for thermal, 2 for Laser (A4 - 3x)
encodingStringnoEncoding, default is utf-8
timeoutIntegernoDefine the request timeout
axiosConfigObjectnoDefine the custom Axios config, also override this library options

Methods

GET

  • .get(endpoint, data)
  • .get(endpoint, data, params)
ParamsTypeDescription
endpointStringACS Courier API endpoint, example: contacts or products
dataObjectJS object to be converted into JSON and sent in the request
paramsObjectQuery strings params

POST

  • .post(endpoint, data)
  • .post(endpoint, data, params)
ParamsTypeDescription
endpointStringACS Courier API endpoint, example: contacts or products
dataObjectJS object to be converted into JSON and sent in the request
paramsObjectQuery strings params

Example of use

var ACSRestApi = require('acs-courier-rest-api');

const acs = new ACSRestApi({
  Company_ID: 'xxxx',
  Company_Password: 'xxxx',
  User_ID: 'xxxx',
  User_Password: 'xxxx',
  AcsApiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  Billing_Code: 'xxxxxxxxx',
  PrintType: 2,
});

// Create Voucher
const voucherData = {
  Pickup_Date: '2022-02-23',
  Sender: 'ESHOP',
  Recipient_Name: 'TEST RECIPIENT',
  Recipient_Address: 'P. RALLI',
  Recipient_Address_Number: 45,
  Recipient_Zipcode: '10680',
  Recipient_Region: 'Athens',
  Recipient_Phone: '2101234567',
  Recipient_Cell_Phone: '6971234567',
  Recipient_Country: 'GR',
  Acs_Station_Branch_Destination: 1,
  Charge_Type: 2,
  Item_Quantity: 1,
  Weight: 0.5,
  Cod_Ammount: 50.5,
  Acs_Delivery_Products: 'COD',
};
acs
  .post('ACS_Create_Voucher', voucherData)
  .then((response) => {
    // Successful request
    console.log('Response Status:', response.status);
    console.log('Response Headers:', response.headers);
    console.log('Response Data:', response.data);
  })
  .catch((error) => {
    // Invalid request, for 4xx and 5xx statuses
    console.log('Response Status:', error.response.status);
    console.log('Response Headers:', error.response.headers);
    console.log('Response Data:', error.response.data);
  })
  .finally(() => {
    // Always executed.
  });

// Search contacts by Code
acs
  .post('ACS_Delete_Voucher', {
    Voucher_No: 7400000000,
  })
  .then((response) => {
    // Successful request
    console.log('Response Status:', response.status);
    console.log('Response Headers:', response.headers);
    console.log('Response Data:', response.data);
  })
  .catch((error) => {
    // Invalid request, for 4xx and 5xx statuses
    console.log('Response Status:', error.response.status);
    console.log('Response Headers:', error.response.headers);
    console.log('Response Data:', error.response.data);
  })
  .finally(() => {
    // Always executed.
  });

// Create Pickup List
acs
  .post('ACS_Issue_Pickup_List', {
    Pickup_Date: '2023-02-23',
  })
  .then((response) => {
    // Successful request
    console.log('Response Status:', response.status);
    console.log('Response Headers:', response.headers);
    console.log('Response Data:', response.data);
  })
  .catch((error) => {
    // Invalid request, for 4xx and 5xx statuses
    console.log('Response Status:', error.response.status);
    console.log('Response Headers:', error.response.headers);
    console.log('Response Data:', error.response.data);
  })
  .finally(() => {
    // Always executed.
  });

// Tracking Details
acs
  .post('ACS_TrackingDetails', {
    Voucher_No: 7400000000,
  })
  .then((response) => {
    // Successful request
    console.log('Response Status:', response.status);
    console.log('Response Headers:', response.headers);
    console.log('Response Data:', response.data);
  })
  .catch((error) => {
    // Invalid request, for 4xx and 5xx statuses
    console.log('Response Status:', error.response.status);
    console.log('Response Headers:', error.response.headers);
    console.log('Response Data:', error.response.data);
  })
  .finally(() => {
    // Always executed.
  });

Release History

  • 2023-02-23 - v1.0.0 - Initial release.
1.0.0

1 year ago