[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page:en:doc-sport-events-api.html":3},{"id":4,"body":5,"extension":22,"meta":119,"slug":120,"stem":121,"__hash__":122},"content_en\u002Fen\u002Fdoc-sport-events-api.json",{"template":6,"meta":7,"content":12},"docs",{"title":8,"description":9,"keywords":10,"ogTitle":11,"ogDescription":9},"Documentation for API Results systems calculating markets, odds - Bet in Box","Integration documentation for API systems calculating markets, odds, and outcomes for bookmakers. Calculation of bets and coupons.","API, sports, odds, outcomes, sports line, integration, Sportsbook, betting, coefficients, football, basketball, tennis, esports","Documentation for API Results and Coupon Outcomes - Bet in Box",{"hero":13,"navLabel":34,"sections":35,"footer":107},{"eyebrow":14,"titleHtml":15,"lead":16,"cta":17,"code":20,"badges":24},"API Documentation","System Integration for \u003Cspan class=\"hl\">Bet and Coupon Calculation\u003C\u002Fspan>","Built for betting operators, bookmakers and platform developers who want bet settlement and coupon handling to run by themselves. It plugs result settlement in quickly, reports coupon status accurately — won, lost or refunded — and keeps the traffic between the operator’s server and the settlement system simple.",{"label":18,"order":19},"Get a key",true,{"title":21,"lang":22,"body":23},"POST \u002Fv1\u002Fcoupon","json","{\n  \"coupon_id\": \"A7F3K9\",\n  \"type\": \"express\",\n  \"events\": [\n    { \"id\": 88213, \"pick\": \"1\", \"odds\": 2.10, \"result\": \"win\" },\n    { \"id\": 88150, \"pick\": \"over_2_5\", \"odds\": 1.80, \"result\": \"win\" }\n  ],\n  \"total_odds\": 3.78, \"status\": \"won\"\n}",[25,27,29,32],{"label":26},"REST over HTTPS",{"label":28},"JSON only",{"label":30,"tone":31},"Package header auth","lime",{"label":33},"api.sportapi.net","On this page",[36,40,46,68,74,78,82,86,92,96,102],{"id":37,"title":38,"html":39},"how","How the system works","\u003Ch3>How Does the Odds and Outcomes Calculation System Work?\u003C\u002Fh3>\n\u003Cp>Integration with our bet and coupon calculation system consists of three key stages:\u003C\u002Fp>\n\u003Ch4>Step 1: Authorization\u003C\u002Fh4>\n\u003Cp>In the first stage, you need to authorize in the system. This is done by performing a \u003Cstrong>POST request\u003C\u002Fstrong> with user credentials (login and password). Successful authorization returns a session represented as a \u003Cstrong>cookie\u003C\u002Fstrong>, which must be saved. These cookies are required for all subsequent requests as they are used to identify the user's session in the system.\u003C\u002Fp>\n\u003Ch4>Step 2: Sending a Bet\u003C\u002Fh4>\n\u003Cp>At this stage, a bet code is sent to our system containing:\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>\u003Cstrong>Match ID\u003C\u002Fstrong>, corresponding to the event.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Bet code\u003C\u002Fstrong>, describing the selected outcome (e.g., team win, handicap, or total).\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Bet odds\u003C\u002Fstrong>, valid at the time of submission.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>When submitting data, the \u003Cstrong>cookies\u003C\u002Fstrong> obtained during authorization must be included. This ensures proper user identification and bet processing.\u003C\u002Fp>\n\u003Ch4>Step 3: Receiving Results\u003C\u002Fh4>\n\u003Cp>After the outcomes or coupons are calculated, our system sends \u003Cstrong>POST requests\u003C\u002Fstrong> to the specified \u003Ccode>remote_host\u003C\u002Fcode>. This request includes:\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>\u003Cstrong>Coupon status\u003C\u002Fstrong> (win, loss, or refund).\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Statuses of all outcomes\u003C\u002Fstrong> included in the coupon.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Results are sent as soon as the outcome is determined. For example:\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>If the bet was placed on an intermediate outcome (e.g., handicap 2.5, and the third goal is scored), the calculation may be performed during the match.\u003C\u002Fli>\n  \u003Cli>If the bet is on the final result (e.g., team win), the status information will be sent immediately after the match ends.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Now review each step individually. We have described the requests, parameters, and API responses in detail.\u003C\u002Fp>",{"id":41,"title":42,"html":43,"json":44,"jsonTitle":45},"auth","User authorization","\u003Cp>Login, password, and the host for sending requests can be obtained from the manager.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Request URL:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{APIHOST}\u002FWebServices\u002FBCService.asmx\u002FLogIn\u002F\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Data Submission Type:\u003C\u002Fstrong> POST\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Submitted Data:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ctable>\n  \u003Cthead>\u003Ctr>\u003Cth>Parameter\u003C\u002Fth>\u003Cth>Description\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n  \u003Ctbody>\n    \u003Ctr>\u003Ctd>\u003Ccode>login\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>User login\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>password\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>User password\u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>\u003Cstrong>Important!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>During authorization, the response includes \u003Cstrong>cookies\u003C\u002Fstrong>. These \u003Cstrong>cookies\u003C\u002Fstrong> must be saved and sent with subsequent requests.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Recommendations for easier integration:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>Ensure the \u003Ccode>login\u003C\u002Fcode> field is passed as a string.\u003C\u002Fli>\n  \u003Cli>Verify the correct saving and sending of cookies, as this affects the execution of subsequent requests.\u003C\u002Fli>\n  \u003Cli>In case of an error, the request will return an empty object. Make sure to handle this scenario appropriately.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Cookies\u003C\u002Fstrong> are valid for 3 months. However, they may be reset if the server is restarted. Therefore, you need to reauthorize if you encounter an error while saving a coupon.\u003C\u002Fp>","\"errorCode\":1,\n\"fullErrorCode\":99,\n\"errorMessage\":\"Invalid access level\"","Error response",{"id":47,"title":48,"codeTabs":49,"codeTitle":66,"html":67},"auth-example","Example of sending a request (use the data provided by the manager):",[50,54,58,62],{"label":51,"lang":52,"body":53},"Python","python","import requests\nimport json\n\nurl = \"https:\u002F\u002Fexample-domain-calc.com\u002FWebServices\u002FBCService.asmx\u002FLogIn\u002F\"\n\npayload = json.dumps({\n  \"login\": \"demo-login@demosportapi.net\",\n  \"password\": \"demo-password\"\n})\nheaders = {\n  'Content-Type': 'application\u002Fjson'\n}\n\nprint(response.text)",{"label":55,"lang":56,"body":57},"PHP","php","$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL => 'https:\u002F\u002Fexample-domain-calc.com\u002FWebServices\u002FBCService.asmx\u002FLogIn\u002F',\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_ENCODING => '',\n    CURLOPT_MAXREDIRS => 10,\n    CURLOPT_TIMEOUT => 0,\n    CURLOPT_FOLLOWLOCATION => true,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST => 'POST',\n    CURLOPT_POSTFIELDS =>'{\n    \"login\":\"demo-login@demosportapi.net\",\n    \"password\":\"demo-password\"\n}',\n    CURLOPT_HTTPHEADER => array(\n    'Content-Type: application\u002Fjson'\n    ),\n));\n\n$response = curl_exec($curl);\n\ncurl_close($curl);\necho $response;",{"label":59,"lang":60,"body":61},"JavaScript","js","const myHeaders = new Headers();\nmyHeaders.append(\"Content-Type\", \"application\u002Fjson\");\n\nconst raw = JSON.stringify({\n    \"login\": \"demo-login@demosportapi.net\",\n    \"password\": \"demo-password\"\n});\n\nconst requestOptions = {\n    method: \"POST\",\n    headers: myHeaders,\n    body: raw,\n    redirect: \"follow\"\n};\n\nfetch(\"https:\u002F\u002Fexample-domain-calc.com\u002FWebServices\u002FBCService.asmx\u002FLogIn\u002F\", requestOptions)\n    .then((response) => response.text())\n    .then((result) => console.log(result))\n    .catch((error) => console.error(error));",{"label":63,"lang":64,"body":65},"Java","java","OkHttpClient client = new OkHttpClient().newBuilder()\n.build();\nMediaType mediaType = MediaType.parse(\"application\u002Fjson\");\nRequestBody body = RequestBody.create(mediaType, \"{\\r\\n    \\\"login\\\":\\\"demo-login@demosportapi.net\\\",\\r\\n    \\\"password\\\":\\\"demo-password\\\"\\r\\n}\");\nRequest request = new Request.Builder()\n.url(\"https:\u002F\u002Fexample-domain-calc.com\u002FWebServices\u002FBCService.asmx\u002FLogIn\u002F\")\n.method(\"POST\", body)\n.addHeader(\"Content-Type\", \"application\u002Fjson\")\n.build();\nResponse response = client.newCall(request).execute();","POST {APIHOST}\u002FWebServices\u002FBCService.asmx\u002FLogIn\u002F","\u003Cp>\u003Cstrong>Example Response:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Successful:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\"d\":{\"UserId\":\"36557\"}}\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Unsuccessful:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\"d\":{}}\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Response Fields Description:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ctable>\n  \u003Cthead>\u003Ctr>\u003Cth>Field\u003C\u002Fth>\u003Cth>Description\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n  \u003Ctbody>\n    \u003Ctr>\u003Ctd>\u003Ccode>UserId\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Unique user identifier\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>d\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Root object of the response\u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>\u003Cstrong>General Recommendations:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>Before the first request, ensure the user has entered the correct credentials.\u003C\u002Fli>\n  \u003Cli>Set up error handling to display the reasons for failed authorization to the user (e.g., incorrect login or password).\u003C\u002Fli>\n  \u003Cli>Log both successful and unsuccessful attempts for analysis and monitoring.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Cookies must be saved and sent with subsequent requests.\u003C\u002Fp>",{"id":69,"title":70,"html":71,"json":72,"jsonTitle":73},"coupon","The method for submitting a bet or coupon","\u003Cp>To submit a bet, you must use the cookies obtained during the authorization stage. These data are required to identify your session and process requests.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Request URL:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{HOST_API}\u002Fbet\u002Fplace\u002F\u003C\u002Fcode>\u003C\u002Fpre>","{\n    \"data\":{\n        \"list_bets\":[\n            \"line#586464528|17|954|2.5#4.27\",  \"live#586464528|87|4|0#1.12\"\n        ],\n        \"realAmount\":\"2\",\n        \"currency\":\"USD\",\n        \"lang\":\"en\",\n        \"remote_host\":\"https:\u002F\u002Fmysites.com\",\n        \"rate_mode\":\"reject\"\n    }\n}","Example body payload",{"id":75,"title":76,"html":77},"params","remote_host & rate_mode parameters","\u003Ch4>Field Descriptions\u003C\u002Fh4>\n\u003Ctable>\n  \u003Cthead>\u003Ctr>\u003Cth>Parameter\u003C\u002Fth>\u003Cth>Description\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n  \u003Ctbody>\n    \u003Ctr>\u003Ctd>\u003Ccode>list_bets\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Bet code and odds. Format: \u003Ccode>\"event_type#match_ID|bet_code#odds\"\u003C\u002Fcode>. Example: \u003Ccode>\"live#579216393|1|1|0#2.1\"\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>realAmount\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Bet amount. Must be passed as a string, e.g., \"150\".\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>currency\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Coupon currency.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>lang\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>The language in which the bet and coupon are saved. For example: \"en\", \"ru\", or \"tr\".\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>remote_host\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>The URL to send the coupon calculation results to. Do not include a trailing slash.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>rate_mode\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Option for handling coupon acceptance when odds change: \"reject\" (reject on changes) or \"accept\" (accept regardless of changes). Default: \"accept\".\u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> Ensure that parameters are passed in the correct format. For example, \u003Ccode>list_bets\u003C\u002Fcode> must be an array, even if there is only one bet.\u003C\u002Fp>\n\u003Cblockquote>We do not validate the bet amount. You can submit either the actual bet amount or any arbitrary value. This is to ensure the confidentiality of your financial data. Our task is to provide calculation results. You are responsible for crediting winnings to your players.\u003C\u002Fblockquote>\n\u003Ch4>Required Parameters for Submitting a Bet:\u003C\u002Fh4>\n\u003Cul>\n  \u003Cli>\u003Cstrong>list_bets\u003C\u002Fstrong> — contains information about the bet and the corresponding match.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>remote_host\u003C\u002Fstrong> — the URL to which we will send the calculation results for the coupon or outcome.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>rate_mode\u003C\u002Fstrong> — determines how the system handles odds changes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Other parameters should also be sent, but they are optional and can be used for your convenience.\u003C\u002Fp>\n\u003Ch4>Description of the remote_host Parameter\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>remote_host\u003C\u002Fstrong> is the address of your server where we send requests with the results of bet calculations. This host must be configured to accept requests from our server. Below are examples of possible values and specific details about working with this parameter.\u003C\u002Fp>\n\u003Cp>You can specify various options for \u003Cstrong>remote_host\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>\u003Cstrong>Simple host:\u003C\u002Fstrong> \u003Ccode>https:\u002F\u002Fmysites.com\u003C\u002Fcode>\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Host with port:\u003C\u002Fstrong> \u003Ccode>https:\u002F\u002Fmysites.com:78665\u003C\u002Fcode>\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Host with additional paths:\u003C\u002Fstrong> \u003Ccode>https:\u002F\u002Fmysites.com\u002Frequest\u002Fsportapi\u002Fsender\u003C\u002Fcode>\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Host with parameters:\u003C\u002Fstrong> \u003Ccode>https:\u002F\u002Fmysites.com\u002Frequest.php?action=webhook\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Important:\u003C\u002Fstrong> When sending a request, our system automatically appends the string \u003Ccode>\u002Fapi\u002Fbet\u002Fresult\u003C\u002Fcode> to the specified \u003Ccode>remote_host\u003C\u002Fcode>. Thus, the final address for receiving requests is formed as \u003Ccode>remote_host + \"\u002Fapi\u002Fbet\u002Fresult\"\u003C\u002Fcode>. Ensure that your server is configured to receive data at this path.\u003C\u002Fp>\n\u003Ch6>Examples:\u003C\u002Fh6>\n\u003Cul>\n  \u003Cli>You specify \u003Ccode>remote_host = https:\u002F\u002Fmysites.com\u003C\u002Fcode>. We send requests to: \u003Ccode>https:\u002F\u002Fmysites.com\u002Fapi\u002Fbet\u002Fresult\u003C\u002Fcode>.\u003C\u002Fli>\n  \u003Cli>You specify \u003Ccode>remote_host = https:\u002F\u002Fmysites.com\u002Frequest.php?action=webhook\u003C\u002Fcode>. We send requests to: \u003Ccode>https:\u002F\u002Fmysites.com\u002Frequest.php?action=webhook\u002Fapi\u002Fbet\u002Fresult\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Technical Details:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>Requests are sent using the \u003Ccode>POST\u003C\u002Fcode> method.\u003C\u002Fli>\n  \u003Cli>Your server must be ready to accept JSON data that we send.\u003C\u002Fli>\n  \u003Cli>Your server must return a 200 status code upon successful data receipt.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Ensure that your server correctly processes the specified path and requests. The next section provides an example of the data structure sent by our server.\u003C\u002Fp>\n\u003Ch4>Description of the rate_mode Parameter\u003C\u002Fh4>\n\u003Cp>The \u003Cstrong>rate_mode\u003C\u002Fstrong> parameter defines the system's behavior when odds change. It can take two values:\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>\u003Cstrong>accept\u003C\u002Fstrong>: In this mode, the coupon will be accepted with the current odds, even if they have changed. For example, a player adds a bet \"Manchester Wins\" with odds of 2.02. While they press the \"Place Bet\" button, the odds change to 1.37 or 2.78. In the \u003Ccode>accept\u003C\u002Fcode> mode, the system saves the coupon with the new odds without notifying your system.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>reject\u003C\u002Fstrong>: In this mode, the system rejects the coupon if the odds have changed. The response will include an error notifying that the odds have changed.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Choose the mode that best suits your business processes and provides convenience for your users.\u003C\u002Fp>\n\u003Ch4>Important Recommendations\u003C\u002Fh4>\n\u003Col>\n  \u003Cli>\u003Cstrong>JSON Formatting:\u003C\u002Fstrong> Ensure that the data is properly serialized into JSON format before sending.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Cookies:\u003C\u002Fstrong> Include the cookies obtained during authorization to successfully identify the user's session.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Error Handling:\u003C\u002Fstrong> Handle server responses, especially cases where \u003Ccode>errorCode = 1\u003C\u002Fcode> is returned.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Testing:\u003C\u002Fstrong> Conduct tests at all stages of integration, including sending single and multiple bets.\u003C\u002Fli>\n\u003C\u002Fol>",{"id":79,"title":80,"html":81},"fields","Response fields & error description","\u003Ch4>Response Fields\u003C\u002Fh4>\n\u003Ctable>\n  \u003Cthead>\u003Ctr>\u003Cth>Parameter\u003C\u002Fth>\u003Cth>Description\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n  \u003Ctbody>\n    \u003Ctr>\u003Ctd>\u003Ccode>betCode\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Unique bet number in our system\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>errorCode\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Main status of the request result\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>fullErrorCode\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Error details\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>errorMessage\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>System error text messages\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>AmountOut\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Potential win amount\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>CountEvents\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Number of bets in the coupon\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>Coef\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Outcome coefficients\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>IsLive\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Bet type: live or pre-match (true\u002Ffalse)\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>LinesId\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Match ID\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Ccode>EventDate\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Match date\u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch4>Error Description for Bet Submission\u003C\u002Fh4>\n\u003Cp>Various errors may occur when submitting a bet. The server response contains three key fields:\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>\u003Cstrong>errorCode:\u003C\u002Fstrong> Main request status.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>fullErrorCode:\u003C\u002Fstrong> Error details.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>errorMessage:\u003C\u002Fstrong> Text description of the error.\u003C\u002Fli>\n\u003C\u002Ful>",{"id":83,"title":84,"json":85,"jsonTitle":84},"success","Successful operation","{\n  \"errorCode\": 0,\n  \"fullErrorCode\": 0,\n  \"errorMessage\": \"\"\n}",{"id":87,"title":88,"html":89,"json":90,"jsonTitle":91},"errors","Error codes","\u003Cp>If the bet is successfully accepted, the server returns a success response (see above). The coupon has been accepted, and there are no errors.\u003C\u002Fp>\n\u003Cp>If an error occurs, the server returns a general error response (see above). One of the possible errors occurred. Below are the error codes and messages.\u003C\u002Fp>\n\u003Ch4>Possible Error Codes and Descriptions\u003C\u002Fh4>\n\u003Ctable>\n  \u003Cthead>\u003Ctr>\u003Cth>Error Code (fullErrorCode)\u003C\u002Fth>\u003Cth>Error Message (errorMessage)\u003C\u002Fth>\u003Cth>Description\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n  \u003Ctbody>\n    \u003Ctr>\u003Ctd>\u003Cstrong>1\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>\u003Ccode>error_wrong_bet_data\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Incorrect bet data. Check the \u003Ccode>list_bets\u003C\u002Fcode> parameter and other required fields.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>1\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>\u003Ccode>error_block_bet_data\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>The bet is temporarily blocked and cannot be accepted.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>1\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>\u003Ccode>error_repeat_bet_data\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Duplicate bets on the same outcome from one match are not allowed.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>2\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>\u003Ccode>label_change_rate\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>The odds have changed. The coupon was rejected due to a mismatch between the specified and current odds.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>3\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>\u003Ccode>error_exist_bet\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>The specified bet outcome no longer exists. Check the data for accuracy.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>99\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>Invalid access level\u003C\u002Ftd>\u003Ctd>The user does not have the rights to perform this operation. Most likely, reauthorization is required, cookies are missing, or the account is blocked.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>99\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>Error exist remote host!\u003C\u002Ftd>\u003Ctd>The \u003Ccode>remote_host\u003C\u002Fcode> parameter is incorrect or missing. Check your server settings.\u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch4>Recommendations for Error Handling\u003C\u002Fh4>\n\u003Cul>\n  \u003Cli>\u003Cstrong>Input Data Validation:\u003C\u002Fstrong> Ensure that all required parameters are provided correctly. Check the format of \u003Ccode>list_bets\u003C\u002Fcode> and the presence of all mandatory fields.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Working with Odds:\u003C\u002Fstrong> If \u003Ccode>rate_mode = reject\u003C\u002Fcode> is used, handle errors related to odds changes (\u003Ccode>label_change_rate\u003C\u002Fcode>).\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Server Configuration:\u003C\u002Fstrong> Ensure that your server is correctly specified in the \u003Ccode>remote_host\u003C\u002Fcode> parameter.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Error Logging:\u003C\u002Fstrong> Log all errors (\u003Ccode>errorCode\u003C\u002Fcode>, \u003Ccode>fullErrorCode\u003C\u002Fcode>, \u003Ccode>errorMessage\u003C\u002Fcode>) to simplify debugging and interaction with support.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Actions for Critical Errors:\u003C\u002Fstrong> In case of level \u003Ccode>99\u003C\u002Fcode> errors, check access rights and API configurations on your side.\u003C\u002Fli>\n\u003C\u002Ful>","{\n  \"errorCode\": 1,\n  \"fullErrorCode\": [ERROR_CODE],\n  \"errorMessage\": \"[ERROR_DESCRIPTION]\"\n}","General error",{"id":93,"title":94,"json":95,"jsonTitle":94},"odds-changed","What to do when the odds have moved","{\n    \"errorCode\":1,\n    \"fullErrorCode\":2,\n    \"errorMessage\":\"Odds have changed\",\n    \"rate_mode\":\"reject\",\n    \"changed\":[\n        {\n            \"gid\":\"586464528\", \u002F\u002F match ID\n            \"rb\":2.15, \u002F\u002F odds in your coupon\n            \"rg\":\"2.27\", \u002F\u002F current real odds\n            \"rt\":0 \u002F\u002F status of change. 0 - decreased, 1 - increased\n        }\n    ]\n}",{"id":97,"title":98,"html":99,"json":100,"jsonTitle":101},"results","Sending calculation results","\u003Cp>When a bet is added to our system and calculated, we send the coupon results to your server. These can include:\u003C\u002Fp>\n\u003Cul>\n  \u003Cli>Coupon results (full calculation).\u003C\u002Fli>\n  \u003Cli>Coupon statuses (win, loss, refund).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Requests are sent to the address you specified in the \u003Ccode>remote_host\u003C\u002Fcode> parameter. The string \u003Ccode>\u002Fapi\u002Fbet\u002Fresult\u003C\u002Fcode> is automatically appended to this address. Ensure that your server is configured to receive data at this path.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example of the Final Address:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you specified: \u003Ccode>remote_host = https:\u002F\u002Fmysite.com\u003C\u002Fcode>, we will send data to: \u003Ccode>https:\u002F\u002Fmysite.com\u002Fapi\u002Fbet\u002Fresult\u003C\u002Fcode>.\u003C\u002Fp>","{\n    \"remote_host\": \"https:\u002F\u002Fmysite.com\",\n    \"Heads\": [{\n        \"KeyHead\": {\n            \"Id\": \"344143\",\n            \"BarCode\": \"x9c52i8411\"\n        },\n        \"Status\": 2,\n        \"ExtStatus\": 0,\n        \"AmountOut\": 11130,\n        \"DateReceive\": \"1597075782\"\n    }]\n}","Sample payload: one coupon",{"id":103,"title":104,"html":105,"json":106,"jsonTitle":104},"results-multi","Sample payload: several coupons","\u003Ch4>Field Descriptions\u003C\u002Fh4>\n\u003Ctable>\n  \u003Cthead>\u003Ctr>\u003Cth>Field\u003C\u002Fth>\u003Cth>Description\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n  \u003Ctbody>\n    \u003Ctr>\u003Ctd>\u003Cstrong>remote_host\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>The address of your server where data is sent.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>Id\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>Unique identifier of the bet in our system. Ignored in most cases.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>BarCode\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>Unique coupon number.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>Status\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>Current status of the coupon. Possible values: \u003Cstrong>2\u003C\u002Fstrong> — win, \u003Cstrong>4\u003C\u002Fstrong> — loss.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>ExtStatus\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>Additional status in case of a refund: \u003Cstrong>0\u003C\u002Fstrong> — no changes, \u003Cstrong>1\u003C\u002Fstrong> — one or more outcomes were calculated with a changed coefficient.\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>AmountOut\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>Win amount (if the coupon won).\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003Ctr>\u003Ctd>\u003Cstrong>DateReceive\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>The time and date when the coupon was calculated.\u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch4>How to Interpret Status and ExtStatus\u003C\u002Fh4>\n\u003Cul>\n  \u003Cli>\u003Cstrong>Status = 2 and ExtStatus = 0:\u003C\u002Fstrong> The coupon won.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Status = 4 and ExtStatus = 0:\u003C\u002Fstrong> The coupon lost.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Status = 2 and ExtStatus = 1:\u003C\u002Fstrong> Refund. The coupon was calculated with a coefficient of 1.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Important Points for Integration\u003C\u002Fh4>\n\u003Cul>\n  \u003Cli>\u003Cstrong>Handling ExtStatus = 1:\u003C\u002Fstrong> This may occur if a match was canceled or ended prematurely. In such cases, all bets are calculated with a coefficient of 1.\u003C\u002Fli>\n  \u003Cli>\u003Cstrong>Technical Requirements:\u003C\u002Fstrong> Requests are sent using the \u003Cstrong>POST\u003C\u002Fstrong> method. Your server must be ready to accept JSON data at the path \u003Ccode>remote_host + \u002Fapi\u002Fbet\u002Fresult\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>","{\n    \"remote_host\": \"https:\u002F\u002Fmysite.com\",\n    \"Heads\": [{\n        \"KeyHead\": {\n            \"Id\": \"313\",\n            \"BarCode\": \"75vz48t935\"\n        },\n        \"Status\": 2,\n        \"ExtStatus\": 0,\n        \"AmountOut\": 19.85,\n        \"DateReceive\": \"1592937968\"\n    }, {\n        \"KeyHead\": {\n            \"Id\": \"312\",\n            \"BarCode\": \"77i0r6e15t\"\n        },\n        \"Status\": 2,\n        \"ExtStatus\": 0,\n        \"AmountOut\": 12.51,\n        \"DateReceive\": \"1592937280\"\n    }]\n}",{"title":108,"items":109},"Other integration",[110,113,116],{"label":111,"href":112},"Sports Line docs","\u002Fdoc-sport-line-api.html",{"label":114,"href":115},"Sports Line API","\u002Fsport-line-api.html",{"label":117,"href":118},"Match Results API","\u002Fsport-rezult-api.html",{},"doc-sport-events-api.html","en\u002Fdoc-sport-events-api","MQcHlGMuEgpx2zef_x1aY2tLQsi8gphSF0gI7AtDEU4"]