# Integration

This guide will help you quickly get connected to the TRADE data stream via RabbitMQ.

## **Step 1: Access Credentials**

**Contact Your CSM:** Your dedicated Customer Success Manager (CSM) will provide you with your login credentials (Username, Password, Package ID).

## **Step 2: Enable Distribution**

* **API Request:** You must enable your distribution before starting to consume messages.
* **Request Endpoint:**
  * **Enable:** `https://stm-api.lsports.eu/Distribution/Start`
  * **Disable:** `https://stm-api.lsports.eu/Distribution/Stop`
* **Request Body:**

  ```json
  {
      "PackageId": "YOUR_PACKAGE_ID",
      "UserName": "YOUR_USERNAME",
      "Password": "YOUR_PASSWORD"
  }
  ```
* **Response:**

  ```json
  {
      "Header": {
          "HttpStatusCode": 200 // Or other status code
      },
      "Body": {
          "Message": "Success" // Or other message
      }
  }
  ```

## **Step 3: Establish a Connection**

**RabbitMQ:** LSports uses RabbitMQ for real-time data delivery.

### **Connection Strings:**

{% content-ref url="integration/code-samples/rmq-consumer-php" %}
[rmq-consumer-php](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-php)
{% endcontent-ref %}

{% content-ref url="integration/code-samples/rmq-consumer-go" %}
[rmq-consumer-go](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-go)
{% endcontent-ref %}

{% content-ref url="integration/code-samples/rmq-consumer-node.js" %}
[rmq-consumer-node.js](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-node.js)
{% endcontent-ref %}

{% content-ref url="integration/code-samples/rmq-consumer-python" %}
[rmq-consumer-python](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-python)
{% endcontent-ref %}

{% content-ref url="integration/code-samples/rmq-consumer-javascript" %}
[rmq-consumer-javascript](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-javascript)
{% endcontent-ref %}

{% content-ref url="integration/code-samples/rmq-consumer-c" %}
[rmq-consumer-c](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-c)
{% endcontent-ref %}

### **Connection Setup (Example using C#):**

```csharp
// 1. Create a connection
IConnection connection = _connectionFactory.CreateConnection();

// 2. Create a model
IModel model = connection.CreateModel();

// 3. Configure Quality of Service
model.BasicQos(prefetchSize: 0, prefetchCount: 100, global: false);

// 4. Consume Messages 
EventingBasicConsumer consumer = new EventingBasicConsumer(model);

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

// 5. Start message consumption (Replace '_102030_' with your Package ID)
model.BasicConsume(queue: '_YOUR_PACKAGE_ID_', noAck: true, consumer: consumer);
```

##

## **Step 4: Data Mapping**

**Lsports Markets:** Ensure your internal market mapping aligns with Lsports' market structure. Use the `GetMarkets` method to obtain a comprehensive list of available markets, or contact your CSM.

## **Step 5: Stress Test**

* **Simulate High-Volume Traffic:** Once your system is running, perform a stress test to simulate high-volume traffic.
* **Schedule with Your CSM:** Contact your CSM or Solution Engineer to schedule a stress test.

## **Step 6: Go Live**

* **Production Readiness:** Once your system is ready, contact your CSM to schedule a go-live date.
* **Production Setup:** We will switch your account from testing to production and set up the ordered quota.

**Congratulations!** You've successfully integrated with TRADE! Now, you're ready to unlock the exciting possibilities of our product and enhance your offerings.

***

## Integration Resources

### Connection & Messaging

* [RabbitMQ Connection Setup](https://docs.lsports.eu/u/trade/integration/rmq-connection/connection-and-consumption-setup)
* [Message Deserializing](https://docs.lsports.eu/u/trade/integration/rmq-connection/message-deserializing)
* [Market/Bet Message Handling](https://docs.lsports.eu/u/trade/integration/rmq-connection/market-bet-message-handling)
* [How to Work with TRADE Feed](https://docs.lsports.eu/u/trade/integration/rmq-connection/how-to-work-with-trade-feed)

### Message Structure

* [Message Types Overview](https://docs.lsports.eu/u/trade/integration/message-structure/message-types-overview)
* [Fixture Messages](https://docs.lsports.eu/u/trade/integration/message-structure/fixture)
* [Market Messages](https://docs.lsports.eu/u/trade/integration/message-structure/market)
* [Livescore Messages](https://docs.lsports.eu/u/trade/integration/message-structure/livescore)
* [Settlement Messages](https://docs.lsports.eu/u/trade/integration/message-structure/settlement)

### APIs

* [Metadata API](https://docs.lsports.eu/u/trade/integration/apis/metadata)
* [Subscription API](https://docs.lsports.eu/u/trade/integration/apis/subscription)
* [Distribution API](https://docs.lsports.eu/u/trade/integration/apis/distribution)
* [ComboBuilder API](https://docs.lsports.eu/u/trade/combo-builder)
* [Snapshot API](https://docs.lsports.eu/u/trade/integration/apis/snapshot)

### SDKs

* [SDK Overview](https://docs.lsports.eu/u/trade/integration/sdk/sdk-overview)
* [.NET SDK](https://docs.lsports.eu/u/trade/integration/sdk/sdk-installation-guide-.net)
* [Java SDK](https://docs.lsports.eu/u/trade/integration/sdk/sdk-installation-guide-java)
* [Node.js SDK](https://docs.lsports.eu/u/trade/integration/sdk/sdk-installation-guide-nodejs)

### Code Samples

* [PHP](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-php)
* [Go](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-go)
* [Python](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-python)
* [Node.js](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-node.js)
* [C#](https://docs.lsports.eu/u/trade/integration/code-samples/rmq-consumer-c)
