Created
July 31, 2021 22:43
-
-
Save martinhbramwell/c7c90828f049457a1ba87bd62c779b8d to your computer and use it in GitHub Desktop.
Postman Collection for Kraken Rest API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"info": { | |
"_postman_id": "d7e3ee8c-fc3b-4aca-bc0b-3f4afc890eb6", | |
"name": "Kraken", | |
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" | |
}, | |
"item": [ | |
{ | |
"name": "Private", | |
"item": [ | |
{ | |
"name": "Balance", | |
"event": [ | |
{ | |
"listen": "prerequest", | |
"script": { | |
"exec": [ | |
"" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"protocolProfileBehavior": { | |
"disableCookies": true | |
}, | |
"request": { | |
"method": "POST", | |
"header": [ | |
{ | |
"key": "API-Sign", | |
"type": "text", | |
"value": "{{api_signature}}" | |
} | |
], | |
"body": { | |
"mode": "urlencoded", | |
"urlencoded": [ | |
{ | |
"key": "nonce", | |
"value": "{{api_nonce}}", | |
"type": "text" | |
} | |
] | |
}, | |
"url": { | |
"raw": "{{Site}}/{{API Version}}/private/Balance", | |
"host": [ | |
"{{Site}}" | |
], | |
"path": [ | |
"{{API Version}}", | |
"private", | |
"Balance" | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "Add Order", | |
"event": [ | |
{ | |
"listen": "test", | |
"script": { | |
"exec": [ | |
"const jsonData = JSON.parse(responseBody);", | |
"console.log('jsonData')", | |
"console.log()", | |
"const lastOrderNumber = jsonData.result.txid[0];", | |
"", | |
"pm.collectionVariables.set('LastOrderNumber', lastOrderNumber)", | |
"" | |
], | |
"type": "text/javascript" | |
} | |
}, | |
{ | |
"listen": "prerequest", | |
"script": { | |
"exec": [ | |
"" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"protocolProfileBehavior": { | |
"disableCookies": true, | |
"disableUrlEncoding": false | |
}, | |
"request": { | |
"method": "POST", | |
"header": [ | |
{ | |
"key": "API-Sign", | |
"type": "text", | |
"value": "{{api_signature}}" | |
}, | |
{ | |
"key": "Ticket", | |
"value": " 6011748", | |
"type": "text" | |
} | |
], | |
"body": { | |
"mode": "urlencoded", | |
"urlencoded": [ | |
{ | |
"key": "nonce", | |
"value": "{{api_nonce}}", | |
"type": "text" | |
}, | |
{ | |
"key": "pair", | |
"value": "UNIETH", | |
"type": "text" | |
}, | |
{ | |
"key": "type", | |
"value": "buy", | |
"type": "text" | |
}, | |
{ | |
"key": "ordertype", | |
"value": "limit", | |
"type": "text" | |
}, | |
{ | |
"key": "price", | |
"value": "0.0083", | |
"type": "text" | |
}, | |
{ | |
"key": "volume", | |
"value": "1", | |
"type": "text" | |
}, | |
{ | |
"key": "close[ordertype]", | |
"value": "stop-loss-limit", | |
"type": "text" | |
}, | |
{ | |
"key": "close[price]", | |
"value": "0.0082", | |
"type": "text" | |
}, | |
{ | |
"key": "close[price2]", | |
"value": "0.00815", | |
"type": "text" | |
}, | |
{ | |
"key": "validate", | |
"value": "true", | |
"type": "text", | |
"disabled": true | |
} | |
] | |
}, | |
"url": { | |
"raw": "https://api.kraken.com/0/private/AddOrder", | |
"protocol": "https", | |
"host": [ | |
"api", | |
"kraken", | |
"com" | |
], | |
"path": [ | |
"0", | |
"private", | |
"AddOrder" | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "Open Orders", | |
"event": [ | |
{ | |
"listen": "prerequest", | |
"script": { | |
"exec": [ | |
"" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"protocolProfileBehavior": { | |
"disableCookies": true | |
}, | |
"request": { | |
"method": "POST", | |
"header": [ | |
{ | |
"key": "API-Sign", | |
"type": "text", | |
"value": "{{api_signature}}" | |
} | |
], | |
"body": { | |
"mode": "urlencoded", | |
"urlencoded": [ | |
{ | |
"key": "nonce", | |
"value": "{{api_nonce}}", | |
"type": "text" | |
} | |
] | |
}, | |
"url": { | |
"raw": "{{Site}}/{{API Version}}/private/OpenOrders", | |
"host": [ | |
"{{Site}}" | |
], | |
"path": [ | |
"{{API Version}}", | |
"private", | |
"OpenOrders" | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "Cancel Order", | |
"event": [ | |
{ | |
"listen": "test", | |
"script": { | |
"exec": [ | |
"" | |
], | |
"type": "text/javascript" | |
} | |
}, | |
{ | |
"listen": "prerequest", | |
"script": { | |
"exec": [ | |
"" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"protocolProfileBehavior": { | |
"disableCookies": true, | |
"disableUrlEncoding": false | |
}, | |
"request": { | |
"method": "POST", | |
"header": [ | |
{ | |
"key": "API-Sign", | |
"type": "text", | |
"value": "{{api_signature}}" | |
}, | |
{ | |
"key": "Ticket", | |
"value": " 6011748", | |
"type": "text" | |
} | |
], | |
"body": { | |
"mode": "urlencoded", | |
"urlencoded": [ | |
{ | |
"key": "nonce", | |
"value": "{{api_nonce}}", | |
"type": "text" | |
}, | |
{ | |
"key": "txid", | |
"value": "OGNQUE-TUUAL-RDNR6Z", | |
"type": "text" | |
} | |
] | |
}, | |
"url": { | |
"raw": "https://api.kraken.com/0/private/CancelOrder", | |
"protocol": "https", | |
"host": [ | |
"api", | |
"kraken", | |
"com" | |
], | |
"path": [ | |
"0", | |
"private", | |
"CancelOrder" | |
] | |
} | |
}, | |
"response": [] | |
}, | |
{ | |
"name": "Closed Orders", | |
"event": [ | |
{ | |
"listen": "prerequest", | |
"script": { | |
"exec": [ | |
"" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"protocolProfileBehavior": { | |
"disableCookies": true | |
}, | |
"request": { | |
"method": "POST", | |
"header": [ | |
{ | |
"key": "API-Sign", | |
"type": "text", | |
"value": "{{api_signature}}" | |
} | |
], | |
"body": { | |
"mode": "urlencoded", | |
"urlencoded": [ | |
{ | |
"key": "nonce", | |
"value": "{{api_nonce}}", | |
"type": "text" | |
} | |
] | |
}, | |
"url": { | |
"raw": "{{Site}}/{{API Version}}/private/ClosedOrders", | |
"host": [ | |
"{{Site}}" | |
], | |
"path": [ | |
"{{API Version}}", | |
"private", | |
"ClosedOrders" | |
] | |
} | |
}, | |
"response": [] | |
} | |
], | |
"event": [ | |
{ | |
"listen": "prerequest", | |
"script": { | |
"type": "text/javascript", | |
"exec": [ | |
"const private = postman.getEnvironmentVariable(\"PKey\");", | |
"// console.log(\"stopLossLimit = \" + stopLossLimit)", | |
"", | |
"let api_body_string = '';", | |
"let sep = '';", | |
"function reformat(elem) {", | |
" if (! elem.disabled) {", | |
" api_body_string += sep + encodeURIComponent(elem.key) + '=' + elem.value;", | |
" sep = '&';", | |
" }", | |
"}", | |
"", | |
"function visible() {", | |
" console.log('visible')", | |
"}", | |
"", | |
"const api_secret = CryptoJS.enc.Base64.parse(private);", | |
"const api_nonce = (Date.now() * 1000).toString();", | |
"const api_endpoint = \"/0/private/\" + pm.request.url.path[2];", | |
"", | |
"const api_body = pm.request.body.urlencoded", | |
"// console.log(api_body)", | |
"api_body.upsert({key: 'nonce', value: api_nonce})", | |
"api_body.each(reformat);", | |
"console.log(api_body_string)", | |
"", | |
"api_sha256 = CryptoJS.SHA256(api_nonce + api_body_string);", | |
"api_sign = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA512, api_secret);", | |
"api_sign.update(api_endpoint, api_secret);", | |
"api_sign.update(api_sha256, api_secret);", | |
"api_sign = api_sign.finalize().toString(CryptoJS.enc.Base64);", | |
"", | |
"pm.globals.set(\"api_nonce\", api_nonce);", | |
"pm.globals.set(\"api_signature\", api_sign);", | |
"" | |
] | |
} | |
}, | |
{ | |
"listen": "test", | |
"script": { | |
"type": "text/javascript", | |
"exec": [ | |
"" | |
] | |
} | |
} | |
] | |
}, | |
{ | |
"name": "Public", | |
"item": [ | |
{ | |
"name": "All Assets", | |
"event": [ | |
{ | |
"listen": "prerequest", | |
"script": { | |
"exec": [ | |
"" | |
], | |
"type": "text/javascript" | |
} | |
} | |
], | |
"protocolProfileBehavior": { | |
"disableCookies": true | |
}, | |
"request": { | |
"auth": { | |
"type": "noauth" | |
}, | |
"method": "GET", | |
"header": [], | |
"url": { | |
"raw": "{{Site}}/{{API Version}}/public/Assets", | |
"host": [ | |
"{{Site}}" | |
], | |
"path": [ | |
"{{API Version}}", | |
"public", | |
"Assets" | |
] | |
} | |
}, | |
"response": [] | |
} | |
], | |
"auth": { | |
"type": "noauth" | |
}, | |
"event": [ | |
{ | |
"listen": "prerequest", | |
"script": { | |
"type": "text/javascript", | |
"exec": [ | |
"" | |
] | |
} | |
}, | |
{ | |
"listen": "test", | |
"script": { | |
"type": "text/javascript", | |
"exec": [ | |
"" | |
] | |
} | |
} | |
] | |
} | |
], | |
"auth": { | |
"type": "apikey", | |
"apikey": [ | |
{ | |
"key": "key", | |
"value": "API-Key", | |
"type": "string" | |
}, | |
{ | |
"key": "value", | |
"value": "{{api_key}}", | |
"type": "string" | |
} | |
] | |
}, | |
"event": [ | |
{ | |
"listen": "prerequest", | |
"script": { | |
"type": "text/javascript", | |
"exec": [ | |
"" | |
] | |
} | |
}, | |
{ | |
"listen": "test", | |
"script": { | |
"type": "text/javascript", | |
"exec": [ | |
"" | |
] | |
} | |
} | |
], | |
"variable": [ | |
{ | |
"key": "Site", | |
"value": "https://api.kraken.com" | |
}, | |
{ | |
"key": "API Version", | |
"value": "0" | |
}, | |
{ | |
"key": "LastOrderNumber", | |
"value": "" | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment