# Tips Message Structure

For each message type, fields that are null are omitted from the payload to deliver the lightest possible message.

***

## Added Tips — Example (tipEventType = 1)

```json
{
  "header": {
    "MessageId": "5f7a9d5a-44c0-4f1e-9d24-2a93d6e7b0a1",
    "Timestamp": "2025-11-04T19:50:00Z",
    "MessageType": 3,
    "tipEventType": 1
  },
  "body": {
    "fixtureId": 123456,
    "status": 2,
    "tips": [
      {
        "id": "TIP_001",
        "marketId": 1,
        "betName": "Match Winner",
        "line": "1.85",
        "text": "Home team to win",
        "playerId": 501,
        "isHomeTeamTip": true,
        "language": "en"
      }
    ]
  }
}
```

## Fields — Added (tipEventType = 1)

| Field     | Type                 | Nullable | Notes                               |
| --------- | -------------------- | -------- | ----------------------------------- |
| fixtureId | int                  | No       | Join to fixtures                    |
| status    | int (FixtureStatus)  | No       | Fixture status at update time       |
| tips      | array of Tip objects | No       | Added/updated tips for this fixture |

## Tip (object)

| Field         | Type   | Nullable | Notes                             |
| ------------- | ------ | -------- | --------------------------------- |
| id            | string | No       | Tip id                            |
| marketId      | int    | No       | Market identifier                 |
| betName       | string | No       | Market/bet label                  |
| line          | string | Yes      | Odds line or relevant value       |
| text          | string | Yes      | Tip description                   |
| playerId      | int    | Yes      | If applicable                     |
| isHomeTeamTip | bool   | Yes      | true = home, false = away/neutral |
| language      | string | Yes      | ISO language code (e.g., "en")    |

***

## Removed Tips — Example (tipEventType = 2)

```json
{
  "header": {
    "MessageId": "d8a17f3d-0f5b-4d0e-9d2d-2a1f4a8b9c3e",
    "Timestamp": "2025-11-04T19:52:00Z",
    "MessageType": 3,
    "tipEventType": 2
  },
  "body": {
    "fixtureId": 123456,
    "status": 2,
    "tips": ["TIP_001", "TIP_002"]
  }
}
```

## Fields — Removed (tipEventType = 2)

| Field     | Type                | Nullable | Notes                 |
| --------- | ------------------- | -------- | --------------------- |
| fixtureId | int                 | No       | Join to fixtures      |
| status    | int (FixtureStatus) | No       | Status at update time |
| tips      | array of string     | No       | Tip IDs to remove     |
