# Japanese

#### LSportsクイック接続 - RabbitMQの <a href="#lsports-rabbitmq" id="lsports-rabbitmq"></a>

だから、RMQ、素晴らしい選択肢を経由してLSportsサービスを実装するために始めました！\
のは、いくつかの簡単な手順で実行している接続を取得してみましょう。

このガイドは、LSportsサポートチームがタイムリーにし、あなたの部分の最小限の労力で問題を解決するためにどのように動作するかの理解を提供することを意図しています。

**ステップバイステップの手順:**\
• まず、我々は非常に迅速な実施のために（C＃やPHPで現在利用可能な）私たちのSDKを使用することをお勧めします、あなたはここからお好みのプログラミング言語に基づいてファイルをダウンロードすることができます:\
[SDK - C#](https://lsportseu-my.sharepoint.com/personal/stas_m_lsports_eu/_layouts/15/guestaccess.aspx?docid=0bd80e807559e4543b520bd0fe7f25b46\&authkey=AerSWTRZ2TMn2HyT3r9NEgE\&e=x0V82l)

次の例では、これらの資格情報を参照します。\
**ユーザー名： MyEmail**\
**パスワード： Passw0rd1234**\
**パッケージ： 102030**\
（あなたはLSportsによってあなたに与えられた資格情報を使用する必要があります) `注意：以下のすべての例は、で記述されていますC＃`\
あなた自身のコードを実装することを選択しなければならない、あなたはここでRMQライブラリを取得する必要があります。\
[RMQ Devtools](https://www.rabbitmq.com/devtools.html).\
LSportsが現在のバージョン3.6.5.0を使用していますのでご注意ください

1. 以下のようにあなたのパッケージはAPI呼び出しを送信することで有効になっていることを確認することでオフに開始します:

**InPlayパッケージ:** <https://inplay.lsports.eu/api/Package/EnablePackage?username=MyEmail&password=Passw0rd1234&packageid=102030>

**Prematchパッケージ:** <https://prematch.lsports.eu/OddService/EnablePackage?username=MyEmail&password=Passw0rd1234&guid=guid-provided-by-LSports>

**レスポンス:**\
XML Schema:

```
<xs:schema>
  <xs:element name="Message">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Header">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:short" name="HttpStatusCode"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Body">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="Message"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
```

JSON Schema:

```
{
  "type": "object",
  "properties": {
    "Header": {
      "type": "object",
      "properties": {
        "HttpStatusCode": {
          "type": "integer"
        }
      },
      "required": [
        "HttpStatusCode"
      ]
    },
    "Body": {
      "type": "object",
      "properties": {
        "Message": {
          "type": "string"
        }
      },
      "required": [
        "Message"
      ]
    }
  },
  "required": [
    "Header",
    "Body"
  ]
}
```

パッケージがすでに有効になっていた場合、メッセージは、「バリューが既に設定された」含まれている必要があります。 他のステータスまたはエラーメッセージの場合は、資格情報を再確認やご連絡ください。

2. 次のように接続ファクトリを作成します:

```
ConnectionFactory connectionFactory = new ConnectionFactory
{
    HostName = "Described below",
    Port = 5672,
    UserName = "MyEmail",
    Password = "Passw0rd1234",
    AutomaticRecoveryEnabled = true,
    VirtualHost = "Customers", //Default value
    RequestedHeartbeat = 580,
    NetworkRecoveryInterval = TimeSpan.FromSeconds(1)
};
```

**RMQ HostName:**\
InPlay: **inplay-rmq.lsports.eu**\
PreMatch: **prematch-rmq.lsports.eu**

3. 以下のような接続を作成します:

```
IConnection connection = _connectionFactory.CreateConnection();
```

4. 次のようにモデルを作成します:

```
IModel model = connection.CreateModel();
```

5. サービスの品質を設定します:

```
model.BasicQos(prefetchSize: 0, prefetchCount: 1000, global: false);
```

6. メッセージを消費する:

```
EventingBasicConsumer consumer = new EventingBasicConsumer(model);
consumer.Received += (sender, eventArgs) =>
{
    // Deserialize message
    // Call method to handle deserialized message
};
```

7. メッセージの開始を開始する：\
   （パッケージIDにアンダースコア（ '\_'）を使って入力してください） 例えば、パッケージIDは'102030'であった場合

```
model.BasicConsume(queue: '_102030_', noAck: true, consumer: consumer)
```

* ここからあなたのRMQ接続をプルアップし、ハートビートメッセージの受信を開始することができるはずです.\
  Heartbeat

**完全なスナップショット要求**\
更新があなたにRMQて来たようあなたがLSportsからのメッセージを消費し始める前に、あなたが受信される必要があるデータのスナップショットを要求しなければならない、差分のみです。\
次のAPI呼び出しを行うことによってそうすることができます。

* Inplayスナップショット - 現在inplayすべてのイベントのデータを提供します.
* プレマッチがイベントを取得する - 要求されたイベント（複数可）のデータを提供します.

我々のデータ構造の詳細な説明については、あなたが私たちのドキュメントを読み続けることができます。

#### 可能性のあるエラーの種類 <a href="#undefined" id="undefined"></a>

**注意：キューは10000未読/アンパックメッセージに達した場合には、自動的に削除されますと、あなたのパッケージが無効になります.**

ほとんど失敗した接続試行は、間違った資格情報または非アクティブなパッケージのために起こります。 以下は、最も一般的なエラーと原因は次のとおりです.

**「接続に失敗しました」** - 接続の詳細、すなわち接続ファクトリは、RMQホストは、VirtualHostのが正しく入力されたことを確認してください.

**「アクセスが拒否されました」**- あなたのパッケージが有効になっているとログイン資格情報とパッケージIDが正しく入力されたことを確認してください.

**今、あなたがする必要があるすべてはあなたの特定のニーズに応じて私たちのスポーツのデータを発注開始すること、です。 詳細な文書については、以下のリンクを参照してください.**\
**我々のデータ構造の詳細な説明については、あなたが私たちのドキュメントを読み続けることができます.**

あなたは私たちのコネクション文書についてのフィードバックを持っているか、どんなサポートが必要な場合は、 あなたの販売の連絡先に到達してください.\
LSports
