Categorias:

API for online information submission | Blog


When you function a bitcoin ATM or a teller service listed on our web site, you’ll be able to report on-line info to be displayed on our web site, which at the moment consists of the next (however shall be broaden sooner or later):

  • On-line / offline standing of your ATM, Teller;
  • Present worth and costs at your location for purchase and promote transactions;
  • Limits and verifications (will be overwritten within the itemizing settings immediately with a extra detailed info, however primary data like limits per transaction / day by day limits will be reported and displayed through API as nicely).

This API is a substitute for an older model, which was described right here:
https://coinatmradar.com/weblog/recommended-api-for-bitcoin-atm-online-rates/

The knowledge will be reported by a so referred to as ATM producer (for various operators who use their answer), or by a specific operator, if you happen to don’t use any normal answer, e.g. you use your individual ATM software program, or run personal community of teller places.

In an effort to submit info it is advisable to have two items of data:

  • API supplier / operator key
  • Finish level URL, the place you will have to submit info.

To obtain them, please contact our help workforce at [email protected]

API Construction Overview

The API must be despatched as a JSON POST request with the next information construction:

{
	"providerId": "XXXX",
	"apiTimestamp": "UNIX",
	"places": [{
		"operatorId": "XXXX",
		"locationId": "unique ID",
		"lastReportedTime": "UNIX",
		"manufacturer": "XXXX",
		"model": "XXXX",
		"address": {
			"street": "XXXX",
			"city": "XXXX",
			"region": "XXXX",
			"postalCode": "XXXX",
			"country": "Alpha-2 code ISO 3166-1",
			"latitude": "123",
			"longitude": "123"
		},
		"business": {
			"name": "XXXX",
			"url": "XXXX",
			"phone": "123",
			"hours": "XXXX"
		},
		"status": {
			"isEnabled": 1/0,
			"cashInEnabled": 1/0,
			"cashOutEnabled": 1/0,
			"lastOnlineTime": "UNIX"
		},
		"mainFiatCurrencyCode": "ISO 4217 3-letter code",
		"mainFiatCurrencySymbol": "X",
		"fiatCurrencies": [{
			"fiatCode": "ISO",
			"cashIn": 1/0,
			"cashOut": 1/0
		},
		...],
		"cryptoCurrencies": [{
			"cryptoCode": "ISO",
			"cashIn": 1/0,
			"cashOut": 1/0,
			"tieredPricing": 1/0,
			"general": {
				"cashInFee": "%",
				"cashOutFee": "%",
				"cashInPirce": "123",
				"cashOutPrice": "123",
				"cashInFixedFee": "123",
				"cashOutFixedFee": "123"
			},
			"tiers": [{
				"amountFrom": "123",
				"amountTo": "123",
				"cashInFee": "%",
				"cashOutFee": "%",
				"cashInPirce": "123",
				"cashOutPrice": "123",
				"cashInFixedFee": "123",
				"cashOutFixedFee": "123"
			},
			...]
		},
		...],
		"cashBoxes": [{
			"boxName": "XXXX",
			"fiatCode": "ISO",
			"type": "In/Out/InOut",
			"amount": "123"
		},
		...],
		"limits": {
			"cashInMinAmt": "123",
			"cashOutMinAmt": "123",
			"cashInTxLimitUnregistered": "123",
			"cashInDailyLimitUnregistered": "123",
			"cashInLifeLimitUnregistered": "123",
			"cashOutTxLimitUnregistered": "123",
			"cashOutdailyLimitUnregistered": "123",
			"cashOutLifeLimitUnregistered": "123",
			"cashInTxLimitRegistered": "123",
			"cashInDailyLimitRegistered": "123",
			"cashInLifeLimitRegistered": "123",
			"cashOutTxLimitRegistered": "123",
			"cashOutdailyLimitRegistered": "123",
			"cashOutLifeLimitRegistered": "123"
		},
		"verifications": [{
			"amountFrom": "123",
			"amountTo": "123",
			"unregistered": 1/0,
			"name": 1/0,
			"dob": 1/0,
			"sms": 1/0,
			"idScan": 1/0,
			"ssn": 1/0,
			"photoId": 1/0,
			"proofOfFunds": 1/0,
			"proofOfResidence": 1/0,
			"enhanced": 1/0
		},
		...]
		
	},
	...]
}

For the aim of description there are two sorts of transactions:

  • Purchase transaction (means a buyer buys cryptocurrency and pays in money). These transactions are additionally referred as “Money IN” within the API;
  • Promote transactions (means a buyer sells cryptocurrency and receives money). These transactions are additionally referred as “Money OUT” within the API.

API Fields Description

  • providerId (required, textual content) – a key, needs to be requested from our help;
  • apiTimestamp (required, int) – present UNIX formatted time;
  • places (required, array of objects) – a number of places information objects;
    • operatorId (required, textual content) – a key, needs to be requested from our help;
    • locationId (required, textual content 50 chars max) – your inner location identifier, needs to be distinctive throughout the identical operator places;
    • lastReportedTime (required, int) – UNIX time of final info state for the situation;
    • producer (non-compulsory, textual content 100 chars max) – title of the producer/software program supplier;
    • mannequin (non-compulsory, textual content 100 chars max) – title of the mannequin of the ATM / Teller;
    • tackle (non-compulsory, object) – object with tackle particulars;
      • avenue (non-compulsory, textual content 250 chars max) – avenue title and home quantity;
      • metropolis (non-compulsory, textual content 250 chars max) – title of town;
      • area (non-compulsory, textual content 250 chars max) – space title, e.g. within the U.S. it’s a state title;
      • postalCode (non-compulsory, textual content 250 chars max) – zip code;
      • nation (non-compulsory, textual content 2 chars max) – Alpha-2 code ISO 3166-1;
      • latitude (non-compulsory, decimal) – latitude of the situation;
      • longitude (non-compulsory, decimal) – longitude of the situation;
    • enterprise (non-compulsory, object) – object with enterprise particulars (a spot the place the ATM is positioned, or teller service is supplied) for the situation;
      • title (non-compulsory, textual content 250 chars max) – the title of place;
      • url (non-compulsory, textual content 250 chars max) – internet web page of the situation (! not the web site of your service, can coincide solely while you present the service out of your premises, e.g. workplace);
      • cellphone (non-compulsory, textual content 20 chars max) – worldwide format cellphone quantity;
      • hours (non-compulsory, textual content) – open hours of the enterprise, when the purchasers can come to make the transaction);
    • standing (required, object) – object with present standing meta info;
      • isEnabled (required, int 1/0) – whether or not the situation is at the moment in operation;
      • cashInEnabled (required, int 1/0) – whether or not the situation at the moment helps purchase operations. Vital: this info is concerning the present state, e.g. generally your ATM help purchase transaction (you report 1 for this flag in fiat anc crypto blocks beneath), however at the moment you don’t have crypto liquidity, therefore you report 0 right here;
      • cashOutEnabled (required, int 1/0) – equally this flag signifies whether or not at the moment promote transactions are attainable at your location. This isn’t normal infromation whether or not you help promote possibility, however present standing solely. E.g. you don’t have money contained in the mahine, therefore consumer can not withdraw money at the moment and finalize promote transaction, on this case 0 needs to be reported;
      • lastOnlineTime (required, int) – UNIX formatter time, when the ATM was final on-line. If the ATM is turned off, it is advisable to report, when it was final time operational;
    • mainFiatCurrencyCode (required, textual content 3 chars) – ISO 4217 3-letter code of the principle fiat forex at your location. You’ll be able to help a number of fiat currencies, however one needs to be marked as fundamental, normally it’s the fundamental forex of the nation, the place the situation is positioned;
    • mainFiatCurrencySymbol (non-compulsory, textual content 3 chars max) – the image of the principle fiat forex, e.g. $ for USD, € for EUR and so on. The image is used as a brief type of the forex, when displayed within the charges part of the listings;
    • fiatCurrencies (required, array of objects) – particulars about fiat currencies supported by the locaiton. There needs to be at the least 1 object reported. In case there are a number of currencies are supported, a number of objects needs to be supplied;
      • fiatCode (required, textual content 3 chars) – ISO 4217 3-letter code of the forex;
      • cashIn (required, int 1/0) – whether or not purchase transactions are supported generally at this location for the actual fiat forex;
      • cashOut (required, int 1/0) – whether or not promote transactions are supported generally at this places for the actual fiat forex;
    • cryptoCurrencies (required, array of objects) – particulars about crypto currencies supported at this location. There needs to be at the least 1 object reported. In case there are a number of currencies are supported, a number of objects needs to be supplied;
      • cryptoCode (required, textual content 5 charts max) – a crypto forex code. Presently supported: BTC, BCH, ETH, LTC, DOGE, DASH, ZEC, XMR, LBTC (lightning BTC), XRP, USDT;
      • cashIn (required, int 1/0) – whether or not purchase transactions are supported generally at this location for the actual crypto forex;
      • cashOut (required, int 1/0) – whether or not promote transactions are supported generally at this location for the actual cryptocurrency;
      • tieredPricing (required, int 1/0) – whether or not the pricing info is supplied as normal (the identical charges / worth for any quantity), or costs and costs are set in tiers (for various quantity ranges). When the costs / charges are usually not reported set as 0;
      • normal (non-compulsory, object) – normal pricing particulars;
        • cashInFee (non-compulsory, decimal) – charges set for purchase transactions in percentages, e.g. “5.6”;
        • cashOutFee (non-compulsory, decimal) – charges set for promote transactions in proportion, e.g. “5.6”;
        • cashInPrice (non-compulsory, decimal) – worth for purchase transactions in mainFiatCurrency models;
        • cashOutPrice (non-compulsory, decimal) – worth for promote transactions in mainFiatCurrency models;
        • cashInFixedFee (non-compulsory, decimal) – mounted payment charged per transaction set in mainFiatCurrency models;
        • cashOutFixedFee (non-compulsory, decimal) – mounted payment charged per transaction in mainFiatCurrency models;
      • tiers (required solely when tieredPricing = 1, array of objects) – if the costs are supplied for tiers, there must be at the least 2 objects with tiered pricing;
        • amountFrom (required, int) – decrease vary border for the transaction quantities;
        • amountTo (required, int) – higher vary border for the transaction. When there are a number of tiers supplied the amountTo of the earlier tier needs to be 1 unit lower than amountFrom of the present tier, e.g. 0-999 and 1000-4999 or 0-1000 and 1001-5000;
        • cashInFee, cashOutFee, cashInPrice, cashOutPrice, cashInFixedFee, cashOutFixedFee – identical as for normal object (see above), however only for every separate tier;
      • cashBoxes (non-compulsory, array of objects) – details about money stability of the ATM will be supplied. Every object must include information about every separate cassette and path accessible;
        • boxName (required, textual content 100 chars max) – distinctive title/identifier of the cassette;
        • fiatCode (required, textual content 3 chars) – ISO 4217 3-letter code of the forex;
        • kind (required, area of values) – path of the operations supported by the cassette. One of many following to be outlined: “In” (a money acceptor for supporting purchase transactions), “Out” (a money dispenser to help promote transactions), “InOut” (recycler that may do each settle for and dispense money banknotes);
        • quantity (required, int) – amount of money within the fiat forex untis;
      • limits (non-compulsory, object) – information about limits set on the ATM / Teller. All unregistered limits apply when the shopper can do a no-KYC transaction. When at the least 1 verification is required (e.g. SMS) – such limits needs to be mirrored within the registered fields. When there are a number of tiers of verification, the bounds to be supplied for the utmost attainable quantities. E.g. when the consumer can do $1000 per transaction with SMS verification, however $5000 per transaction with SMS verification and ID scan verficiation, the $5000 restrict to be supplied for the registered restrict subject. All of the quantities to be supplied within the mainFiatCurrency untis;
        • cashInMinAmt (non-compulsory, int) – the minimal attainable purchase transaction;
        • cashOutMinAmt (non-compulsory, imt) – the minimal attainable promote transaction;
        • cashInTxLimitUnregistered (non-compulsory, int) – most attainable quantity to purchase crypto per transaction for unregistered customers;
        • cashInDailyLimitUnregistered (non-compulsory, int) – most attainable quantity to purchase crypto per day for unregistered customers;
        • cashInLifeLimitUnregistered (non-compulsory, int) – most attainable quantity to purchase crypto per consumer for unregistered customers;
        • cashOutTxLimitUnregistered (non-compulsory, int) – most attainable quantity to promote crypto per transaction for unregistered customers;
        • cashOutDailyLimitUnregistered (non-compulsory, int) – most attainable quantity to promote crypto per day for unregistered customers;
        • cashOutLifeLimitUnregistered (non-compulsory, int) – most attainable quantity to promote crypto per consumer for unregistered customers;
        • cashInTxLimitRegistered (non-compulsory, int) – most attainable quantity to purchase crypto per transaction for registered customers;
        • cashInDailyLimitRegistered (non-compulsory, int) – most attainable quantity to purchase crypto per day for registered customers;
        • cashInLifeLimitRegistered (non-compulsory, int) – most attainable quantity to purchase crypto per consumer for registered customers;
        • cashOutTxLimitRegistered (non-compulsory, int) – most attainable quantity to promote crypto per transaction for registered customers;
        • cashOutDailyLimitRegistered (non-compulsory, int) – most attainable quantity to promote crypto per day for registered customers;
        • cashOutLifeLimitRegistered (non-compulsory, int) – most attainable quantity to promote crypto per consumer for registered customers;
      • verifications (non-compulsory, array of objects) – information about required verifications for various quantities (in mainFiatCurrency models);
        • amountFrom (required, int) – decrease certain of vary quantity;
        • amountTo (required, int) – higher certain of vary quantity. When there are a number of tiers, they need to be order sequentially one after the other in order that present tier amountFrom is 1 unit bigger than amountTo within the earlier tier;
        • unregistered (non-compulsory, int 1/0) – if attainable to transact whereas being unregistered. In case unregistered flag is ready as 1, no different verification will be supplied as 1 throughout the identical tier;
        • title (non-compulsory, int 1/0) – consumer is required to supply a full title;
        • dob (non-compulsory, int 1/0) – consumer is required to supply a date of delivery;
        • sms (non-compulsory, int 1/0) – SMS verification required;
        • idScan (non-compulsory, int 1/0) – ID scan or ID picture through digital camera is required;
        • ssn (non-compulsory, int 1/0) – Social Safety Quantity is required;
        • photoId (non-compulsory, int 1/0) – picture of an individual with ID is required. In case of simply ID phot required – please use idScan = 1 as a substitute;
        • proofOfFunds (non-compulsory, int 1/0) – proof of funds is required;
        • proofOfResidence (non-compulsory, int 1/0) – proof of residence / tackle is required, e.g. eleecitricy invoice inside final 3 months;
        • enhanced (non-compulsory, int 1/0) – some other type of verification required, which isn’t listed above.

API Responses

As a response you’ll obtain a JSON code with the next strucutre:

  • In case the result’s profitable and the information is reported correctly, you’ll obtain a 200 code response with the next JSON: {“success”: “true”, “error”:””}
  • In case of an error, you’ll obtain a code 400 response with the next JSON: {“success”:”false”, “error”:”XXXX”}, the place XXXX shall be an outline of the error occurred, normally some drawback within the information reported that must be mounted.

API Utilization

When you implement the submission of the data to the API, you will have to map the itemizing on our web site with info reported on your location.

In an effort to do that, please set the ID of the situation within the settings for exterior ID of the itemizing:

The ID needs to be of the next format: OOOO_LLLL, the place OOOO – is the “operatorId” worth, LLLL – distinctive “locationId” worth for this ATM/Teller (each are handed within the API above). Operator ID and site ID needs to be separated with a underscore image “_”.



Supply hyperlink

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *