Update Agent
Use this endpoint to update the Agent using the Channel Manager API. It changes agent metadata, images, possibly phone number, description.
Example
Find the description for all variables used in each code snippet below:
| Key | Description |
|---|---|
VONAGE_API_KEY | Your Vonage API key (see it on your dashboard). |
VONAGE_API_SECRET | Your Vonage API secret (also available on your dashboard). |
CHANNEL_MANAGER_RCS_AGENT_ID | The ID of the RCS agent. |
CHANNEL_MANAGER_RCS_AGENT_DISPLAY_NAME | The unique display name of the RCS Agent. |
CHANNEL_MANAGER_RCS_AGENT_SENDER_ID | A unique sender identifier for the RCS Agent on the Vonage platform. |
CHANNEL_MANAGER_RCS_AGENT_HOSTING_REGION | The geographic location where your RCS business messaging service will be hosted and operated. |
CHANNEL_MANAGER_RCS_AGENT_PURPOSE | Specifies the intended use of the RCS Agent. |
CHANNEL_MANAGER_RCS_AGENT_BILLING_CATEGORY | Specifies the pricing model applied to messages sent via this RCS Agent. |
CHANNEL_MANAGER_RCS_BRAND_ID | The ID of the RCS brand. |
CHANNEL_MANAGER_RCS_AGENT_TAGLINE | A short phrase that represents the RCS Agent. |
CHANNEL_MANAGER_RCS_AGENT_BRAND_COLOR | The hexadecimal color code for the primary color used in UI elements. |
CHANNEL_MANAGER_RCS_AGENT_PHONE_NUMBER | End-user contact number in E.164 format. |
CHANNEL_MANAGER_RCS_AGENT_EMAIL_ADDRESS | The contact email address for the RCS Agent. |
CHANNEL_MANAGER_RCS_AGENT_WEBSITE_ADDRESS | The website address for the RCS Agent. |
VONAGE_APPLICATION_ID | The Vonage Application ID. |
Prerequisites
If you do not have an application you can create one. Make sure you also configure your webhooks.
Write the code
Add the following to update-agent.sh:
curl -X PUT https://api.nexmo.com/v1/channel-manager/rcs/agents/${CHANNEL_MANAGER_RCS_AGENT_ID} \
-u "${VONAGE_API_KEY}:${VONAGE_API_SECRET}" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d $'{
"basic_info": {
"display_name": "'${CHANNEL_MANAGER_RCS_AGENT_DISPLAY_NAME}'",
"sender_id": "'${CHANNEL_MANAGER_RCS_AGENT_SENDER_ID}'",
"hosting_region": "'${CHANNEL_MANAGER_RCS_AGENT_HOSTING_REGION}'",
"agent_purpose": "'${CHANNEL_MANAGER_RCS_AGENT_PURPOSE}'",
"billing_category": "'${CHANNEL_MANAGER_RCS_AGENT_BILLING_CATEGORY}'",
"brand_id": "'${CHANNEL_MANAGER_RCS_BRAND_ID}'"
},
"visual_design": {
"tagline": "'${CHANNEL_MANAGER_RCS_AGENT_TAGLINE}'",
"brand_color": "'${CHANNEL_MANAGER_RCS_AGENT_BRAND_COLOR}'",
"phone": [
{
"number": "'${CHANNEL_MANAGER_RCS_AGENT_PHONE_NUMBER}'"
}
],
"email": [
{
"address": "'${CHANNEL_MANAGER_RCS_AGENT_EMAIL_ADDRESS}'"
}
],
"website": [
{
"url": "'${CHANNEL_MANAGER_RCS_AGENT_WEBSITE_ADDRESS}'"
}
]
},
"application_settings": {
"application_id": "'${VONAGE_APPLICATION_ID}'"
},
"representative": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com"
},
"carrier_requirements": {
"agent_preview": {
"agent_access_instructions": "Provide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers."
},
"points_of_contact": [
{
"first_name": "Jane",
"last_name": "Smith",
"email": "jane.smith@example.com",
"job_title": "Technical Support"
}
],
"traffic_estimates": {
"average_global_traffic": "THOUSAND",
"average_message_rate_per_user": "ONCE_PER_MONTH",
"users_targeted": "HUNDRED"
},
"user_experience": {
"interactions_description": "This agent handles customer support inquiries and provides product information.",
"optin_description": "This is a test environment.",
"optout_description": "Customers can unsubscribe from receiving messages by replying 'STOP' to any message. They can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, and can re-subscribe at any time by replying 'START'.",
"trigger_description": "This account is used exclusively for sending test messages to introduce RCS capabilities to customers."
}
}
}'Run your code
Save this file to your machine and run it: