Wallet Manager API
The Wallet Manager API that serves for creating and managing Your wallet:
- Registration and account management
- Cryptocurrency buy/sell orders
- Working with external wallets
- Ability to update rate information
- HTTP
4XX
return codes are used for malformed requests;the issue is on the sender's side. - HTTP
400
return code is used when the WAF Limit (Web Application Firewall) has been violated. - HTTP
404
return code is used when requested data not found. - HTTP
408
return code is used when request timeout exceeded. - HTTP
5XX
return codes are used for internal errors; the issue is onZam's side.It is important to NOT treat this as a failure operation; the execution status isUNKNOWN and could have been a success. - HTTP
500
return code is used when internal server error occured. - HTTP
503
return code is used when requested service is unreachable.
- Any endpoint can return an ERROR
Sample Payload below:
{
"meta": {
"status": "OK",
"message": "ERROR - Authorization error"
},
"data": {}
}
The response always consist of two objects
meta
and data
.The
meta
object has two parameters status
that could be "OK"
or "ERROR"
and message
with status describtion values: "SUCCESS"
"Not found"
and etc.. data
object will contain either no object or response's payload.The API contains wallet management methods such as account administration, ordering transactions, adding/deleting external wallets and etc..
New user registration request.
Request type and URL:
POST https://zam.io/api/auth
Request parameters:
Name | Type | Description |
phone | STRING | User’s phone number. Should contain at least 10 characters. |
fullName | STRING | User’s full name(Surname, Name, Patronymic/Middle Name). |
refCode | STRING | The referral code that user received if was invited. |
codeRequest | OBJECT | Subrequest for number verification. Contains “phone” field that was mentioned above. |
Request example:
{
"phone": "0647744360",
"fullName": "Name Surname",
"refCode": "{referral code}",
"codeRequest":
{
"phone": "0647744360"
}
}
Response parameters:
Name | Type | Description |
passportMessage | STRING | Passport phrase. |
agreement | OBJECT | An agreement object that consist of parameters describet below. |
id | STRING | UUID of agreement document. Example: 173e4567-e89b-12d3-a456-426624174000 . |
name | STRING | The agreement file name. |
url | STRING | The agreement file's URL. |
Response example:
{
"meta":
{
"status": "OK",
"message": "Success"
},
"data":
{
"passportMessage": "Passport phrase",
"agreement":
{
"id": "173e4567-e89b-12d3-a456-426624174000",
"name": "Security agreement",
"url": "/api/auth/documents/173e4567-e89b-12d3-a456-426614174000"
}
}
}
Simple password change request.
Request type and URL:
POST https://zam.io/api/auth/change
Request parameters:
Name | Type | Description |
oldPassword | STRING | Old password's hash. |
newPassword | STRING | New password's hash. |
Request example:
{
"oldPassword": "839a54bf20626e4942bc8f11873f0654",
"newPassword": "fb29ed3264c5a92bcf74eccd7489e828"
}
Response example:
{
"meta":
{
"status": "OK",
"message": "Success"
}
}
Security agreement for user to accept.
Request type and URL:
GET https://zam.io/api/auth/documents/:documentId
The response returns security agreement file to download.
Request to delete authorized account.
Request type and URL:
DELETE https://zam.io/api/auth/delete
Response example:
{
"meta": {
"status": "OK",
"message": "Success"
},
"data": {}
}
Request for Zam wallet's private key generation
Request type and URL:
GET https://zam.io/api/auth/privateKey
Response parameters:
Name | Type | Description |
privateKey | STRING | Zam wallet's private key. |
Response example:
{
"meta": {
"status": "OK",
"message": "Success"
},
"data": {
"privateKey": "bd0c8e3bd998a500b0984584a7245ca0"
}
}
Request for authorization token.
Request type and URL:
POST https://zam.io/api/auth/token
Request parameters:
Name | Type | Description |
token | STRING | Last expired token. |
deviceId | STRING | Device’s UUID. |
login | STRING | User’s login. |
password | STRING | Hash of user’s password. |
Request example:
{
"token": "94a08da1fecbb6e8b46990538c7b50b2",
"deviceId": "123e4567-e89b-12d3-a456-426614174000",
"login": "UserName",
"password": "fb29ed3264c5a92bcf74eccd7489e828"
}
Response parameters:
Name | Type | Description |
token | STRING | Last expired token. |
agreement | OBJECT | An object with three parameters described. |
id | STRING | UUID of agreement document. Example: 173e4567-e89b-12d3-a456-426624174000 . |
name | STRING | The agreement file name. |
url | STRING | The agreement file's URL. |
Response example:
{
"meta": {
"status": "OK",
"message": "Success"
},
"data": {
"token": "94a08da1fecbb6e8b46990538c7b50b2",
"agreement": {
"id": "173e4567-e89b-12d3-a456-426624174000",
"name": "Security agreement",
"url": "/api/auth/documents/173e4567-e89b-12d3-a456-426614174000"
}
}
}
Request for transaction order to buy/sell cryptocurrency. Headers of request are described below Here should be table
Request parameters:
Name | Type | Description | Example |
priority | STRING | Transaction priority (default value - MEDIUM, optional - TOP). | MEDIUM |
blockchainFrom | STRING | Source platform name. | Binance |
blockchainTo | STRING | Destination platform name. | Binance |
addressContractFrom | STRING | Contract adrress on source wallet. | |
addressContractTo | STRING | Contract address on destiantion wallet. | |
adressFrom | STRING | Soruce wallet address. | cosmos18ta688t40kmped54stvdgvgrazmyh0zqwhmhf5 |
addressTo | STRING | Destionation wallet address. | 12PUTiN2VjQQzkmSNU7AauHNrQSuadbmhH |
currency | STRING | Cryptocurrency shortname. | BTC |
amount | STRING | Cryptrocurrency amount. | 3.45 |
dateCreate | STRING | Order creation date:time. | 1947-04-26T15:41:07.646Z |
Request type and URL:
GET https://zam.io/api/order?priority=MEDIUM&blockchainFrom=string&blockchainTo=string&addressContractFrom=string&addressContractTo=string&adressFrom=string&addressTo=string&amount=string&paymentRestrictionTransaction=string
Response parameters:
Name | Type | Description |
blockchainFrom | STRING | Source platform name |
blockchainTo | STRING | Destination platform name. |
addressTo | STRING | Destionation wallet address. |
amount | STRING | Cryptrocurrency amount. |
dateCreate | STRING | Order creation date:time. |
addressContractFrom | STRING | Contract adrress on source wallet. |
addressContractTo | STRING | Contract address on destiantion wallet. |
adressFrom | STRING | Soruce wallet address. |
currency | STRING | Cryptocurrency shortname. |
Response example:
{
"meta": {
"status": "OK",
"message": "Success"
},
"data": {
"blockchainFrom": "",
"blockchainTo": "",
"addressTo": "",
"amount": "34.00",
"dateCreate": "1947-04-26T15:41:07.646Z",
"addressContractFrom": "",
"addressContractTo": "",
"adressFrom": "",
"currency": "USD"
}
}
The buy operation that follows after receiving transaction order.
Request parameters:
Name | Type | Description | Example |
priority | STRING | Transaction priority (default value - MEDIUM, optional - TOP). | MEDIUM |
blockchainTo | STRING | Destination platform name. | Binance |
addressContractTo | STRING | Contract address on destiantion wallet. | |
addressTo | STRING | Destionation wallet address. | 12PUTiN2VjQQzkmSNU7AauHNrQSuadbmhH |
currency | STRING | Cryptocurrency shortname. | BTC |
amount | STRING | Cryptrocurrency amount. | 3.45 |
dateCreate | STRING | Order creation date:time. | 1947-04-26T15:41:07.646Z |
order | STRING | Reference to transaction order for payment. | |
Request type and URL:
PUT https://zam.io/api/order/purchase?priority=MEDIUM&blockchainTo=string&addressContractTo=string&addressTo=string&amount=string&paymentRestrictionTransaction=string
Response parameters:
Name | Type | Description |
blockchainTo | STRING | Destination platform name. |
addressTo | STRING | Destionation wallet address. |
amount | STRING | Cryptrocurrency amount. |
dateCreate | STRING | Order creation date:time. |
order | STRING | Reference to transaction order for payment. |
addressContractTo | STRING | Contract address on destiantion wallet. |
currency | STRING | Cryptocurrency shortname. |
Response example:
{
"meta": {
"status": "OK",
"message": "Success"
},
"data": {
"blockchainTo": "",
"addressTo": "",
"amount": "34.00",
"dateCreate": "1947-04-26T15:41:07.646Z",
"order": "",
"addressContractTo": "",
"currency": "USD"
}
}
The sell operation that follows after receiving transaction order. FPS - Fast Payment System
Request type and URL:
PUT https://zam.io/api/order/sale?priority=MEDIUM&blockchainFrom=string&blockchainTo=string&addressContractFrom=string&addressContractTo=string&adressFrom=string&addressTo=string&amount=string&paymentRestrictionTransaction=string
Request parameters:
Name | Type | Description |
spbPhone1 | STRING | Phone number registered on FPS. |
spbName1 | STRING | Full name registered on on FPS. |
visaCardNumber2 | STRING | 16 digit card number. |
visaName2 | STRING | Fullname of card holder. |
masterCardNumber3 | STRING | 16 digit card number. |
bankAccountPaymentAccount4 | STRING | |
bankAccountBIK4 | STRING | |
bankAccountName4 | STRING | |
Request example:
{
"spbPhone1": "",
"spbName1": "",
"visaCardNumber2": "0000 0000 0000 0000",
"visaName2": "Name Surname",
"masterCardNumber3": "0000 0000 0000 0000",
"masterName3": "Name Surname",
"bankAccountPaymentAccount4": "",
"bankAccountBIK4": "",
"bankAccountName4": ""
}
Response parameters:
Name | Type | Description |
priority | STRING | Transaction priority (default value - MEDIUM, optional - TOP). |
blockchainFrom | STRING | Source platform name. |
blockchainTo | STRING | Destination platform name. |
addressTo | STRING | Destionation wallet address. |
amount | STRING | Cryptrocurrency amount. |
dateCreate | STRING | Order creation date:time. |
addressContractFrom | STRING | Contract adrress on source wallet. |
addressContractTo | STRING | Contract address on destiantion wallet. |
adressFrom | STRING | Soruce wallet address. |
currency | STRING | Cryptocurrency shortname. |
Response example:
{
"meta": {
"status": "OK",
"message": "Success"
},
"data": {
"blockchainFrom": "",
"blockchainTo": "",
"addressTo": "",
"amount": "34.00",
"dateCreate": "1947-04-26T15:41:07.646Z",
"addressContractFrom": "",
"addressContractTo": "",
"adressFrom": "",
"currency": "USD"
}
}
Request for adding external wallet.
Request type and URL:
POST https://zam.io/api/otherCrypto
Request parameters:
Name | Type | Description |
blockchain | STRING | Platform name. |
addressContract | STRING | Wallet’s contract address. |
adress | STRING | Wallet's adress. |
Request example:
{
"blockchain": "Zam",
"addressContract": "",
"adress": ""
}
Response example:
{
"meta": {
"status": "OK",
"message": "Success"
},
"data": {}
}
Request to disable external wallet. Headers are described below.
Request parameters:
Name | Type | Description |
blockchain | STRING | Platform name. |
addressContract | STRING | Wallet’s contract address. |
adress | STRING | Wallet's adress. |
Request type and URL:
DELETE https://zam.io/api/otherCrypto?blockchain=string&addressContract=string&address=string
Response example:
{
"meta": {
"status": "OK",
"message": "Success"
},
"data": {}
}
Request for top 50 crypto currencies with currency to Zam/dollar rate.
Request type and URL:
GET https://zam.io/api/rate
Response is an object array of currencies' describtions and rate data. Parameters:
Name | Type | Description |
blockchain | STRING | Platform name. |
address | STRING | Wallet's adress. |
currency | STRING | Cryptocurrency shortname. |
rateToDollar | STRING | Rate to dollar. |
rateToZam | STRING | Rate to Zam. |
amount | STRING | Cryptrocurrency amount. |
dateCreate | STRING | Date:time of exchange rate actualization. |
addressContract | STRING | Wallet’s contract address. |
Response example:
{
"meta": {
"status": "OK",
"message": "Success"
},
"data": [
{
"blockchain": "BTC",
"address": "",
"currency": "BTC",
"rateToDollar": "100000.00",
"rateToZam": "0.5",
"amount": "34.5",
"dateRate": "1947-04-26T15:41:07.646Z",
"addressContract": ""
},
{
"blockchain": "ETH",
"address": "",
"currency": "BTC",
"rateToDollar": "200",
"rateToZam": "0.005",
"amount": "34.5",
"dateRate": "1947-04-26T15:41:07.646Z",
"addressContract": ""
}
]
}
Gets rate to dollar. Headers are described below.
Request parameters:
Name | Type | Description |
currency | STRING | Cryptocurrency shortname. |
blockchain | STRING | Platform name. |
addressContract | STRING | Wallet’s contract address. |
Request type and URL:
GET https://zam.io/api/rate/dollar?currency=string&blockchain=string&addressContract=string
Response parameters:
Name | Type | Description |
blockchain | STRING | Platform name. |
address | STRING | Wallet's adress. |
currency | STRING | Cryptocurrency shortname. |
rateToDollar | STRING | Rate to dollar. |
rateToZam | STRING | Rate to Zam. |
amount | STRING | Cryptrocurrency amount. |
dateCreate | STRING | Date:time of exchange rate actualization. |
addressContract | STRING | Wallet’s contract address. |
Response example:
{
"meta": {
"status": "OK",
"message": "Success"
},
"data":{
"blockchain": "ETH",
"address": "",
"currency": "BTC",
"rateToDollar": "200",
"rateToZam": "0.005",
"amount": "34.5",
"dateRate": "1947-04-26T15:41:07.646Z",
"addressContract": ""
}
}