{"info":{"_postman_id":"744ecc06-12c8-449b-b22b-54470f34fe40","name":"Sales Order API","description":"<html><head></head><body><p>API collection for External Sales Order service. Use the E2E Flow folder for end-to-end testing (login → signature → create sales order).</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"56435392","collectionId":"744ecc06-12c8-449b-b22b-54470f34fe40","publishedId":"2sBY4Jw2kr","public":true,"customColor":{"top-bar":"262064","right-sidebar":"303030","highlight":"94c153"},"publishDate":"2026-07-07T03:46:31.000Z"},"item":[{"name":"E2E Flow","item":[{"name":"1. Login","event":[{"listen":"test","script":{"id":"756367a5-3ba7-4f52-ae53-f095734cc36f","exec":["pm.test('Login returns 201', function () {","    pm.response.to.have.status(201);","});","","if (pm.response.code === 201) {","    var jsonData = pm.response.json();","    pm.collectionVariables.set('jwt_token', jsonData.token);","    pm.environment.set('jwt_token', jsonData.token);","}"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"5d9a38df-29bb-4c14-805c-dadaf5658d26","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_id\": \"client-001\",\n  \"client_secret\": \"secret-key-123\"\n}"},"url":"https://api.sales.erp.eigen.co.id/api/v1/auth/login","urlObject":{"path":["api","v1","auth","login"],"host":["https://api.sales.erp.eigen.co.id"],"query":[],"variable":[]}},"response":[],"_postman_id":"5d9a38df-29bb-4c14-805c-dadaf5658d26"},{"name":"2. Generate Signature","event":[{"listen":"test","script":{"id":"3f4a61be-2b21-4133-b3e4-3dee73cc0a0f","exec":["pm.test('Signature generated', function () {","    pm.response.to.have.status(201);","});","","if (pm.response.code === 201) {","    var jsonData = pm.response.json();","    pm.collectionVariables.set('x_signature', jsonData.signature);","    pm.collectionVariables.set('x_timestamp', jsonData.timestamp);","    pm.environment.set('x_signature', jsonData.signature);","    pm.environment.set('x_timestamp', jsonData.timestamp);","}"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"71903e58-c0a7-4fff-8bb9-37a88c198b76","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_id\": \"client-001\",\n  \"private_key\": \"\"\n}"},"url":"https://api.sales.erp.eigen.co.id/api/v1/auth/signature/generate","description":"<p><strong>WARNING: Generate Signature only available for testing only<br />For production purpose, PLEASE CREATE THIS AT YOUR CODEBASE</strong></p>\n","urlObject":{"path":["api","v1","auth","signature","generate"],"host":["https://api.sales.erp.eigen.co.id"],"query":[],"variable":[]}},"response":[],"_postman_id":"71903e58-c0a7-4fff-8bb9-37a88c198b76"},{"name":"3.1. Create Sales Order V1","event":[{"listen":"prerequest","script":{"exec":["const sig = pm.collectionVariables.get('x_signature') || pm.environment.get('x_signature');","const ts = pm.collectionVariables.get('x_timestamp') || pm.environment.get('x_timestamp');","if (!sig || !ts) {","    const baseUrl = pm.collectionVariables.get('baseUrl') || pm.environment.get('baseUrl');","    const clientId = pm.collectionVariables.get('client_id') || pm.environment.get('client_id');","    const privateKey = pm.collectionVariables.get('private_key') || pm.environment.get('private_key');","    pm.sendRequest({","        url: baseUrl + '/api/v1/auth/signature/generate',","        method: 'POST',","        header: { 'Content-Type': 'application/json' },","        body: {","            mode: 'raw',","            raw: JSON.stringify({ client_id: clientId, private_key: privateKey })","        }","    }, function (err, res) {","        if (err) { console.error(err); return; }","        const data = res.json();","        pm.collectionVariables.set('x_signature', data.signature);","        pm.collectionVariables.set('x_timestamp', data.timestamp);","        pm.environment.set('x_signature', data.signature);","        pm.environment.set('x_timestamp', data.timestamp);","    });","}"],"type":"text/javascript","id":"2f010159-847e-4cc6-b085-39f0c4057471"}},{"listen":"test","script":{"exec":["pm.test('Sales order v1 created', function () {","    pm.response.to.have.status(201);","    var jsonData = pm.response.json();","    pm.expect(jsonData.data).to.have.property('code');","});"],"type":"text/javascript","id":"17291372-0aa2-4742-b644-9bf774edc6cb"}}],"id":"1b84eae8-412b-41af-a285-31e1261fd9c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer "},{"key":"X-CLIENT-ID","value":"client-001"},{"key":"X-TIMESTAMP","value":""},{"key":"X-SIGNATURE","value":""}],"body":{"mode":"raw","raw":"{\n  \"customer_code\": \"CUST-001\",\n  \"site_code\": \"P1\",\n  \"sales_name\": \"John Doe\",\n  \"address\": \"Jl. Sudirman No. 1, Jakarta\",\n  \"purchase_order_no\": \"PO-2025-00001\",\n  \"products\": [\n    {\n      \"product_code\": \"PROD-001\",\n      \"quantity\": 2\n    }\n  ]\n}"},"url":"https://api.sales.erp.eigen.co.id/api/v1/sales-orders","urlObject":{"path":["api","v1","sales-orders"],"host":["https://api.sales.erp.eigen.co.id"],"query":[],"variable":[]}},"response":[],"_postman_id":"1b84eae8-412b-41af-a285-31e1261fd9c5"},{"name":"3.2. Create Sales Order V2","event":[{"listen":"prerequest","script":{"id":"bb0fe220-b7e3-4f10-b474-0974c2a8d6f2","exec":["const sig = pm.collectionVariables.get('x_signature') || pm.environment.get('x_signature');","const ts = pm.collectionVariables.get('x_timestamp') || pm.environment.get('x_timestamp');","if (!sig || !ts) {","    const baseUrl = pm.collectionVariables.get('baseUrl') || pm.environment.get('baseUrl');","    const clientId = pm.collectionVariables.get('client_id') || pm.environment.get('client_id');","    const privateKey = pm.collectionVariables.get('private_key') || pm.environment.get('private_key');","    pm.sendRequest({","        url: baseUrl + '/api/v1/auth/signature/generate',","        method: 'POST',","        header: { 'Content-Type': 'application/json' },","        body: {","            mode: 'raw',","            raw: JSON.stringify({ client_id: clientId, private_key: privateKey })","        }","    }, function (err, res) {","        if (err) { console.error(err); return; }","        const data = res.json();","        pm.collectionVariables.set('x_signature', data.signature);","        pm.collectionVariables.set('x_timestamp', data.timestamp);","        pm.environment.set('x_signature', data.signature);","        pm.environment.set('x_timestamp', data.timestamp);","    });","}"],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"a3e53dbc-0d18-4ddb-a374-d281cb69ff33","exec":["pm.test('Sales order v2 created', function () {","    pm.response.to.have.status(201);","    var jsonData = pm.response.json();","    pm.expect(jsonData.data).to.have.property('orders');","    pm.expect(jsonData.data.orders).to.be.an('array');","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"2dce12ba-fc7c-4ac3-a5d6-ff6c48e23bf6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer "},{"key":"X-CLIENT-ID","value":"client-001"},{"key":"X-TIMESTAMP","value":""},{"key":"X-SIGNATURE","value":""}],"body":{"mode":"raw","raw":"{\n  \"purchase_order_no\": \"YOUR-PO-CODE-22\",\n  \"products\": [\n    {\n      \"product_code\": \"YOUR-PRODUCT-SKU\",\n      \"quantity\": 2\n    }\n  ]\n}"},"url":"https://api.sales.erp.eigen.co.id/api/v2/sales-orders","urlObject":{"path":["api","v2","sales-orders"],"host":["https://api.sales.erp.eigen.co.id"],"query":[],"variable":[]}},"response":[],"_postman_id":"2dce12ba-fc7c-4ac3-a5d6-ff6c48e23bf6"}],"id":"53f05e14-2ddb-4113-9c1d-e07941c3a539","description":"<p>Run this folder in Collection Runner (steps 1 → 2 → 3 or 4) for full end-to-end testing.</p>\n","_postman_id":"53f05e14-2ddb-4113-9c1d-e07941c3a539"},{"name":"Authentication","item":[{"name":"Login","event":[{"listen":"test","script":{"id":"dfc44387-2677-429e-9994-9caa1555a3fb","exec":["if (pm.response.code === 201) {","    var jsonData = pm.response.json();","    pm.collectionVariables.set('jwt_token', jsonData.token);","    pm.environment.set('jwt_token', jsonData.token);","}"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"62f9426f-a124-4a6b-b64f-a106b94fb037","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_id\": \"client-001\",\n  \"client_secret\": \"secret-key-123\"\n}"},"url":"https://api.sales.erp.eigen.co.id/api/v1/auth/login","urlObject":{"path":["api","v1","auth","login"],"host":["https://api.sales.erp.eigen.co.id"],"query":[],"variable":[]}},"response":[],"_postman_id":"62f9426f-a124-4a6b-b64f-a106b94fb037"},{"name":"Refresh Token","id":"9215a561-a24e-44a2-bbbc-c39ea4f41912","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"token\": \"\"\n}"},"url":"https://api.sales.erp.eigen.co.id/api/v1/auth/refresh","urlObject":{"path":["api","v1","auth","refresh"],"host":["https://api.sales.erp.eigen.co.id"],"query":[],"variable":[]}},"response":[],"_postman_id":"9215a561-a24e-44a2-bbbc-c39ea4f41912"},{"name":"Generate Signature","event":[{"listen":"test","script":{"id":"aca0abf1-38e9-4603-a74e-bbf0095ddf6c","exec":["if (pm.response.code === 201) {","    var jsonData = pm.response.json();","    pm.collectionVariables.set('x_signature', jsonData.signature);","    pm.collectionVariables.set('x_timestamp', jsonData.timestamp);","    pm.environment.set('x_signature', jsonData.signature);","    pm.environment.set('x_timestamp', jsonData.timestamp);","}"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"cbcdf341-5e03-4cb0-86be-9e219b99a709","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_id\": \"client-001\",\n  \"private_key\": \"\"\n}"},"url":"https://api.sales.erp.eigen.co.id/api/v1/auth/signature/generate","description":"<p>Dev/test only. Disabled when NODE_ENV=production.  </p>\n<p><strong>WARNING: Generate Signature only available for testing only<br />For production purpose, PLEASE CREATE THIS AT YOUR CODEBASE</strong></p>\n","urlObject":{"path":["api","v1","auth","signature","generate"],"host":["https://api.sales.erp.eigen.co.id"],"query":[],"variable":[]}},"response":[],"_postman_id":"cbcdf341-5e03-4cb0-86be-9e219b99a709"}],"id":"7ceb21bb-96a1-4c46-8416-75e8d3294092","_postman_id":"7ceb21bb-96a1-4c46-8416-75e8d3294092","description":""},{"name":"Sales Orders","item":[{"name":"Create Sales Order V1","event":[{"listen":"prerequest","script":{"exec":["const sig = pm.collectionVariables.get('x_signature') || pm.environment.get('x_signature');","const ts = pm.collectionVariables.get('x_timestamp') || pm.environment.get('x_timestamp');","if (!sig || !ts) {","    const baseUrl = pm.collectionVariables.get('baseUrl') || pm.environment.get('baseUrl');","    const clientId = pm.collectionVariables.get('client_id') || pm.environment.get('client_id');","    const privateKey = pm.collectionVariables.get('private_key') || pm.environment.get('private_key');","    pm.sendRequest({","        url: baseUrl + '/api/v1/auth/signature/generate',","        method: 'POST',","        header: { 'Content-Type': 'application/json' },","        body: {","            mode: 'raw',","            raw: JSON.stringify({ client_id: clientId, private_key: privateKey })","        }","    }, function (err, res) {","        if (err) { console.error(err); return; }","        const data = res.json();","        pm.collectionVariables.set('x_signature', data.signature);","        pm.collectionVariables.set('x_timestamp', data.timestamp);","        pm.environment.set('x_signature', data.signature);","        pm.environment.set('x_timestamp', data.timestamp);","    });","}"],"type":"text/javascript","id":"8131c8ec-e84e-4d5f-9972-f45f2cf20918"}}],"id":"45a62bab-ecb8-4a3c-bff2-af9cb4959a22","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer "},{"key":"X-CLIENT-ID","value":"client-001"},{"key":"X-TIMESTAMP","value":""},{"key":"X-SIGNATURE","value":""}],"body":{"mode":"raw","raw":"{\n  \"customer_code\": \"CUST-001\",\n  \"site_code\": \"P1\",\n  \"sales_name\": \"John Doe\",\n  \"address\": \"Jl. Sudirman No. 1, Jakarta\",\n  \"purchase_order_no\": \"PO-2025-00001\",\n  \"products\": [\n    {\n      \"product_code\": \"PROD-001\",\n      \"quantity\": 2\n    }\n  ]\n}"},"url":"https://api.sales.erp.eigen.co.id/api/v1/sales-orders","urlObject":{"path":["api","v1","sales-orders"],"host":["https://api.sales.erp.eigen.co.id"],"query":[],"variable":[]}},"response":[],"_postman_id":"45a62bab-ecb8-4a3c-bff2-af9cb4959a22"},{"name":"Create Sales Order V2","event":[{"listen":"prerequest","script":{"exec":["const sig = pm.collectionVariables.get('x_signature') || pm.environment.get('x_signature');","const ts = pm.collectionVariables.get('x_timestamp') || pm.environment.get('x_timestamp');","if (!sig || !ts) {","    const baseUrl = pm.collectionVariables.get('baseUrl') || pm.environment.get('baseUrl');","    const clientId = pm.collectionVariables.get('client_id') || pm.environment.get('client_id');","    const privateKey = pm.collectionVariables.get('private_key') || pm.environment.get('private_key');","    pm.sendRequest({","        url: baseUrl + '/api/v1/auth/signature/generate',","        method: 'POST',","        header: { 'Content-Type': 'application/json' },","        body: {","            mode: 'raw',","            raw: JSON.stringify({ client_id: clientId, private_key: privateKey })","        }","    }, function (err, res) {","        if (err) { console.error(err); return; }","        const data = res.json();","        pm.collectionVariables.set('x_signature', data.signature);","        pm.collectionVariables.set('x_timestamp', data.timestamp);","        pm.environment.set('x_signature', data.signature);","        pm.environment.set('x_timestamp', data.timestamp);","    });","}"],"type":"text/javascript","id":"189befe6-c9a4-4547-a436-4ebafea90374"}}],"id":"8823bbad-2c1b-4c24-8805-fb593772cb4e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer "},{"key":"X-CLIENT-ID","value":"client-001"},{"key":"X-TIMESTAMP","value":""},{"key":"X-SIGNATURE","value":""}],"body":{"mode":"raw","raw":"{\n  \"customer_code\": \"CUST-001\",\n  \"site_code\": \"P1\",\n  \"sales_name\": \"John Doe\",\n  \"address\": \"Jl. Sudirman No. 1, Jakarta\",\n  \"purchase_order_no\": \"PO-2025-00002\",\n  \"products\": [\n    {\n      \"product_code\": \"PROD-001\",\n      \"quantity\": 2\n    }\n  ]\n}"},"url":"https://api.sales.erp.eigen.co.id/api/v2/sales-orders","urlObject":{"path":["api","v2","sales-orders"],"host":["https://api.sales.erp.eigen.co.id"],"query":[],"variable":[]}},"response":[],"_postman_id":"8823bbad-2c1b-4c24-8805-fb593772cb4e"}],"id":"a79ee9c5-3ae7-4bc1-b5ba-b7509b1a4651","_postman_id":"a79ee9c5-3ae7-4bc1-b5ba-b7509b1a4651","description":""}],"variable":[{"key":"baseUrl","value":"https://api.sales.erp.eigen.co.id"},{"key":"client_id","value":"client-001"},{"key":"client_secret","value":"secret-key-123"},{"key":"private_key","value":""},{"key":"jwt_token","value":""},{"key":"x_timestamp","value":""},{"key":"x_signature","value":""}]}