diff --git a/examples/send-c52-order.js b/examples/send-c52-order.js new file mode 100644 index 0000000..74404be --- /dev/null +++ b/examples/send-c52-order.js @@ -0,0 +1,30 @@ +#! /usr/bin/env node + +'use strict'; + +const ebics = require('../index'); + +const client = new ebics.Client({ + url: 'https://ebics.server', + partnerId: '', + userId: '', + hostId: '', + passphrase: 'test', // keys-test will be decrypted with this passphrase + keyStorage: ebics.fsKeysStorage('./keys-test'), +}); + +// The bank keys must have been already saved +client.send(ebics.Orders.C52(null, null)) // startDate 'YYYY-MM-DD', endDate 'YYYY-MM-DD' + .then((resp) => { + console.log('Response for C52 order %j', resp); + if (resp.technicalCode !== '000000') + throw new Error('Something went wrong'); + + // Parsing and processing the CAMT052 file should happen somewhere here, ideally after saving it to disk + const data = Buffer.from(resp.orderData); + console.log(data.toString('utf8')); + }) + .catch((err) => { + console.error(err); + process.exit(1); + }); diff --git a/examples/send-c53-order.js b/examples/send-c53-order.js new file mode 100644 index 0000000..8748807 --- /dev/null +++ b/examples/send-c53-order.js @@ -0,0 +1,30 @@ +#! /usr/bin/env node + +'use strict'; + +const ebics = require('../index'); + +const client = new ebics.Client({ + url: 'https://ebics.server', + partnerId: '', + userId: '', + hostId: '', + passphrase: 'test', // keys-test will be decrypted with this passphrase + keyStorage: ebics.fsKeysStorage('./keys-test'), +}); + +// The bank keys must have been already saved +client.send(ebics.Orders.C53(null, null)) // startDate 'YYYY-MM-DD', endDate 'YYYY-MM-DD' + .then((resp) => { + console.log('Response for C53 order %j', resp); + if (resp.technicalCode !== '000000') + throw new Error('Something went wrong'); + + // Parsing and processing the CAMT053 file should happen somewhere here, ideally after saving it to disk + const data = Buffer.from(resp.orderData); + console.log(data.toString('utf8')); + }) + .catch((err) => { + console.error(err); + process.exit(1); + }); diff --git a/examples/send-dki-order.js b/examples/send-dki-order.js new file mode 100644 index 0000000..f338685 --- /dev/null +++ b/examples/send-dki-order.js @@ -0,0 +1,30 @@ +#! /usr/bin/env node + +'use strict'; + +const ebics = require('../index'); + +const client = new ebics.Client({ + url: 'https://ebics.server', + partnerId: '', + userId: '', + hostId: '', + passphrase: 'test', // keys-test will be decrypted with this passphrase + keyStorage: ebics.fsKeysStorage('./keys-test'), +}); + +// The bank keys must have been already saved +client.send(ebics.Orders.DKI(null, null)) // startDate 'YYYY-MM-DD', endDate 'YYYY-MM-DD' + .then((resp) => { + console.log('Response for DKI order %j', resp); + if (resp.technicalCode !== '000000') + throw new Error('Something went wrong'); + + // Processing of the Exchange Rate file should go here, ideally after saving it to disk + const data = Buffer.from(resp.orderData); + console.log(data.toString('utf8')); + }) + .catch((err) => { + console.error(err); + process.exit(1); + }); diff --git a/examples/send-hkd-order.js b/examples/send-hkd-order.js new file mode 100644 index 0000000..d81a517 --- /dev/null +++ b/examples/send-hkd-order.js @@ -0,0 +1,29 @@ +#! /usr/bin/env node + +'use strict'; + +const ebics = require('../index'); + +const client = new ebics.Client({ + url: 'https://ebics.server', + partnerId: '', + userId: '', + hostId: '', + passphrase: 'test', // keys-test will be decrypted with this passphrase + keyStorage: ebics.fsKeysStorage('./keys-test'), +}); + +// The bank keys must have been already saved +client.send(ebics.Orders.HKD) + .then((resp) => { + console.log('Response for HKD order %j', resp); + if (resp.technicalCode !== '000000') + throw new Error('Something went wrong'); + + const data = Buffer.from(resp.orderData); + console.log(data.toString('utf8')); + }) + .catch((err) => { + console.error(err); + process.exit(1); + }); diff --git a/examples/send-hbt-order.js b/examples/send-htd-order.js old mode 100755 new mode 100644 similarity index 100% rename from examples/send-hbt-order.js rename to examples/send-htd-order.js diff --git a/examples/send-sta-order.js b/examples/send-sta-order.js new file mode 100644 index 0000000..ada81f3 --- /dev/null +++ b/examples/send-sta-order.js @@ -0,0 +1,30 @@ +#! /usr/bin/env node + +'use strict'; + +const ebics = require('../index'); + +const client = new ebics.Client({ + url: 'https://ebics.server', + partnerId: '', + userId: '', + hostId: '', + passphrase: 'test', // keys-test will be decrypted with this passphrase + keyStorage: ebics.fsKeysStorage('./keys-test'), +}); + +// The bank keys must have been already saved +client.send(ebics.Orders.STA(null, null)) // startDate 'YYYY-MM-DD', endDate 'YYYY-MM-DD' + .then((resp) => { + console.log('Response for STA order %j', resp); + if (resp.technicalCode !== '000000') + throw new Error('Something went wrong'); + + // Parsing and processing the MT940 file should happen somewhere here, ideally after saving it to disk + const data = Buffer.from(resp.orderData); + console.log(data.toString('utf8')); + }) + .catch((err) => { + console.error(err); + process.exit(1); + }); diff --git a/examples/send-vmk-order.js b/examples/send-vmk-order.js new file mode 100644 index 0000000..b6950af --- /dev/null +++ b/examples/send-vmk-order.js @@ -0,0 +1,30 @@ +#! /usr/bin/env node + +'use strict'; + +const ebics = require('../index'); + +const client = new ebics.Client({ + url: 'https://ebics.server', + partnerId: '', + userId: '', + hostId: '', + passphrase: 'test', // keys-test will be decrypted with this passphrase + keyStorage: ebics.fsKeysStorage('./keys-test'), +}); + +// The bank keys must have been already saved +client.send(ebics.Orders.VMK(null, null)) // startDate 'YYYY-MM-DD', endDate 'YYYY-MM-DD' + .then((resp) => { + console.log('Response for VMK order %j', resp); + if (resp.technicalCode !== '000000') + throw new Error('Something went wrong'); + + // Parsing and processing the MT942 file should happen somewhere here, ideally after saving it to disk + const data = Buffer.from(resp.orderData); + console.log(data.toString('utf8')); + }) + .catch((err) => { + console.error(err); + process.exit(1); + }); diff --git a/lib/predefinedOrders/C52.js b/lib/predefinedOrders/C52.js new file mode 100644 index 0000000..87c8d22 --- /dev/null +++ b/lib/predefinedOrders/C52.js @@ -0,0 +1,13 @@ +'use strict'; + +const utils = require('../utils'); + +module.exports = (start = null, end = null) => ({ + version: 'h004', + orderDetails: { + OrderType: 'C52', + OrderAttribute: 'DZHNN', + StandardOrderParams: utils.dateRange(start, end), + }, + operation: 'download', +}); diff --git a/lib/predefinedOrders/C53.js b/lib/predefinedOrders/C53.js new file mode 100644 index 0000000..6e6bebe --- /dev/null +++ b/lib/predefinedOrders/C53.js @@ -0,0 +1,13 @@ +'use strict'; + +const utils = require('../utils'); + +module.exports = (start = null, end = null) => ({ + version: 'h004', + orderDetails: { + OrderType: 'C53', + OrderAttribute: 'DZHNN', + StandardOrderParams: utils.dateRange(start, end), + }, + operation: 'download', +}); diff --git a/lib/predefinedOrders/DKI.js b/lib/predefinedOrders/DKI.js new file mode 100644 index 0000000..c31af27 --- /dev/null +++ b/lib/predefinedOrders/DKI.js @@ -0,0 +1,13 @@ +'use strict'; + +const utils = require('../utils'); + +module.exports = (start = null, end = null) => ({ + version: 'h004', + orderDetails: { + OrderType: 'DKI', + OrderAttribute: 'DZHNN', + StandardOrderParams: utils.dateRange(start, end), + }, + operation: 'download', +}); diff --git a/lib/predefinedOrders/index.js b/lib/predefinedOrders/index.js index 18e4f49..d720e35 100644 --- a/lib/predefinedOrders/index.js +++ b/lib/predefinedOrders/index.js @@ -23,6 +23,9 @@ const HKD = require('./HKD'); const PTK = require('./PTK'); const HAC = require('./HAC'); const Z53 = require('./Z53'); +const DKI = require('./DKI'); +const C52 = require('./C52'); +const C53 = require('./C53'); module.exports = { INI, @@ -39,6 +42,7 @@ module.exports = { CCS, XE3, XCT, + STA, VMK, HAA, @@ -47,4 +51,7 @@ module.exports = { HKD, PTK, HAC, + DKI, + C52, + C53 };