## RCS-Objekt
| PARAMETERNAME  | WERT                                                                                                                                      | PFLICHT      | STANDARDWERT  |
|:---------------|:------------------------------------------------------------------------------------------------------------------------------------------|:------------:|:-------------:|
| sender         | Textabsender. Er muss zuerst registriert werden. Für die Registrierung wenden Sie sich [hier](https://www.bulkgate.com/de/kontaktieren-sie-uns/) an den Support.        |   **Ja**     |       -       |
| expiration     | Zeitlimit in Sekunden, nach dem ein alternativer Kanal verwendet wird. Werte unter `60` werden ignoriert und durch den Standardwert ersetzt |    Nein      |    `60`       |
| message        | Message-Objekt. Kann nicht zusammen mit den folgenden Parametern verwendet werden (File, Card, Carousel), siehe [Message-Objekt](#message-objekt) |    Nein      |    `null`     |
| file           | File-Objekt. Kann nicht zusammen mit den folgenden Parametern verwendet werden (Message, Card, Carousel), siehe [File-Objekt](#file-objekt) |    Nein      |    `null`     |
| card           | Card-Objekt. Kann nicht zusammen mit den folgenden Parametern verwendet werden (Message, File, Carousel), siehe [Card-Objekt](#card-objekt) |    Nein      |    `null`     |
| carousel       | Carousel-Objekt. Kann nicht zusammen mit den folgenden Parametern verwendet werden (Message, File, Card), siehe [Carousel-Objekt](#carousel-objekt) |    Nein      |    `null`     |


## Message-Objekt
| PARAMETERNAME  | WERT                                                       | PFLICHT   | STANDARDWERT  |
|:---------------|:-----------------------------------------------------------|:---------:|:-------------:|
| text           | Text der RCS-Nachricht                                     |  **Ja**   |       -       |
| suggestions    | Vorschläge, siehe [Suggestion](#suggestions-objekt)        |   Nein    |     `[]`      |


**Beispiel einer Anfrage mit Message-Objekt:**
```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": [
		"420777777777"
	],
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"message": {
				"text": "Your order 4517 has been shipped.",
				"suggestions": [
					{
						"type": "reply",
						"text": "Thanks",
						"postback": "order_thanks"
					},
					{
						"type": "open_url",
						"text": "Track the parcel",
						"url": "https://example.com/track/4517"
					}
				]
			}
		}
	}
}
``` 


## File-Objekt
| PARAMETERNAME  | WERT                                                                                                                                                                     | PFLICHT   | STANDARDWERT  |
|:---------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------:|:-------------:|
| url            | Pfad zur Datei                                                                                                                                                           |  **Ja**   |       -       |
| force_refresh  | Ist `force_refresh` auf true gesetzt, lädt RBM den Inhalt neu von der angegebenen URL, auch wenn er im Cache liegt. Dadurch verlängert sich die Zustellzeit der Nachricht für die Nutzer. |   Nein    |    `false`    |
| suggestions    | Vorschläge, siehe [Suggestion](#suggestions-objekt)                                                                                                                     |   Nein    |     `[]`      |

**Beispiel einer Anfrage mit File-Objekt:**
```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": [
		"420777777777"
	],
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"file": {
				"url": "https://example.com/invoice-4517.pdf",
				"force_refresh": false,
				"suggestions": [
					{
						"type": "reply",
						"text": "Got it",
						"postback": "invoice_received"
					}
				]
			}
		}
	}
}
``` 

### Beispiel für ein File-Objekt
![File-Objekt](docs:advanced-rcs/rcs_file_message_example)


## Card-Objekt
| PARAMETERNAME  | WERT                                               |  PFLICHT     | STANDARDWERT  |
|:---------------|:---------------------------------------------------|:------------:|:-------------:|
| title          | Titel der Karte                                    |    Nein      |    `null`     |
| description    | Beschreibung der Karte                             |    Nein      |    `null`     |
| alignment      | Ausrichtung der Karte nach links oder rechts       |    Nein      |    `null`     |
| orientation    | Ausrichtung der Karte, horizontal oder vertikal    |    Nein      |    `null`     |
| media          | Medien, siehe [Card-Media-Objekt](#card-media-objekt) |    Nein      |    `null`     |
| suggestions    | Vorschläge, siehe [Suggestion](#suggestions-objekt) |    Nein      |     `[]`      |


### Card-Media-Objekt
| PARAMETERNAME  | WERT                                                                                                                                                                     | PFLICHT    | STANDARDWERT  |
|:---------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------:|:-------------:|
| url            | Pfad zum Medienobjekt                                                                                                                                                    |  **Ja**    |       -       |
| force_refresh  | Ist force_refresh auf `true` gesetzt, lädt RBM den Inhalt neu von der angegebenen URL, auch wenn er im Cache liegt. Dadurch verlängert sich die Zustellzeit der Nachricht für die Nutzer. |    Nein    |    `false`    |
| height         | Höhe des Medienobjekts (Short, Medium, Tall)                                                                                                                             |    Nein    |    `null`     |


**Beispiel einer Anfrage mit Card-Objekt:**
```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": [
		"420777777777"
	],
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"card": {
				"title": "Order 4517",
				"description": "Shipped today, delivery in two working days.",
				"orientation": "vertical",
				"alignment": "left",
				"media": {
					"url": "https://example.com/order-4517.jpg",
					"height": "medium",
					"force_refresh": false
				},
				"suggestions": [
					{
						"type": "reply",
						"text": "Thanks",
						"postback": "order_thanks"
					}
				],
				"card_suggestions": [
					{
						"type": "open_url",
						"text": "Open the order",
						"url": "https://example.com/orders/4517"
					}
				]
			}
		}
	}
}
```

### Beispiel für ein Card-Objekt
![Card-Objekt](docs:advanced-rcs/rcs_card_message_example)


## Carousel-Objekt
| PARAMETERNAME  | WERT                                                         | PFLICHT     | STANDARDWERT  |
|:---------------|:-------------------------------------------------------------|:-----------:|:-------------:|
| width          | Breite des Karussells (small, medium)                        |    Nein     |   `null`      |
| cards          | Liste der Karussellkarten                                    |    Nein     |   `[]`        |



### Carousel-Card-Objekt
| PARAMETERNAME  | WERT                                                                | PFLICHT   | STANDARDWERT  |
|:---------------|:--------------------------------------------------------------------|:---------:|:-------------:|
| title          | Titel der Karussellkarte                                            |   Nein    |    `null`     |
| description    | Beschreibung der Karte                                              |   Nein    |    `null`     |
| media          | Medien, siehe [Card-Media-Objekt](#card-media-objekt)               |   Nein    |    `null`     |
| suggestions    | Vorschläge, siehe [Suggestion](#suggestions-objekt)                 |   Nein    |     `[]`      |


**Beispiel einer Anfrage mit Carousel-Objekt:**
```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": [
		"420777777777"
	],
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"carousel": {
				"width": "medium",
				"cards": [
					{
						"title": "Spring jacket",
						"description": "Now 30 % off.",
						"media": {
							"url": "https://example.com/jacket.jpg",
							"height": "short"
						},
						"suggestions": [
							{
								"type": "open_url",
								"text": "Buy",
								"url": "https://example.com/p/jacket"
							}
						]
					},
					{
						"title": "Running shoes",
						"description": "Now 20 % off.",
						"media": {
							"url": "https://example.com/shoes.jpg",
							"height": "short"
						},
						"suggestions": [
							{
								"type": "open_url",
								"text": "Buy",
								"url": "https://example.com/p/shoes"
							}
						]
					}
				],
				"suggestions": [
					{
						"type": "reply",
						"text": "Show more",
						"postback": "carousel_more"
					}
				]
			}
		}
	}
}
```

### Beispiel für ein Carousel-Objekt
![Carousel-Objekt](docs:advanced-rcs/rcs_carousel_message_example)

### Beispiel für ein Carousel-Suggestion-Objekt
![Carousel-Suggestion-Objekt](docs:advanced-rcs/rcs_carousel_suggestion_message_example)


## Suggestions-Objekt
| PARAMETERNAME  | WERT                                                                                                                                              | PFLICHT                                                                        | STANDARDWERT  |
|:---------------|:--------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------:|:-------------:|
| type           | Typ der Vorschlagsschaltfläche, siehe [Suggestion-Typen](#suggestion-typen)                                                                       |                                 Nein                                           |  `reply`      |
| text           | Text der Vorschlagsschaltfläche                                                                                                                   |                              **Ja**                                            |    -          |
| postback       | Inhalt, der als Antwort gesendet wird, wenn die Vorschlagsschaltfläche gedrückt wird                                                              |                                Nein                                            |  `ok`         |
| location       | Standort, der nach dem Drücken der Vorschlagsschaltfläche angezeigt wird, siehe [View Location](#suggestions-view-location-objekt)                | **Ja**, nicht zusammen mit den folgenden (`calendar`, `phone_number`, `url`)   |   -           |
| calendar       | Nach dem Drücken der Vorschlagsschaltfläche öffnet sich die Kalender-App, um ein neues Ereignis zu erstellen, siehe [Create calendar event](#suggestions-create-calendar-event-objekt) | **Ja**, nicht zusammen mit den folgenden (`location`, `phone_number`, `url`)   |   -           |
| phone_number   | Telefonnummer, die nach dem Drücken der Vorschlagsschaltfläche vorgewählt wird, siehe [Dial Number](#suggestions-dial-number-objekt)             | **Ja**, nicht zusammen mit den folgenden (`location`, `calendar`, `url`)       |   -           |
| url            | Nach dem Drücken der Vorschlagsschaltfläche wird das Telefon auf die angegebene URL weitergeleitet, siehe [Open url](#suggestions-open-url-objekt) | **Ja**, nicht zusammen mit den folgenden (`location`, `calendar`, `phone_number`) |   -           |

## Beispiel für ein Location-Quick-Reply-Objekt
![Location-Quick-Reply-Objekt](docs:advanced-rcs/rcs_quick_reply_location_message_example)


## Suggestion-Typen
| WERT                    | BESCHREIBUNG                  |
|:------------------------|:------------------------------|
| `reply`                 | Schnellantwort                |
| `dial_number`           | Nummer vorwählen              |
| `view_location`         | Empfangenen Standort anzeigen |
| `share_location`        | Standort des Empfängers teilen |
| `open_url`              | Empfangene URL öffnen         |
| `create_calendar_event` | Kalenderereignis erstellen    | 


## Suggestions-View-Location-Objekt
| PARAMETERNAME  | WERT                                                                                                                       | PFLICHT   | STANDARDWERT  |
|:---------------|:---------------------------------------------------------------------------------------------------------------------------|:---------:|:-------------:|
| type           | `view_location`                                                                                                            |           |               |
| text           | Text der Vorschlagsschaltfläche                                                                                            |  **Ja**   |       -       |
| postback       | Inhalt, der als Antwort gesendet wird, wenn die Vorschlagsschaltfläche gedrückt wird                                       |  Nein     |    `ok`       |
| location       | [Standort](#location-objekt), der nach dem Drücken der Vorschlagsschaltfläche angezeigt wird.                              |   Nein    |   -           |

### Location-Objekt
| PARAMETERNAME  | WERT                                                                                                                |              PFLICHT                          | STANDARDWERT  |
|:---------------|:--------------------------------------------------------------------------------------------------------------------|:---------------------------------------------:|:-------------:|
| latitude       | Breitengrad als Float-Wert                                                                                          |   **Ja**, zusammen mit longitude              |    `null`     |
| longitude      | Längengrad als Float-Wert                                                                                           |   **Ja**, zusammen mit latitude               |    `null`     |
| query          | Name des Ortes als String, nach dem als Standort gesucht wird                                                       | **Ja**, wenn longitude und latitude nicht gesetzt sind |    `null`     |
| label          | String, mit dem der Standort in der Nachricht beschriftet wird                                                      |              Nein                             |  `null`       |


**Beispiel einer Anfrage mit Location-Suggestion-Objekt:**
```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": [
		"420777777777"
	],
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"message": {
				"text": "Your order 4517 has been shipped.",
				"suggestions": [
					{
						"type": "view_location",
						"text": "Show the pick-up point",
						"postback": "show_pickup",
						"location": {
							"latitude": 50.086584,
							"longitude": 14.410763,
							"query": "Karluv most",
							"label": "Pick-up point"
						}
					}
				]
			}
		}
	}
}
```


## Suggestions-Create-Calendar-Event-Objekt
| PARAMETERNAME  | WERT                                                                                           | PFLICHT        | STANDARDWERT  |
|:---------------|:-----------------------------------------------------------------------------------------------|:--------------:|:-------------:|
| type           | `create_calendar_event`                                                                        |                |               |
| text           | Text der Vorschlagsschaltfläche                                                                | **Ja**         |       -       |
| postback       | Inhalt, der als Antwort gesendet wird, wenn die Vorschlagsschaltfläche gedrückt wird.          | Nein           |    `ok`       |
| calendar       | Nach dem Drücken der Vorschlagsschaltfläche öffnet sich die [Kalender](#calendar-objekt)-App, um ein neues Ereignis zu erstellen. | Nein           |   -           |


### Calendar-Objekt
| PARAMETERNAME  | WERT                                  | PFLICHT   | STANDARDWERT  |
|:---------------|:--------------------------------------|:---------:|:-------------:|
| start          | DateTime des Beginns des Ereignisses  |   Nein    |    `null`     |
| end            | DateTime des Endes des Ereignisses    |   Nein    |    `null`     |
| title          | Titel des Kalenderereignisses als String |   Nein    |    `null`     |
| description    | Textbeschreibung des Ereignisses      |   Nein    |  `null`       |
| timezone       | Zeitzone als String                   |   Nein    |  `null`       |


**Beispiel einer Anfrage mit Calendar-Event-Suggestion-Objekt:**
```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": [
		"420777777777"
	],
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"message": {
				"text": "Your order 4517 has been shipped.",
				"suggestions": [
					{
						"type": "create_calendar_event",
						"text": "Add delivery to calendar",
						"postback": "add_delivery",
						"calendar": {
							"start": "2026-09-14T09:00:00+02:00",
							"end": "2026-09-14T12:00:00+02:00",
							"title": "Delivery of order 4517",
							"description": "The courier will arrive in this window.",
							"timezone": "Europe/Prague"
						}
					}
				]
			}
		}
	}
}
```


## Suggestions-Dial-Number-Objekt
| PARAMETERNAME  | WERT                                                                      | PFLICHT   | STANDARDWERT  |
|:---------------|:--------------------------------------------------------------------------|:---------:|:-------------:|
| type           | `dial_number`                                                             |           |               |
| text           | Text der Vorschlagsschaltfläche                                           |  **Ja**   |       -       |
| postback       | Inhalt, der als Antwort gesendet wird, wenn die Vorschlagsschaltfläche gedrückt wird. |  Nein     |    `ok`       |
| phone_number   | Telefonnummer, die nach dem Drücken der Vorschlagsschaltfläche vorgewählt wird. |   Nein    |   -           |


**Beispiel einer Anfrage mit Suggestion zum Vorwählen einer Nummer:**
```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": [
		"420777777777"
	],
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"message": {
				"text": "Your order 4517 has been shipped.",
				"suggestions": [
					{
						"type": "dial_number",
						"text": "Call the courier",
						"postback": "call_courier",
						"phone_number": "420777777779"
					}
				]
			}
		}
	}
}
```


## Suggestions-Open-URL-Objekt
| PARAMETERNAME  | WERT                                                                                                                   |  PFLICHT        | STANDARDWERT  |
|:---------------|:-----------------------------------------------------------------------------------------------------------------------|:---------------:|:-------------:|
| type           | `open_url`                                                                                                             |                 |               |
| text           | Text der Vorschlagsschaltfläche                                                                                        |    **Ja**       |       -       |
| postback       | Inhalt, der als Antwort gesendet wird, wenn die Vorschlagsschaltfläche gedrückt wird.                                  | Nein            |    `ok`       |
| url            | URL, auf die Sie nach dem Klick auf die Vorschlagsschaltfläche weitergeleitet werden.                                  | Nein            |   -           |

**Beispiel einer Anfrage mit Open-URL-Suggestion:**
```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": [
		"420777777777"
	],
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"message": {
				"text": "Your order 4517 has been shipped.",
				"suggestions": [
					{
						"type": "open_url",
						"text": "Track the parcel",
						"postback": "track_parcel",
						"url": "https://example.com/track/4517"
					}
				]
			}
		}
	}
}
```

## Suggestions-Reply-Objekt
| PARAMETERNAME  | WERT                                                                                                                   | PFLICHT        | STANDARDWERT  |
|:---------------|:-----------------------------------------------------------------------------------------------------------------------|:--------------:|:-------------:|
| type           | `reply`                                                                                                                |                |               |
| text           | Text der Vorschlagsschaltfläche                                                                                        | **Ja**         |       -       |
| postback       | Inhalt, der als Antwort gesendet wird, wenn die Vorschlagsschaltfläche gedrückt wird.                                  | Nein           |    `ok`       |


**Beispiel einer Anfrage mit Reply-Suggestion:**
```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": [
		"420777777777"
	],
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"message": {
				"text": "Your order 4517 has been shipped.",
				"suggestions": [
					{
						"type": "reply",
						"text": "Thanks",
						"postback": "order_thanks"
					}
				]
			}
		}
	}
}
```


## Suggestions-Share-Location-Objekt
| PARAMETERNAME  | WERT                                                                      | PFLICHT        | STANDARDWERT  |
|:---------------|:--------------------------------------------------------------------------|:--------------:|:-------------:|
| type           | `share_location`                                                          |                |               |
| text           | Text der Vorschlagsschaltfläche                                           | **Ja**         |       -       |
| postback       | Inhalt, der als Antwort gesendet wird, wenn die Vorschlagsschaltfläche gedrückt wird. | Nein           |    `ok`       |


**Beispiel einer Anfrage mit Share-Location-Objekt:**
```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": [
		"420777777777"
	],
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"message": {
				"text": "Your order 4517 has been shipped.",
				"suggestions": [
					{
						"type": "share_location",
						"text": "Share your location",
						"postback": "share_location"
					}
				]
			}
		}
	}
}
```

## Beispiel einer vollständigen Anfrage

Das RCS-Objekt ist auf beiden Endpunkten gleich – es unterscheiden sich nur die Empfänger drumherum.

Zuerst RCS, SMS als Fallback. Der RCS-Zweig nimmt seinen Text aus `message.text`; der `text` auf oberster Ebene erreicht nur den SMS-Zweig.

```http-json
POST /api/2.0/advanced/transactional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": ["420777777777"],
	"text": "Your order 4517 has been shipped.",
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"expiration": 120,
			"message": {
				"text": "Your order 4517 has been shipped.",
				"suggestions": [
					{"type": "open_url", "text": "Track the parcel", "url": "https://example.com/track/4517"},
					{"type": "reply", "text": "Thanks", "postback": "thanks"}
				]
			}
		},
		"sms": {
			"sender_id": "gText",
			"sender_id_value": "BulkGate"
		}
	}
}
```

Eine Karte mit Medien und einem Vorschlag, wieder mit SMS als Fallback.

```http-json
POST /api/2.0/advanced/promotional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": ["420777777777", "420777777778"],
	"text": "Spring sale starts today, up to 50 % off.",
	"channel": {
		"rcs": {
			"sender": "BulkGate",
			"card": {
				"title": "Spring sale",
				"description": "Up to 50 % off, this week only.",
				"orientation": "vertical",
				"media": {
					"url": "https://example.com/spring-sale.jpg",
					"height": "medium"
				},
				"suggestions": [
					{"type": "open_url", "text": "Open the offer", "url": "https://example.com/spring-sale"}
				]
			}
		},
		"sms": {
			"sender_id": "gText",
			"sender_id_value": "BulkGate"
		}
	}
}
```

Die Antwort ist für alle Kanäle gleich – siehe [Advanced transactional](https://www.bulkgate.com/de/dokumentation/advanced-api/advanced-transactional/2.0/) oder [Advanced promotional](https://www.bulkgate.com/de/dokumentation/advanced-api/advanced-promotional/2.0/).
