RCS
The seven RCS-API offers the possibility to integrate the powerful functions of RCS into your application and thus enable rich, interactive communication with your users. This documentation describes the various endpoints, parameters and functions of the RCS API in detail. Discover the many possibilities RCS offers to enhance messaging, file sharing, location sharing and much more.
To send RCS messages, it is mandatory to register a so-called agent with each network operator to which you want to send RCS messages. The agent is, so to speak, the verified sender of the RCS and is designed in your CI.
- 1
Registering agents
The registration process can currently only be carried out manually. Submit the form on our RCS product page to get started with RCS. We will then contact you immediately to ask for some data to set up the agent.
- 2
Integrate RCS API
Once your agent has been set up, you can start implementing the API straight away.
- 3
Test RCS
Put your integration through its paces. At this stage, you can only use the test numbers stored for the agent.
- 4
Request release
As soon as you have implemented RCS and tested it sufficiently and successfully, we can apply for approval of the agent with the desired network operators. This process usually takes a few working days and is often associated with queries.
- 5
Send RCS ๐
You are ready to go and can now send RCS messages!
Send RCS
This endpoint allows you to send RCS messages to users. Before sending an RCS, you should ideally query the capabilities of the phone number to ensure the best possible user experience.
Parameters
- Name
to
- Type
- string
- Description
The recipient number for your RCS message. This can also be a contact name or a group name.
- Name
text
- Type
- string
- Description
Text of the RCS message. To send a simple RCS message (without images, suggested replies, etc.), only enter the plain text of the message here. Otherwise, use an RCS object.
- Name
from
- Type
- string
- Optional
- Optional
- Description
The unique ID of your agent. You can view this in the Settings of your account. If not specified, the first RCS-capable sender will be used.
- Name
delay
- Type
- timestamp
- Optional
- Optional
- Description
Date/time for delayed dispatch. Optionally Unix timestamp or a timestamp in the format yyyy-mm-dd hh:ii.
- Name
ttl
- Type
- integer
- Optional
- Optional
- Description
Specifies the validity period of the RCS in minutes. The default is 2880, i.e. 48 hours.
- Name
label
- Type
- string
- Optional
- Optional
- Description
Optionally set a separate label for each SMS so that you can assign it to your statistics. Max. 100 characters, permitted characters: a-z, A-Z, 0-9, .-_@.
- Name
performance_tracking
- Type
- boolean
- Optional
- Optional
- Description
Activate click and performance tracking for URLs found in the SMS text. This also activates the URL shortener.
- Name
foreign_id
- Type
- string
- Optional
- Optional
- Description
Enter your own ID for this message. You will receive the foreign_id in turn for callbacks for status reports etc. Max. 64 characters, permitted characters: a-z, A-Z, 0-9, .-_@.
- Name
fallback
- Type
- enum
- Description
If it is not possible to send an RCS message because, for example, the recipient's device does not support RCS, the message can be automatically sent through an alternative channel. If no fallback is specified, it is disabled.
sms - Sends an SMS with the text of the RCS message as content
webview - Sends an SMS with a link to a web view of the RCS message
curl -X POST "https://gateway.seven.io/api/rcs/messages" \
-H "X-Api-Key: YOUR_API_KEY" \
-d "text=Hello World!" \
-d "to=49176123456789"
{
"success": "100",
"total_price": null,
"balance": 3218.988,
"debug": "false",
"sms_type": "direct",
"messages": [
{
"id": "77233319353",
"sender": "myfancyagent",
"recipient": "49176123456789",
"text": "Hello World!",
"encoding": "gsm",
"label": null,
"parts": 0,
"udh": null,
"is_binary": false,
"price": 0,
"channel": "RCS",
"success": true,
"error": null,
"error_text": null
},
{
"id": "77233319354",
// ...
}
]
}
Delete RCS
You can revoke an RCS message that has not yet been delivered. This API immediately returns a successful response, regardless of whether the message has been deleted or not. Revocation is only possible if the end device has the REVOCATION
capability.
Path parameters
- Name
Message ID
- Type
- string
- Description
The ID of the message to be deleted.
request
curl -X DELETE "https://gateway.seven.io/api/rcs/messages/123456" \
-H "X-Api-Key: YOUR_API_KEY"
Response
{
"success": true
}
Events
Send an event to a phone number to provide users with a more authentic conversational experience. After receiving a message, you should send the event READ and then IS_TYPING accordingly within a reasonable time.
Parameter
- Name
to
- Type
- string Union
- Description
The phone number to which you want to send the event.
- Name
msg_id
- Type
- string Union
- Description
The ID of the received RCS to which you want to send the event. If not specified, the event is automatically sent to the last RCS message received.
- Name
event
- Type
- enum
- Description
The event to be sent. Can have one of the following values:
Show events
IS_TYPING
- The agent is currently writing
READ
- The message sent by the user has been read
request
curl -X POST "https://gateway.seven.io/api/rcs/events" \
-H "X-Api-Key: YOUR_API_KEY" \
-d "to=49176123456789" \
-d "event=IS_TYPING" \
-d "from=myfancyagent"
Response
{
"success": true
}