Pinnacle888 API

Pinnacle888 API is a RESTful service for betting all bet types on all sports.


English | Chinese | Russian

Часто задаваемые вопросы (FAQ)

Как найти соответствующие события?

Можно использовать параметр parentId из запроса Get Fixtures для группировки связанных событий с “parent” событием.

Некоторые факты, которые могут помочь:

  • У нас есть разные события для доигрового и живого времени, которые можно различить по параметру liveStatus.
  • В некоторых случаях может быть несколько живых событий для одного фактического события, но мы никогда не предложим один и тот же рынок для обоих событий одновременно.
  • Parent events — это те, у которых нет параметра parentId.
  • Parent events всегда относятся к доигровым (liveStatus=0 или liveStatus=2), за исключением некоторых случаев для лиги MLB и киберспорта, где для живых событий (liveStatus=1) может отсутствовать parentId.

Например:

 {
    "sportId": 29,
    "last": 148671597,
    "league": [
        {
            "id": 2331,
            "name": "Norway - 1st Division",
            "events": [
                {
                    "id": 837721686,
                    "starts": "2018-04-10T17:00:00Z",
                    "home": "Viking Fk",
                    "away": "Mjondalen",
                    "rotNum": "6751",
                    "liveStatus": 1,
                    "status": "O",
                    "parlayRestriction": 2,
                    "parentId": 834342247,
                    "altTeaser": false
                },
                {
                    "id": 834342247,
                    "starts": "2018-04-10T17:00:00Z",
                    "home": "Viking Fk",
                    "away": "Mjondalen",
                    "rotNum": "6751",
                    "liveStatus": 2,
                    "status": "I",
                    "parlayRestriction": 2,
                    "altTeaser": false
                }
            ]
        },
        {
            "id": 6816,
            "name": "Norway - 1st Division Corners",
            "events": [
                {
                    "id": 837721684,
                    "starts": "2018-04-10T17:00:00Z",
                    "home": "Viking Fk (Corners)",
                    "away": "Mjondalen (Corners)",
                    "rotNum": "6751",
                    "liveStatus": 1,
                    "status": "O",
                    "parlayRestriction": 1,
                    "parentId": 834342247,
                    "altTeaser": false
                },
                {
                    "id": 837721615,
                    "starts": "2018-04-10T17:00:00Z",
                    "home": "Viking Fk (Corners)",
                    "away": "Mjondalen (Corners)",
                    "rotNum": "6751",
                    "liveStatus": 2,
                    "status": "I",
                    "parlayRestriction": 1,
                    "parentId": 834342247,
                    "altTeaser": false
                }
            ]
        }
    ]
} 

Есть pre-game parent event с идентификатором 834342247, который связан с живым событием с идентификатором 837721686, но также включает два угловых события в разных лигах — одно из которых является живым событием (837721684), а другое — до игры (837721615).

Введение parent event устраняет необходимость в номерах ротации. Обратите внимание, что в следующей версии /fixtures свойство rotNum будет отменено.

Когда рынок открыт для ставок?

Рынок ( moneyline , spreads, totals, teamtotal ) в периоде открыт для ставок, если в ответе Get Odds выполняются все эти условия:

  1. Статус периода = 1
  2. Рынок существует
  3. Cutoff периода в будущем.

Пример: Когда рынок moneyline не предложен, весь объект будет отсутствовать. То же самое касается других типов рынков.

                 {
                            "lineId": 527557614,
                            "number": 1,
                            "cutoff": "2018-06-30T21:00:00Z",
                            "maxSpread": 250,
                            "maxTotal": 250,
                            "status": 1,
                            "spreads": [
                                {
                                    "hdp": -0.25,
                                    "home": 140,
                                    "away": -172
                                }
                            ],
                            "totals": [
                                {
                                    "points": 0.75,
                                    "over": -128,
                                    "under": 107
                                }
                            ]
                        }

Обратите внимание, что для живых событий коэффициенты меняются довольно часто, а также изменяется статус периода. Из-за этих частых изменений возможно, что вы будете получать статус NOT_EXISTS в ответе Get Line чаще, чем для pre-game событий.

Как сделать ставку на живые события?

Ставки, сделанные на события с задержкой в реальном времени, обрабатываются иначе, чем другие ставки. Они получают betId только после того, как ставка будет ПРИНЯТА.

Единственный способ узнать статус такой ставки это запросить Get Bets по уникальным RequestIds.

/v1/bets?uniqueRequestIds=86a90ab9-fca1-4703-a11c-ce329a85584e

Пока ставка находится в статусе PENDING_ACCEPTANCE, ответ будет следующим:

{
    "straightBets": [
        {
            "uniqueRequestId": "86a90ab9-fca1-4703-a11c-ce329a85584e",
            "betStatus": "PENDING_ACCEPTANCE"
        }
    ]
}

ПРИМЕЧАНИЕ: Статус может измениться с PENDING_ACCEPTANCE на NOT_ACCEPTED или ACCEPTED.

Если ставка была НЕ ПРИНЯТА, ответ будет следующим:


{
    "straightBets": [
        {
            "uniqueRequestId": "86a90ab9-fca1-4703-a11c-ce329a85584e",
            "betStatus": "NOT_ACCEPTED"
        }
    ]
}


Если ставка была ПРИНЯТА, ответ будет содержать полные детали ставки:


{
    "straightBets": [
        {
            "betId": 800110193,
            "uniqueRequestId": "86a90ab9-fca1-4703-a11c-ce329a85584e",
            "wagerNumber": 1,
            "placedAt": "2017-12-20T21:57:22Z",
            "betStatus": "ACCEPTED",
            "betType": "MONEYLINE",
            "win": 2519.25,
            "risk": 11991.63,
            "oddsFormat": "AMERICAN",
            "updateSequence": 175277412,
            "sportId": 29,
            "leagueId": 5595,
            "eventId": 799939900,
            "price": -476,
            "teamName": "Universitario",
            "team1": "Universitario",
            "team2": "Club Petrolero",
            "periodNumber": 0,
            "isLive": "TRUE"
        }
    ]
}
 

Мы применяем задержку в реальном времени около 6 секунд, поэтому первый запрос к Get Bets V2 должен быть выполнен через 6 секунд после размещения ставки.

Через 30 минут после размещения ставки мы прекратим возвращать ответ для указанного uniqueRequestId. Это связано с очисткой кэша для поддержания оптимальной производительности.

Также обратите внимание, что список ставок со статусом RUNNING не возвращает ставки с задержкой в реальном времени, которые находятся в статусе PENDING_ACCEPTANCE или NOT_ACCEPTED.

Как часто я могу обновлять ваши коэффициенты?

Пожалуйста, ознакомьтесь с нашей политикой справедливого использования.

Вы кэшируете ответы? Как долго?

Все запросы команд ленты, которые имеют одинаковые параметры (например, одинаковый клиентский ID/API ключ/sport ID), кэшируются на одну минуту.

Запросы Get Odds и Get Fixtures snapshot кэшируются на 60 секунд. Запросы Get Odds и Get Fixtures delta не кэшируются.

Как вернуть только те виды спорта и лиги, для которых есть данные?

Операции Get Sports и Get Leagues имеют свойство hasOfferings, которое указывает на наличие рынков.

Как вы рассчитываете максимальные суммы ставок для валют, отличных от USD?

Мы следуем курсам с oanda.com и обновляем наши обменные курсы каждые 24 часа. Обратите внимание, что для валют, отличных от USD, мы округляем их до наибольшего целого числа, которое меньше или равно указанному десятичному числу, полученному в результате конверсии валюты. Например, максимальная сумма ставки в размере £345.23 будет округлена до £345.

Какой часовой пояс используется для API?

Время используется по GMT.

Как узнать, было ли событие удалено или завершено?

Используйте Get Settled Fixtures, чтобы узнать, был ли период события завершён или событие было удалено.

Какие версии TLS (Transport Layer Security) поддерживаются?

Для соответствия требованиям безопасности API поддерживает только TLS 1.2 (предпочтительно) и TLS 1.1.

Почему я не могу найти определённый вид спорта или рынок в API?

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

Как получить изменения коэффициентов?

1) Сделайте запрос к snapshot/odds (без параметра since) — это вернёт кэшированный odds snapshot. 2) Сделайте запрос к delta /odds (с параметром since, из ответа на snapshot) — чтобы получить все изменения с момента snapshot.

Ответ delta содержит только изменённые периоды с рынками, которые в данный момент предлагаются. Например, если мы предлагаем коэффициенты для периода 0 и периода 1 на событие, и в одном из рынков периода 1 произошли изменения, то запрос delta вернёт только период 1 со всеми рынками, которые мы сейчас предлагаем, а период 0 не будет присутствовать в ответе delta.

Например:

1) Запрос snapshot возвращает период номер=1 и период номер=0, и оба имеют коэффициенты для moneyline и spreads. 2) Далее запрос Delta возвращает только период 1 с коэффициентами для moneyline и totals.

=> Это означает, что период номер=0 не изменился, а в периоде номер=1 коэффициенты для spreads больше не предлагаются, но появились коэффициенты для totals, и цены для moneyline могут быть обновлены.

Как вычислить максимальный риск из максимальных лимитов объёма в /odds?

/odds operation returns max volume limits.

Чтобы вычислить максимальный риск из максимального объёма для цены в формате десятичных коэффициентов, можно использовать эту формулу:

Если цена > 2, то:

maxRisk = maxVolume  

, иначе, когда цена < 2:

 maxRisk = maxVolume / (цена - 1).

Например:

Когда /odds возвращает предложение для moneyline

{
                            "lineId": 242220498,
                            "number": 1,
                            "cutoff": "2019-08-30T21:00:00Z",
                            "maxMoneyline": 250,
                            "status": 1,
                            "moneyline": {
                                "home": 1.819,
                                "away": 2.03
                            }
                        }

Максимальный объём составляет 250. Максимальный риск для домашней команды — 305. Максимальный риск для выездной команды — 250.

Какова минимальная сумма ставки, разрешенная при использовании API?

Минимальная сумма ставки за одно пари при использовании нашего API составляет 10USD (или эквивалент в валюте вашего счета). Это требование обеспечивает согласованность и справедливое использование для всей автоматизированной активности по ставкам. Пожалуйста, убедитесь, что ваша интеграция API соответствует такому лимиту, так как ставки ниже минимума могут быть отклонены или не обработаны.