API
Введение
Обменный сервис enter-change.com предоставляет возможность внешним разработчикам, взаимодействовать с сайтом с помощью API.
С помощью функций представленных ниже, у вас есть возможность использовать функционал сайта в своих собственных проектах. Взаимодействие осуществляется с помощью GET запросов в кодировке UTF-8.
Ответ от сервера enter-change.com приходит в формате json и всегда содержит поле status, которое включает в себя значение «success» или «false».
Если значение status = success, тогда поле value включает в себя значения возвращаемые сервером.
Если значение status = error, тогда поле value включает в себя значение error, которое в свою очередь содержит сообщение, описывающее причину ошибки.
Основные статусы заявки:

preliminary - предварительная,
newticket - новая,
frozen - замороженная,
error - ошибочная,
delete - удаленная,
complete - обработанная.

Для выполнения всех методов представленных ниже, вам необходим API ключ, который вы можете получить зарегистрировавшись на сайте и обратившись по адресу [email protected]
Обращение к API методам без использования ключа невозможно. Использование API подразумевает под собой согласие с нашими правилами.
Последовательность создания заявки используя API:

1) CreateOrderTicket
2) CreatePreTicket
3) CreateNewTicket

Методы
*Звездочкой помечены обязательные параметры
DirectionStatus
Выводит список доступных направлений обмена на приеме(give) и отдаче(get).

Действие данного метода, аналогично посещению главной страницы сайта для просмотра доступных направлений обмена.
Принимает 2 параметра:

*APIkey - ваш ключ доступа,
dirid - идентификатор направления.

Пример запроса:

https://enter-change.com/API/DirectionsStatus/?APIkey={your_apikey}&dirid=26

Результат успешного запроса:
{ "status": "success", "value": [ { "dirid": 26, "name": "Bitcoin", "valutename": "BTC", "type": "get", "reserved": "63,99598974" } ] }
ExchangeRateCalc
Вычисляет сумму получения или отдачи с учетом скидки, и возвращает информацию о направлении обмена.

Действие данного метода аналогично вводу числовых значений для обмена, при выборе направлений.
Принимает 5 параметров:

*APIkey - ваш ключ доступа,
*diridgive - идентификатор направления для отдачи,
*diridget - идентификатор направления для получения,
*amount - сумма для расчета обмена,
direct - порядок расчета. 0 - слева направо (по умолчанию), 1-справа налево.

Пример запроса:

https://enter-change.com/API/ExchangeRateCalc/?APIkey={your_apikey}&diridgive=1&diridget=27&amount=0.035

Результат успешного запроса:
{ "status": "success", "value": [ { "enabled": "true", "giveid": 1, "getid": 27, "in_val": 0.035, "in_valute": "BTC", "out_val": 2.01303019, "out_valute": "ETH", "in_min": 0.005, "in_max": 1, "reserve": 452.251681756919 } ], "discount": [ { "percent": 0.05, "amount": 0.00100652, "valute": "ETH" } ] }
CreateOrderTicket
Выводит необходимые поля для создания предварительной заявки, по выбранному направлению.

Действие метода аналогично выбору направлений и выводу полей для ввода данных на сайте, при первом шаге создания заявки.
Принимает 3 параметра:

*APIkey - ваш ключ доступа,
diridgive - идентификатор направления для отправки,
diridget - идентификатор направления для получения.

(Будьте бдительны! Одно и то же направление содержит два идентификатора, один на отдачу, другой на получение.)

Пример запроса:

https://enter-change.com/API/CreateOrderTicket/?APIkey={your_key}&diridgive=16&diridget=26

Результат успешного запроса:
{ "status": "success", "value": [ { "name": "from_acc", "getid": 16, "label": "Sending wallet", "placeholder": "4276750016005000", "value": "null", "onlyread": true }, { "name": "from_additional_acc", "getid": 16, "label": "ФИО", "placeholder": "null", "value": "null", "onlyread": true }, { "name": "to_acc", "getid": 26, "label": "Wallet for receive", "placeholder": "3P3QsMVK89JBNqZQv5zMAKG8FK3kJM4rjt", "value": "null", "onlyread": true } ] }
CreatePreTicket
Создает предварительную заявку, и возвращает информацию о заявке, включая идентификатор и реквизиты для отправки средств.

Выполнение данного метода аналогично нажатию кнопки «Начать обмен».

Внимание! Предварительная заявка имеет свой срок действия который равен 20 минутам (1200 секунд).Отсчет начинается после успешного выполнения метода. При истечении таймера вы получите ошибку от сервера: «Application expired». Используйте данный метод для получения необходимой информации и отправки средств по реквизитам, выданным сервером. После успешной оплаты, вам следует использовать метод CreateNewTicket использование которого будет описано ниже.

Внимание! Параметры (from_acc, from_additional_acc, to_additional_acc), могут быть обязательными, а могут не указываться вовсе, все зависит от ответа сервера при выполнении метода «CreateOrderTicket».

Принимает 9 параметров:

*APIkey - ваш ключ доступа,
*diridgive - идентификатор направления для отправки,
*diridget - идентификатор направления для получения,
*amount - сумма для обмена,
from_acc - отправляющий кошелек.
from_additional_acc - дополнительный параметр для отправляющего кошелька.
*to_acc - кошелек для получения.
to_additional_acc - дополнительный параметр для получающего кошелька.

Пример запроса:

https://enter-change.com/API/CreatePreTicket/?APIkey={your_key}&diridgive=138&diridget=26&amount=10000&from_acc=9034763324&to_acc=1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX

Результат успешного запроса:
{ "status": "success", "value": { "id": "22512872", "created": "/Date(1567771180450)/", "diridgive": 138, "diridget": 26, "in_val": "10000", "out_val": "0,01123916", "direct": null, "props": [ { "name": "from_acc", "getid": 138, "label": "Sending wallet", "placeholder": "9034763342", "value": "9034763324", "onlyread": true }, { "name": "from_additional_acc", "getid": 138, "label": null, "placeholder": "null", "value": null, "onlyread": true }, { "name": "to_acc", "getid": 26, "label": "Wallet to receive", "placeholder": "3P3QsMVK89JBNqZQv5zMAKG8FK3kJM4rjt", "value": "1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX", "onlyread": true }, { "name": "to_additional_acc", "getid": 26, "label": null, "placeholder": "null", "value": "null", "onlyread": true } ], "status": "preliminary", "reason": "null", "details_to_send": "9196771806", "additional_details_to_send": "null" } }
Параметр "details_to_send" содержит в себе реквизиты для отправки средств, параметр "additional_details_to_send" содержит в себе дополнительный параметр для оплаты (если таковой присутствует).
CreateNewTicket
Создает новую заявку и возвращает информацию о заявке, включая идентификатор и текущий статус.

Выполнение данного метода, аналогично нажатию кнопки «Оплата завершена», на втором шаге выполнения заявки.

Обратите внимание. Данный метод требует однократного выполнения по каждой заявке, также вы можете использовать этот метод только в тех заявках, которые были созданы с помощью вашего API ключа.

Принимает 2 параметра:

*APIkey - ваш ключ доступа,
*ticketid - идентификатор заявки (формат long).

Пример запроса:

https://enter-change.com/API/CreateNewTicket/?APIkey={your_key}&ticketid=22512871

Результат успешного запроса:
{ "status": "success", "value": { "id": 22512872, "created": "/Date(1567771180450)/", "dirnamegive": "Элекснет", "dirnameget": "Bitcoin", "in_val": "10000", "out_val": "0,01123916", "status": "newticket" } }
После успешного ответа от сервера, ваша заявка попадает на обработку.
TicketStatus
Метод для получения статуса заявки и остальной необходимой информации. Также может включать в себя сообщение созданное оператором обменного сервиса, если при обработке заявки возникнет внештатная ситуация.

Обратите внимание. Отслеживать статус заявки можно по определенному таймату, также вы можете отслеживать статус только тех заявок, которые были созданы с помощью вашего API ключа.

Типы статусов:

awaiting_processing - ожидает обработки
processing - заявка обрабатывается,
complete - заявка обработана,
frozen - заявка заморожена,
delete - заявка удалена (содержит причину удаления),
error - заявка ошибочна (содержит причину ошибки).

Принимает 2 параметра:

*APIkey - ваш ключ доступа,
*ticketid - идентификатор заявки (формат long).

Пример запроса:

https://enter-change.com/API/TicketStatus/?APIkey={your_key}&ticketid=22512871

Результат успешного запроса:
{ "status": "success", "value": { "id": 22512871, "created": "/Date(1567766788544)/", "dirnamegive": "Элекснет", "dirnameget": "Bitcoin", "in_val": "10000", "out_val": "0,01123916", "status": "delete", "reason": "payment_not_recevied" } }