UNPKG

@stylusapparel/opv3-merchant-api-nodejs

Version:

This is the official NodeJs wrapper for connecting to the StylusOP API V3

86 lines (84 loc) 4.29 kB
'use strict'; const __error = require('./error'); const __response = require('./response'); const { __defaults } = require('../constants/url'); const http = require('./http'); module.exports = (_merchantId, _token, __config) => { const { merchantName } = __config; const httpInstance = http(_merchantId ?? merchantName, _token, __config); const __this = { _getShipment: (shipmentId) => { return new Promise((resolve, reject) => { httpInstance .get('/merchant/' + merchantName + __defaults.SHIPMENT_URI + '/' + shipmentId) .then(function (response) { if (response.status === 200) { resolve(__response._shipmentFetch(response.data)); } else { reject(__error._shipmentFetchError(response.data, response.status)); } }) .catch(function (error) { const _errorCode = (error && error.response && error.response.status) || 500; const _errorDetails = (error && error.response && error.response.data) || {}; reject(__error._shipmentFetchError(_errorDetails, _errorCode)); }); }); }, _getShipmentStatus: (shipmentId) => { return new Promise((resolve, reject) => { httpInstance .get('/merchant/' + merchantName + __defaults.SHIPMENT_URI + '/' + shipmentId) .then(function (response) { if (response.status === 200) { resolve(__response._shipmentStatusFetch(response.data)); } else { reject(__error._shipmentFetchError(response.data, response.status)); } }) .catch(function (error) { const _errorCode = (error && error.response && error.response.status) || 500; const _errorDetails = (error && error.response && error.response.data) || {}; reject(__error._shipmentFetchError(_errorDetails, _errorCode)); }); }); }, _listShipments: (params = {}) => { return new Promise((resolve, reject) => { httpInstance .get('/merchant/' + merchantName + __defaults.SHIPMENT_URI, { params }) .then(function (response) { if (response.status === 200) { resolve(__response._shipmentList(response.data)); } else { reject(__error._shipmentFetchError(response.data, response.status)); } }) .catch(function (error) { const _errorCode = (error && error.response && error.response.status) || 500; const _errorDetails = (error && error.response && error.response.data) || {}; reject(__error._shipmentFetchError(_errorDetails, _errorCode)); }); }); }, _listShipmentsByOrder: (orderRefId) => { return new Promise((resolve, reject) => { httpInstance .get('/merchant/' + merchantName + __defaults.SHIPMENT_URI, { orderRefId }) .then(function (response) { if (response.status === 200) { resolve(__response._shipmentList(response.data)); } else { reject(__error._shipmentFetchError(response.data, response.status)); } }) .catch(function (error) { const _errorCode = (error && error.response && error.response.status) || 500; const _errorDetails = (error && error.response && error.response.data) || {}; reject(__error._shipmentFetchError(_errorDetails, _errorCode)); }); }); }, }; return __this; };