MtGox/API/HTTP/v2: Difference between revisions
HamNotEggs (talk | contribs) →Documentation: trying to clear up things a bit |
|||
Line 13: | Line 13: | ||
* The '''URL''' is now something along the lines of BTCUSD/money/order/add instead of BTCUSD/private/order/add in api1. All current known methods are found in the money category. | * The '''URL''' is now something along the lines of BTCUSD/money/order/add instead of BTCUSD/private/order/add in api1. All current known methods are found in the money category. | ||
* The ''requested path'' must now be included when you compute your '''hashed signature (Rest-Sign)''' for added security.<br><br> In version 1, Rest-Sign is created through base64-encoding the 256-digest HMAC hashing of your post data (which of course must include your nonce) with your API secret, previously base64 decoded. Now in version 2, you must simply add ''before'' your post data the relative path you are requesting (anything after the /api/2/ base, ie: BTCUSD/money/ticker), concatenated with a NUL character (ASCII code 0). So the signature is now made starting from your relative path + NUL character + post data (which must include your nonce!). | * The ''requested path'' must now be included when you compute your '''hashed signature (Rest-Sign)''' for added security.<br><br> In version 1, Rest-Sign is created through base64-encoding the 256-digest HMAC hashing of your post data (which of course must include your nonce) with your API secret, previously base64 decoded. Now in version 2, you must simply add ''before'' your post data the relative path you are requesting (anything after the /api/2/ base, ie: BTCUSD/money/ticker), concatenated with a NUL character (ASCII code 0). So the signature is now made starting from your relative path + NUL character + post data (which must include your nonce!). | ||
* fast ticker | |||
http://data.mtgox.com/api/2/BTCUSD/money/ticker_fast | |||
and | |||
http://data.mtgox.com/api/2/BTCUSD/money/ticker_fast?pretty | |||
=== Explanation of Methods === | === Explanation of Methods === |
Revision as of 00:18, 26 May 2013
API Version 2:
The V2 API URL is:
Documentation
Unofficial documentation (So far the best we have) is provided at : https://bitbucket.org/nitrous/mtgox-api/overview (The bitcointalk forum link is: https://bitcointalk.org/index.php?topic=164404.0 )
Official docs are on: https://github.com/MtGox/mtgox-doc
Differences between v1 and v2:
- The URL is now something along the lines of BTCUSD/money/order/add instead of BTCUSD/private/order/add in api1. All current known methods are found in the money category.
- The requested path must now be included when you compute your hashed signature (Rest-Sign) for added security.
In version 1, Rest-Sign is created through base64-encoding the 256-digest HMAC hashing of your post data (which of course must include your nonce) with your API secret, previously base64 decoded. Now in version 2, you must simply add before your post data the relative path you are requesting (anything after the /api/2/ base, ie: BTCUSD/money/ticker), concatenated with a NUL character (ASCII code 0). So the signature is now made starting from your relative path + NUL character + post data (which must include your nonce!).
- fast ticker
http://data.mtgox.com/api/2/BTCUSD/money/ticker_fast
and
http://data.mtgox.com/api/2/BTCUSD/money/ticker_fast?pretty
Explanation of Methods
BTCUSD/money/order/quote
<@MagicalTux> it estimate the result of running an order at a given price based on market depth
BTCUSD/money/ticker_fast
Solves the problem of ticker lag. (supposedly)
Code Examples:
Java:
https://github.com/adv0r/mtgox-api-v2-java Java lib for API V2, under development
C# :
https://bitbucket.org/pipe2grep/cryptocoinxchange C# lib for V2 API and socketIO
Python v 2.7.3
http://pastebin.com/aXQfULyq - Remove any proprietary unlock_api_key stuff. You'll need json_ascii also. Works on API 0/1/2. Link to git-repo: genbtc's trader.python
Perl
https://en.bitcoin.it/wiki/MtGox/API/HTTP#PHP The Perl example on the main page is compatible with v2