CSP - Campaign - Optout Items
Schema
A record representing an opt-out for a host and remote number pair under a campaign.
Optouts may be manually added or may be triggered by the remote_number to stop receiving messages.
Type Object
| Name | Type | Description |
|---|---|---|
host_number |
String | Desc. host_number |
id |
String(format:uuid) | Desc. id |
inserted_at |
String(format:date-time) | An ISO8601 formatted timestamp |
keyword |
String | Desc. keyword |
remote_number |
String | Desc. remote_number |
tcr_campaign_id |
String | Desc. tcr_campaign_id |
updated_at |
String(format:date-time) | An ISO8601 formatted timestamp |
Desc. host_number
A reference to the host number that this optout belongs to.
That is the number that received the optout request.
Desc. id
A Universally unique identifier, which identifies the resource
Desc. keyword
If the optout was triggered by the system, this field will be populated with the keyword used.
Will be some variant of STOP normally.
For more information about keywords and their handling, contact support.
Desc. remote_number
The client number that sent the optout, or is opted out of receiving messages from the host number
Desc. tcr_campaign_id
The Campaign ID, as issued by TCR.
Example
{
"host_number": "12003004000",
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"keyword": "STOP",
"remote_number": "12003004001",
"tcr_campaign_id": "C012345",
"updated_at": "2021-08-13T04:08:44.762841Z"
}
Summary
Campaign level optout items control a campaign-wide subscription, regardless of host number.
API
List all CSP Campaign Optout Items
GET /api/v1/campaign_optout_items HTTP/1.1
Retrieve a list of csp campaign optouts.
Query Parameters
| Name | Type | Description |
|---|---|---|
| first | Integer | Query Desc. first |
| last | Integer | Query Desc. last |
| after | String | Query Desc. after |
| before | String | Query Desc. before |
Query Desc. first
The number of items to return starting from the 'after' cursor
Query Desc. last
The number of items to return behind the 'before' cursor
Query Desc. after
The cursor representing the starting point of a 'first' based paging
Query Desc. before
The cursor representing the starting point of a 'last' based paging
Request
GET /api/v1/campaign_optout_items HTTP/1.1
Accept: application/json
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 895
{
"count": 1,
"page_info": {
"first": "string",
"has_next_page": true,
"has_previous_page": true,
"last": "string"
},
"results": [
{
"associations": {
"csp_campaign": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"tcr_campaign_id": "C012345"
},
"host_did": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"number": "12003004000"
},
"sms": {
"id": "01EH2Y28M6KXG14QMPM3HSP1Y0"
}
},
"data": {
"host_number": "12003004000",
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"keyword": "STOP",
"remote_number": "12003004001",
"tcr_campaign_id": "C012345",
"updated_at": "2021-08-13T04:08:44.762841Z"
},
"type": "number_optout_item"
}
]
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Get CSP Campaign Optout Item
GET /api/v1/campaign_optout_items/{id} HTTP/1.1
Lookup a optout item by ID
Path Parameters
| Name | Type | Description |
|---|---|---|
| id | String(format:uuid)! | Path Desc. id |
Path Desc. id
Optout Item ID A Universally unique identifier, which identifies the resource
Request
GET /api/v1/campaign_optout_items/{id} HTTP/1.1
Accept: application/json
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 634
{
"associations": {
"csp_campaign": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"tcr_campaign_id": "C012345"
},
"host_did": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"number": "12003004000"
},
"sms": {
"id": "01EH2Y28M6KXG14QMPM3HSP1Y0"
}
},
"data": {
"host_number": "12003004000",
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"keyword": "STOP",
"remote_number": "12003004001",
"tcr_campaign_id": "C012345",
"updated_at": "2021-08-13T04:08:44.762841Z"
},
"type": "number_optout_item"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}