Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Introduction

We are capable of integrating external Fixture feeds, which will give us the means to make the external Fixture Id available both through the Booking API and include it within the Fixture Creation message that we subsequently will generate.

Requirements

In order for us to successfully integrate your external Fixture feeds, our Fixture Acquisition development team will require that the following criteria are met.

IP whitelisting

The following IP addresses will need to be whitelisted in order for us to be able to access your feed:

Range 185.107.196.0/22 (185.107.196.1 - 185.107.199.254)

If you are unable to whitelist IP ranges, then whitelisting these three IP addresses will be sufficient:

·        185.107.196.33

·        185.107.196.35

·        185.107.198.31

Feed requirements

The feed can be either an XML/JSON feed or a Pull API and the following data will need to be available in order for us to successfully integrate the feed:

  • Sport or Sport Id

  • Competition name & Competition Id

  • Fixture name & Fixture Id

  • Fixture start time

  • Home competitor name & Id

  • Away competitor name & Id

Additionally, if you would also like us to integrate your Odds data, then the following will need to be available for all fixtures:

  • Market name & Id

  • Selection name & Id

  • Odds per Selection

Feed Example

Below you can find an example of what we would expect there to be in the feed - the example features one fixture and one market:

<group id="240" name="Football">
<group id="141078497" name="England">
<group id="6323610" name="ENG Premier League">
<group id="998598200" name="Bournemouth v Manchester United">
<market name="3 Way Handicap (1) [90 Mins]" id="130433112" expiry="2018-11-03T12:30:00Z" inRunning="false">
<selection name="Bournemouth (+1)" id="59805551700" handicap="1.0" price="1.775" selectionLinkInfo="59805551700/415013750202"/>
<selection name="Manchester United (-1)" id="59805552600" handicap="-1.0" price="3.7" selectionLinkInfo="59805552600/415013750002"/>
<selection name="Handicap Tie - Bournemouth +1" id="59805553200" handicap="" price="3.75" selectionLinkInfo="59805553200/415013749902"/>
</market>

Non-feed related Mandatory Requirements

We would also require you to provide us with the following information should you wish us to successfully integrate your Fixtures feed:

  • Any Documentation that you have available regarding how your feed has been implemented.

  • If your feed requires an Authentication key, then you will need to supply us with the credentials to the feed. If this is a temporary Authentication key, which will have an expiry time of 5 weeks prior to it being changed, we need to be notified and the new authentication key needs to be provided.

External Fixture Id via the Booking API

Once the external Fixture feed has been successfully integrated, your Fixture Id’s will become available through the Booking API. More information about the Booking API itself can be found on the following Confluence page.

The external Fixture Id will however be present within the CustomerFixtureId element - an example of the response you would receive through the Booking API would be as follows:

{
    "FixtureId": 5242621,
    "CompetitionId": 198,
    "CompetitionName": "Uruguay Primera División",
    "SportId": 10,
    "Name": "CA Cerro v CA Peñarol",
    "Date": "2018-03-21T19:00:00Z",
    "CustomerFixtureId": "14124225",
    "IsBooked": true,
    "AvailableFeeds": [
      {
        "Name": null,
        "Type": "MatchState",
        "IsLicensed": true,
        "Metadata": {
          "Origin": "Venue",
          "Lineups": "False",
          "Multisport": "False"
        }
      },
      {
        "Name": null,
        "Type": "TradingState",
        "IsLicensed": true,
        "Metadata": null
      }
    ],
    "ExternalIds": [
      {
        "Source": "1000",
        "Id": "14124225"
      },
      {
        "Source": "1001",
        "Id": "2747471"
      }
    ]
  }

External Fixture Id via the Fixture Creation message

Once the external Fixture feed has been successfully integrated, your Fixture Id’s will become available and will be present within our Fixture Creation messages. More information about the Booking API itself can be found on the following Confluence page.

The external Fixture Id will be be available in the ExternalId element - a truncated example of the Fixture creation message you would expect to receive would be as follows - the full message is available in the aforementioned Confluence page which details the structure of our Fixture creation messages.
The example is as follows:

<?xml version="1.0" encoding="utf-8"?>
<Updategram xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.sportsdataservices.com/integrationService/v3">
    <Header>
        <MessageGuid>6a39609c-5d82-45b4-8ff0-d409286b90c1</MessageGuid>
        <TimeStampUtc>2018-04-12T19:06:57.344251Z</TimeStampUtc>
        <Retry>0</Retry>
        <ChannelId>7026</ChannelId>
    </Header>
    <Fixture>
        <Id>5235368</Id>
        <Name>Olympique Marseille v RB Leipzig</Name>
        <FixtureType>Match</FixtureType>
        <Status>Scheduled</Status>
        <StartTimeUtc>2018-04-12T19:05:00Z</StartTimeUtc>
        <Sport>
            <Id>10</Id>
            <Name>Football</Name>
        </Sport>
        <Competition>
            <Id>2072</Id>
            <Name>UEFA Europa League</Name>
            <Region>
                <Id>6</Id>
                <Name>Europe</Name>
            </Region>
        </Competition>
        <Season>
            <Id>64680</Id>
            <Name>UEFA Europa League 2017 2018</Name>
        </Season>
        <Round>
            <Id>398950</Id>
            <Name>Olympique Marseille v RB Leipzig</Name>
        </Round>
        <Competitors>
        ...
        </Competitors>
        <AggregateEventInfo/>
        <ExternalId>1659322</ExternalId>
        <FootballProperties>
            <ExtraTimeProperties>
                <IsExtraTime>true</IsExtraTime>
                <IsSecondLeg>true</IsSecondLeg>
                <FirstLegId>5235367</FirstLegId>
                <AwayGoalsAfterNormalTime>true</AwayGoalsAfterNormalTime>
                <AwayGoalsAfterExtraTime>true</AwayGoalsAfterExtraTime>
            </ExtraTimeProperties>
            <MatchDuration>PT1H30M</MatchDuration>
            <ExtraTimeDuration>PT30M</ExtraTimeDuration>
        </FootballProperties>
    </Fixture>
</Updategram>

  • No labels