Знакомство с API

Основное

  • URL: https://p2p.army/v1/api
  • Запросы в формате: JSON
  • Ответы в формате: JSON
  • Авторизация через HTTP-заголовок:
    X-APIKEY: YOUR_API_KEY
  • В случае ошибки добавляется в ответе параметр errText.

Цены и условия


Условия использования и стоимость API доступно на странице https://p2p.army/ru/api_p2p

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


curl -H "X-APIKEY: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
    -X POST 'https://p2p.army/v1/api/get_p2p_assets' \
    -d '{"market":"bybit","fiat":"RUB"}'

Где, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - ваш ключ.

Проверка доступности API

Request:
https://p2p.army/v1/api/ping
Response:
{"pong":1}
Example:
curl -X POST 'https://p2p.army/v1/api/ping'

Время сервера

Request:
https://p2p.army/v1/api/time
Response:
{"time":1720939148}
Example:
curl -X POST 'https://p2p.army/v1/api/time'

P2P

Фиатные валюты

Получение списка фиатных валют в P2P.

Request:
https://p2p.army/v1/api/get_p2p_fiats
Response:
{
    "rows": [
        "AED",
        "ALL",
        "AMD",
        "AOA",
        "ARS",
        "AUD",
        "AZN",
        "BAM",
        ...,
        "XOF",
        "YER",
        "ZAR",
        "ZMW"
    ],
    "status": 1
}
Example:
curl -X POST 'https://p2p.army/v1/api/get_p2p_fiats'

Криптоактивы P2P

Получение криптоактивов в P2P.

Request:
https://p2p.army/v1/api/get_p2p_assets
Example:
curl -X POST 'https://p2p.army/v1/api/get_p2p_assets' -d '{"market":"bybit","fiat":"RUB"}'
Request Params:
Параметр Обязателен Примечание
market да P2P биржа, например: binance
fiat да фиатная валюта, например: EUR
Response:
{
    "assets": [
        "USDT",
        "BTC",
        "ETH",
        "USDC"
    ],
    "status": 1
}
Response Params:
Параметр Примечание
assets список активов

Платежные методы P2P

Получение платежных методов в P2P по вводным данным: market+fiat.

Request:
https://p2p.army/v1/api/get_popular_p2p_payment_methods
Example:
curl -X POST 'https://p2p.army/v1/api/get_popular_p2p_payment_methods' -d '{"market":"bybit","fiat":"RUB"}'
Request Params:
Параметр Обязателен Примечание
market да P2P биржа, например: binance
fiat да фиатная валюта, например: EUR
limit нет лимит вывода
Response:
{
    "payment_methods": [
        {
            "ads_count_BUY": 193,
            "ads_count_SELL": 202,
            "ads_count_total": 395,
            "activity_24h": 20414,
            "market": "bybit",
            "title": "Raiffeisenbank",
            "payment_method": "Raiffeisenbank",
            "payment_method_vendor_id": 64
        },
        {
            "ads_count_BUY": 124,
            "ads_count_SELL": 173,
            "ads_count_total": 297,
            "activity_24h": 25717,
            "market": "bybit",
            "title": "Local Card(Green)",
            "payment_method": "Local Card(Green)",
            "payment_method_vendor_id": 582
        },
        ...
       ],
    "status": 1
}
Response Params:
Параметр Примечание
ads_count_BUYКол-во объявлений в BUY разделе.
ads_count_SELLКол-во объявлений в SELL разделе.
ads_count_totalВсего объявлений.
marketP2P биржа, например: binance
titleНазвание платежного метода.
payment_methodКод платежного метода.
activity_24hАктивность за 24 часа.
payment_method_vendor_idID платежного метода на платформе. (только у некоторых)

Цены P2P

Получение цен на P2P платформе по вводным данным: market+fiat+asset.

Request:
https://p2p.army/v1/api/get_p2p_prices
Example:
curl -X POST 'https://p2p.army/v1/api/get_p2p_prices' -d '{"market":"bybit","fiat":"RUB","asset":"USDT","limit":10}'
Request Params:
Параметр Обязателен Примечание
market да P2P биржа, например: bybit
fiat да фиатная валюта, например: RUB
asset да криптоактив, например: USDT, BTC, ETH.
limit нет лимит вывода
Response:
{
    "status": 1,
    "prices": [
        {
            "payment_method": "Local Card(Yellow)",
            "payment_method_vendor_id": 582,
            "updated_BUY": 1712707049,
            "updated_SELL": 1712707049,
            "prices_BUY": [
                "94.79",
                "95.29",
                "95.5",
                "95.8",
                "95.87",
                "95.99",
                "96",
                "96",
                "96",
                "96.1"
            ],
            "prices_SELL": [
                "102.1",
                "96.5",
                "94.41",
                "94.38",
                "94.3",
                "94.25",
                "94.24",
                "94.21",
                "94.14",
                "94.03"
            ],
            "avg_price_BUY": 95.734,
            "avg_price_SELL": 95.256,
            "activity_24h": 19660,
            "ads_count_BUY": 69,
            "ads_count_SELL": 79,
            "ads_count_total": 148
        },
        ...
    ]
}
Response Params:
Параметр Примечание
payment_methodКод платежного метода.
payment_method_vendor_idID платежного метода на платформе. (только у некоторых)
updated_BUYTimestamp, UTC. Время синхронизации цен из BUY раздела.
updated_SELLTimestamp, UTC. Время синхронизации цен из SELL раздела.
prices_BUYМассив ТОП10 цен из BUY раздела.
prices_SELLМассив ТОП10 цен из SELL раздела.
avg_price_BUY***Средняя цена из массива prices_BUY.
avg_price_SELL***Средняя цена из массива prices_SELL.
activity_24hАктивность за 24 часа.
ads_count_BUYКол-во объявлений в BUY разделе.
ads_count_SELLКол-во объявлений в SELL разделе.
ads_count_totalВсего объявлений.

***Например: когда в массиве цены 110, 92.33, 92.28, 92.25, 92.22, 92.19, то перед вычислением средней цены 110 будет удалено, т.к. это число отличается больше чем на 10% от остальных.

Объявления P2P

Получение объявлений на P2P платформе по вводным данным: market+fiat+asset+side.

Метод возвращает объявления в едином формате со всех бирж.

Request:
https://p2p.army/v1/api/get_p2p_order_book
Example:
curl -X POST 'https://p2p.army/v1/api/get_p2p_order_book' -d '{"market":"bybit","fiat":"RUB","asset":"USDT","side":"BUY","payment_method":"Raiffeisenbank","limit":10}'
Request Params:
Параметр Обязателен Примечание
market да P2P биржа, например: bybit
fiat да фиатная валюта, например: RUB
asset да криптоактив, например: USDT, BTC, ETH.
side да Раздел BUY или SELL.
payment_method нет Код платежного метода из /v1/api/get_popular_p2p_payment_methods (payment_method)
ВНИМАНИЕ: У каждой биржи свой код платежного метода.
limit нет лимит вывода. По умолчанию: 10
Response:
{
    "status": 1,
    "ads": [
        {
            "pos": 1,
            "updated_at": 1712710660,
            "market": "bybit",
            "asset": "USDT",
            "fiat": "RUB",
            "side": "BUY",
            "payment_methods": [
                "Raiffeisenbank"
            ],
            "price": "96",
            "surplus_amount": "62.5708",
            "surplus_fiat": 6006.7968,
            "min_fiat": "500",
            "max_fiat": "6006.79",
            "text": "от 3 лиц принимаю, условия : чек и в комментарии указать «возврат долга»",
            "user_name": "Mahdi95",
            "user_id": "131584562",
            "adv_id": "1777707816377614336",
            "user_orders": 415,
            "user_rate": 100,
            "is_merchant": 0
        },
        ...
         ]
}
Response Params:
Параметр Тип/значения Примечание
posintПозиция объявления
updated_attimestamp, UTCвремя получения объявления
marketstringбиржа
assetstringкриптоактив
fiatstringфиатная валюта
sideBUY, SELL
payment_methodsarrayСписок всех указанных платежных методов
pricefloatЦена
surplus_amountfloatОбъем криптоактива в объявлении
surplus_fiatfloatsurplus_amount * price. Объем объявления в фиате.
min_fiatfloatМин. сумма сделки
max_fiatfloatМакс. сумма сделки
text(если есть)Текст объявления. Он имеется не у всех платформ.
user_namestringИмя пользователя на P2P бирже.
user_idstring|bigint|user_nameID пользователя на P2P бирже. Форматы абсолютно разные.
adv_idstring|bigintID объявления на P2P бирже. Форматы абсолютно разные.
user_ordersintКол-во всех ордеров или кол-во ордеров за последние 30 дней.
user_rateint, 0-100Процент выполнения ордеров
is_merchant0 || 1Статус мерчанта.

Vendor Ads

Получение оригинальных объявлений с P2P платформ по вводным данным: market+fiat+asset+side.

Каждая платформа отдает объявления в разных форматах.

Request:
https://p2p.army/v1/api/get_p2p_vendor_book
Example:
curl -X POST 'https://p2p.army/v1/api/get_p2p_vendor_book' -d '{"market":"bybit","fiat":"RUB","asset":"USDT","side":"BUY","limit":10}'
Request Params:
Параметр Обязателен Примечание
market да P2P биржа, например: bybit
fiat да фиатная валюта, например: RUB
asset да криптоактив, например: USDT, BTC, ETH.
side да Раздел BUY или SELL.
limit нет лимит вывода. По умолчанию: 10
Response:
{
    "status": 1,
    "vendor_ads": [
        {
            ...
        },
        {
            ...
        },
        {
            ...
        },
        ...
     ]
}
Response Params:

vendor_ads содержит информацию от бирж без фильтраций с нашей стороны. У каждой биржи свой формат ответа.

Статистика P2P бирж

Получение статистики P2P бирж, которая доступна на странице https://p2p.army/ru/p2p/markets.

Request:
https://p2p.army/v1/api/stat/p2p_markets
Example:
curl -X POST 'https://p2p.army/v1/api/stat/p2p_markets' -d '{"limit":10}'
Request Params:
Параметр Обязателен Примечание
limit нет лимит вывода. По умолчанию - 10.
Response:
{
    "status": 1,
    "markets": [
        {
            "id": 1,
            "name": "binance",
            "title": "Binance P2P",
            "place": 1,
            "activity_24h": 1624870,
            "ads_BUY": 9755,
            "ads_SELL": 24723,
            "ads_total": 34478,
            "volume_usd_BUY": "41644784.7424",
            "volume_usd_SELL": "139034136.9520",
            "volume_usd_total": "180678921.6944",
            "count_fiats": 119
        },
        ...
    ]
}
Response Params:
Параметр Примечание
idВнутренний ID биржи
nameКод биржи
titleНазвание биржи
placeМесто в рейтинге
activity_24hАктивность за 24 часа - индекс активности от P2P.Army.
Это сумма "количества объявлений" и "количества изменений объема этих объявлений" по указанному платежному методу.
ads_BUYКол-во объявлений в BUY секции.
ads_SELLКол-во объявлений в SELL секции.
ads_totalВсего объявлений.
volume_usd_BUYОбъем в $ объявлений в BUY секции.
Суммируется весь объем объявлений с активами USDT, BTC, ETH.
volume_usd_SELLОбъем в $ объявлений в SELL секции.
Суммируется "частично" объем объявлений с активами USDT, BTC, ETH, но с ограничениями по макс. сумме: 10 000 USDT, 0.3 BTC, 5 ETH.
volume_usd_totalvolume_usd_BUY + volume_usd_SELL
count_fiatsКол-во представленных фиатных валют.

Статистика P2P валют

Получение статистики P2P валют, которая доступна на странице https://p2p.army/ru/p2p/fiats.

Request:
https://p2p.army/v1/api/stat/p2p_fiats
Example:
curl -X POST 'https://p2p.army/v1/api/stat/p2p_fiats' -d '{"type":"ads_count"}'
Request Params:
Параметр Обязателен Примечание
type да Тип статистики:
ads_count - Кол-во объявлений
BUY_ads_volume - Объем BUY раздела
SELL_ads_volume - Объем SELL раздела
ads_activity24h - Активность за 24 часа
limit нет лимит вывода. По умолчанию - 100.
Response:
{
    "status": 1,
    "fiats": [
        {
            "fiat": "USD",
            "points": 6431,
            "by_markets": {
                "binance": "3773",
                "okx": "343",
                "bybit": "701",
                "huobi": "1232",
                "bitget": "207",
                "kucoin": "175",
                "mexc": 0
            }
        },
        ...
    ]
}
Response Params:
Параметр Примечание
fiatКод валюты
pointsСумма значений массива by_markets
by_marketsМассив значений по биржам
by_markets.binanceКол-во значений. Тип значения задается параметром type.

История P2P цен

Получение истории P2P цен, которая доступна на странице https://p2p.army/ru/p2p/fiats/CNY/charts/USDT.

Request:
https://p2p.army/v1/api/history/p2p_prices
Example:
curl -X POST 'https://p2p.army/v1/api/history/p2p_prices' -d '{"market":"binance","fiat":"CNY","asset":"USDT","payment_method":"Alipay","mode":"ALL","limit":10}'
curl -X POST 'https://p2p.army/v1/api/history/p2p_prices' -d '{"market":"bybit","fiat":"RUB","asset":"USDT","payment_method":"Raiffeisenbank","mode":"ALL","limit":10}'
Request Params:
Параметр Обязателен Варианты Примечание
marketдаP2P биржа. Например: binance
fiatдаФиатная валюта. Например: CNY
assetдаКриптоактив. Например: USDT
 
payment_method да Код платежного метода из /v1/api/get_popular_p2p_payment_methods (payment_method)
ВНИМАНИЕ: У каждой биржи свой код платежного метода.
 
modeнет24H, 7D, 1M, 3M, 6M, 1Y, ALL.Если mode не указан, то нужно указать from_date + to_date
 
from_dateнетTimestamp UTC(если не указан mode) Дата с. Детализация по часам.
to_dateнетTimestamp UTC(если не указан mode) Дата по. Детализация по часам.
 
period_typeнет1H, 0-23Период данных: по часам (1H) или по дням с указанием нужного часа 1-23. По умолчанию: 1H при mode=[24H, 7D].
 
date_format нет timestamp || datetime Формат даты в ответе. По умолчанию datetime.
limit нет макс. 10 000 лимит вывода. По умолчанию - 10. Максимум: 10000.
Response:
{
    "history": [
        {
            "date": "2024-04-10T03:00:00.000000Z",
            "buy": 95.8,
            "buy_avg": 95.98,
            "sell": 95.31,
            "sell_avg": 95.238
        },
        {
            "date": "2024-04-10T02:00:00.000000Z",
            "buy": 96,
            "buy_avg": 96.066,
            "sell": 102.1,
            "sell_avg": 96.846
        },
        {
            "date": "2024-04-10T01:00:00.000000Z",
            "buy": 96,
            "buy_avg": 96.088,
            "sell": 102.1,
            "sell_avg": 96.832
        },
        ...
    ]
}
Response Params:
Параметр Примечание
datedatetime, UTC (или timestamp если был указан date_format)
buyЦена указанного криптоактива по платежному методу из секции BUY.
buy_avgСредняя цена покупки ТОП5.
sellЦена указанного криптоактива по платежному методу из секции SELL.
sell_avgСредняя цена покупки ТОП5.

Нужны другие данные/методы?

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

🙄 Нашлась ошибка?

Пожалуйста, напишите в техническую поддержку.
Мы вам будем очень благодарны!