lamassu-server/lamassu-schema.json
2016-12-20 14:23:00 +02:00

429 lines
9.6 KiB
JSON

{
"groups": [
{
"code": "fiat",
"display": "Fiat currencies",
"cryptoScope": "global",
"machineScope": "global",
"fields": [
"fiatCurrency"
]
},
{
"code": "commissions",
"display": "Commissions",
"cryptoScope": "both",
"machineScope": "both",
"fields": [
"cashInCommission",
"cashOutCommission",
"lowBalanceMargin",
"zeroConfLimit"
]
},
{
"code": "cryptoServices",
"display": "Crypto services",
"cryptoScope": "specific",
"machineScope": "global",
"fields": [
"ticker",
"wallet",
"exchange"
]
},
{
"code": "machineSettings",
"display": "Machine settings",
"cryptoScope": "global",
"machineScope": "both",
"fields": [
"machineLanguages",
"cryptoCurrencies",
"topCashOutDenomination",
"bottomCashOutDenomination",
"virtualCashOutDenomination",
"emptyBillMargin"
]
},
{
"code": "compliance",
"display": "Compliance",
"cryptoScope": "global",
"machineScope": "both",
"fields": [
"cashInTransactionLimit",
"cashOutTransactionLimit",
"smsVerificationEnabled",
"idVerificationEnabled",
"idVerifier",
"idVerificationLimit"
]
},
{
"code": "machines",
"display": "Machines",
"cryptoScope": "global",
"machineScope": "specific",
"fields": [
"cashOutEnabled",
"machineLocation"
]
},
{
"code": "notifications",
"display": "Notifications",
"cryptoScope": "global",
"machineScope": "global",
"fields": [
"notificationsEnabled",
"notificationsEmailEnabled",
"notificationsSMSEnabled",
"sms",
"email",
"lowBalanceThreshold"
]
}
],
"fields": [
{
"code": "cashInCommission",
"displayTop": "Commissions",
"displayTopCount": 2,
"displayBottom": "Cash-in",
"fieldType": "percentage",
"fieldClass": null,
"cryptoScope": "both",
"machineScope": "both",
"fieldValidation": [
{
"code": "required"
},
{
"code": "min",
"min": 0
}
]
},
{
"code": "cashOutCommission",
"displayBottom": "Cash-out",
"displayTopCount": 0,
"fieldType": "percentage",
"fieldClass": null,
"cryptoScope": "both",
"machineScope": "both",
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": [{"code": "required"}]
},
{
"code": "lowBalanceMargin",
"displayTop": "Low balance",
"displayBottom": "Margin",
"fieldType": "percentage",
"fieldClass": null,
"cryptoScope": "both",
"machineScope": "both",
"fieldValidation": [{"code": "required"}],
"default": 5
},
{
"code": "zeroConfLimit",
"displayTop": "0-conf",
"displayBottom": "Limit",
"fieldType": "integer",
"fieldClass": "fiat",
"cryptoScope": "both",
"machineScope": "both",
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": [{"code": "required"}]
},
{
"code": "ticker",
"displayBottom": "Ticker",
"fieldType": "account",
"fieldClass": "ticker",
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "wallet",
"displayBottom": "Wallet",
"fieldType": "account",
"fieldClass": "wallet",
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "exchange",
"displayBottom": "Exchange",
"fieldType": "account",
"fieldClass": "exchange",
"fieldValidation": []
},
{
"code": "fiatCurrency",
"displayBottom": "Fiat Currency",
"fieldType": "fiatCurrency",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "machineLanguages",
"displayBottom": "Languages",
"fieldType": "language",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
],
"default": ["en-US"]
},
{
"code": "cryptoCurrencies",
"displayBottom": "Crypto Currencies",
"fieldType": "cryptoCurrency",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
],
"default": ["BTC"]
},
{
"code": "topCashOutDenomination",
"displayTop": "Cash-out denominations",
"displayBottom": "Top",
"displayTopCount": 3,
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": [{"code": "required"}]
},
{
"code": "bottomCashOutDenomination",
"displayBottom": "Bottom",
"displayTopCount": 0,
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": [{"code": "required"}]
},
{
"code": "virtualCashOutDenomination",
"displayBottom": "Virtual",
"displayTopCount": 0,
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": [{"code": "required"}]
},
{
"code": "emptyBillMargin",
"displayTop": "Empty bill",
"displayBottom": "Margin",
"fieldType": "integer",
"fieldClass": "banknotes",
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": [{"code": "required"}],
"default": 0
},
{
"code": "cashInTransactionLimit",
"displayTop": "Tx limits",
"displayBottom": "Cash-in",
"displayTopCount": 2,
"fieldType": "integer",
"fieldClass": "fiat",
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "cashOutTransactionLimit",
"displayBottom": "Cash-out",
"displayTopCount": 0,
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": [{"code": "required"}]
},
{
"code": "smsVerificationEnabled",
"displayTop": "Verifications enabled",
"displayBottom": "SMS",
"displayTopCount": 2,
"fieldType": "onOff",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
],
"default": false
},
{
"code": "idVerificationEnabled",
"displayBottom": "ID",
"displayTopCount": 0,
"fieldType": "onOff",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
],
"default": false
},
{
"code": "idVerifier",
"displayTop": "ID verification",
"displayTopCount": 2,
"displayBottom": "Service",
"fieldType": "account",
"fieldClass": "idVerifier",
"enabledIf": [
"idVerificationEnabled"
],
"fieldValidation": [{"code": "required"}]
},
{
"code": "idVerificationLimit",
"displayBottom": "Limit",
"displayTopCount": 0,
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"idVerificationEnabled"
],
"fieldValidation": [{"code": "required"}]
},
{
"code": "cashOutEnabled",
"displayBottom": "Cash Out",
"fieldType": "onOff",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
],
"default": false
},
{
"code": "machineLocation",
"displayBottom": "Location",
"fieldType": "string",
"fieldClass": null,
"fieldValidation": []
},
{
"code": "notificationsEnabled",
"displayTop": "Notifications enabled",
"displayBottom": "General",
"displayTopCount": 3,
"fieldType": "onOff",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
],
"default": false
},
{
"code": "notificationsEmailEnabled",
"displayBottom": "Email",
"displayTopCount": 0,
"fieldType": "onOff",
"fieldClass": null,
"enabledIf": [
"notificationsEnabled"
],
"fieldValidation": [
{
"code": "required"
}
],
"default": false
},
{
"code": "notificationsSMSEnabled",
"displayBottom": "SMS",
"displayTopCount": 0,
"fieldType": "onOff",
"fieldClass": null,
"enabledIf": [
"notificationsEnabled"
],
"fieldValidation": [
{
"code": "required"
}
],
"default": false
},
{
"code": "sms",
"displayTop": "Gateways",
"displayBottom": "SMS",
"displayTopCount": 2,
"fieldType": "account",
"fieldClass": "sms",
"enabledIf": [
"notificationsSMSEnabled",
"cashOutEnabled"
],
"fieldValidation": [{"code": "required"}]
},
{
"code": "email",
"displayBottom": "Email",
"displayTopCount": 0,
"fieldType": "account",
"fieldClass": "email",
"enabledIf": [
"notificationsEmailEnabled"
],
"fieldValidation": [{"code": "required"}]
},
{
"code": "lowBalanceThreshold",
"displayBottom": "Low Balance Threshold",
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"notificationsEnabled"
],
"fieldValidation": [{"code": "required"}]
}
]
}