openapi: 3.0.3
info:
title: Provisioning API
description: 'The Provisioning API allows you to provision account credentials and numbers for Conversation API and other services.'
version: 1.2.7
servers:
- url: https://provisioning.api.sinch.com
description: Production server
security:
- BasicAuth: []
- BearerAuth: []
x-tagGroups:
- name: Common
tags:
- Webhooks
- Bundles
- Conversation
- name: WhatsApp
tags:
- WhatsApp
- WhatsApp Templates
- WhatsApp Solutions
- WhatsApp Senders
- WhatsApp Accounts
- WhatsApp Flows
- name: KakaoTalk
tags:
- KakaoTalk Templates
- KakaoTalk Categories
- KakaoTalk Senders
- name: RCS
tags:
- RCS Accounts
- RCS Questionnaire
- RCS Senders
- RCS Upscales
tags:
- name: Webhooks
description: Webhooks allow the Sinch servers to communicate with your server backend. The `webhooks` endpoint lets you create, update, and delete webhooks programmatically.
- name: WhatsApp
description: The WhatsApp endpoint allows you to programmatically log in to and get details of your WhatsApp account.
- name: WhatsApp Templates
description: The WhatsApp template endpoint offers a way for you to manage your WhatsApp templates that can be used with the Conversation API. The WhatsApp templates are a requirement to send the initial outbound messages in the WhatsApp API.
- name: WhatsApp Senders
description: A WhatsApp Sender is also referred to as a 'Business Profile' or a WhatsApp channel. The WhatsApp Sender endpoint allows you to create a Sender through Meta's Embedded sign up. A Sender must be provisioned for you as a consumer of the WhatsApp API to send messages to your end users.
- name: WhatsApp Accounts
description: The WhatsApp accounts endpoint lets you create and update WhatsApp accounts as well as get account activity and leave comments.
- name: WhatsApp Flows
description: The WhatsApp flows endpoint lets you retrieve and manage WhatsApp Flows associated with the project.
- name: WhatsApp Solutions
description: The WhatsApp solutions endpoint offers a way for you to manage your WhatsApp solutions.
- name: Conversation
description: The Conversation endpoints allows you to retrieve about channels used with Conversation API.
- name: Bundles
description: The bundles endpoint allows you to create and manage bundles of account resources.
- name: KakaoTalk Templates
description: The KakaoTalk template endpoint offers a way for you to manage your KakaoTalk templates that can be used with the Conversation API.
- name: KakaoTalk Categories
description: The KakoaTalk categories endpoint offers a way for you to manage all of the KakaoTalk template categories that you can use with the Conversation API.
- name: KakaoTalk Senders
description: The KakaoTalk sender endpoint offers a way for you to manage your KakaoTalk senders that can be used with the Conversation API.
- name: RCS Accounts
description: The RCS endpoint offers you a way to manage your RCS accounts.
- name: RCS Questionnaire
description: Manage your RCS questionnaires.
- name: RCS Senders
description: The RCS sender endpoint offers a way for you to manage your RCS senders that can be used with the Conversation API.
- name: RCS Upscales
description: The RCS upscales endpoint offers a way for you to manage your RCS upscale senders.
paths:
/v1/projects/{projectId}/webhooks:
get:
description: |2-
Returns a paginated list of webhooks for the specified project. If no page token is supplied then all registered webhooks (of maximum `15`) are returned in alphabetical order.
operationId: WebhookController_listWebhooks_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 15
description: The page size requested.
responses:
'200':
description: List of webhooks
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookWebhookListDto'
examples:
listWebhooksRes:
summary: List all webhooks in project
description: |2-
Returns a paginated list of webhooks for the specified project. If no page token is supplied then all registered webhooks (of maximum `15`) are returned in alphabetical order.
value:
previousPageToken: '{{TOKEN}}'
nextPageToken: '{{TOKEN}}'
pageSize: 1
totalSize: 5
webhooks:
- id: '{{WEBHOOK_ID_1}}'
projectId: '{{PROJECT_ID}}'
target: https://my.server.com/callback1
triggers:
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_REJECTED
- id: '{{WEBHOOK_ID_2}}'
projectId: '{{PROJECT_ID}}'
target: https://my.server.com/callback2
triggers:
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_REJECTED
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all webhooks in project
tags:
- Webhooks
x-tagAfterOperationSummary:
color: white
background: green
label: GA
post:
description: |2-
Register a new webhook for a project. The webhook will be used to communicate updates to resources. Maximum of `15` webhooks allowed per project.
operationId: WebhookController_createWebhook_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Webhook to register
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookWebhookInputDto'
examples:
registerWebhookNoTriggerReq:
summary: Register a webhook for all events
value:
secret: '{{WEBHOOK_SECRET}}'
target: https://my.server.com/callback
triggers:
- ALL
registerWebhookReq:
summary: Register a webhook with specific event triggers
value:
secret: '{{WEBHOOK_SECRET}}'
target: https://my.server.com/callback
triggers:
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_REJECTED
responses:
'201':
description: Webhook created
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookWebhookDto'
examples:
registerWebhookNoTriggerRes:
summary: Register a webhook for all events
description: |2-
Example of a response when registering for all triggers.
value:
id: '{{WEBHOOK_ID}}'
projectId: '{{PROJECT_ID}}'
target: https://my.server.com/callback
triggers:
- ALL
registerWebhookRes:
summary: Register a webhook with specific event triggers
description: |2-
Example of a response when registering for specific triggers.
value:
id: '{{WEBHOOK_ID}}'
projectId: '{{PROJECT_ID}}'
target: https://my.server.com/callback
triggers:
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_REJECTED
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- target must be a string
- target must be a URL address
description: Additional information for error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: webhook_exists
message: Webhook with the provided target already exists.
resolution: Webhooks must have a unique target. Change the target and submit again.
title: WebhookExistsErrorTitle
properties:
errorCode:
type: string
title: webhook_exists
example: webhook_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Webhook with the provided target already exists.
example: Webhook with the provided target already exists.
description: Human readable message.
resolution:
type: string
title: Webhooks must have a unique target. Change the target and submit again.
example: Webhooks must have a unique target. Change the target and submit again.
description: Human readable message with an explanation of how to solve the error.
'424':
description: FailedDependency
content:
application/json:
schema:
example:
errorCode: webhook_limit_reached
message: Number of webhooks has reached the limit.
resolution: Delete some webhooks to be able to add more.
title: WebhookLimitReachedErrorTitle
properties:
errorCode:
type: string
title: webhook_limit_reached
example: webhook_limit_reached
description: Error code allows to programatically handle errors.
message:
type: string
title: Number of webhooks has reached the limit.
example: Number of webhooks has reached the limit.
description: Human readable message.
resolution:
type: string
title: Delete some webhooks to be able to add more.
example: Delete some webhooks to be able to add more.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Register a webhook for project
tags:
- Webhooks
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/webhooks/{webhookId}:
get:
description: |2-
Return an already created webhook.
operationId: WebhookController_getWebhook_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: webhookId
required: true
in: path
description: The unique ID of the webhook.
schema:
type: string
responses:
'200':
description: Webhook response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookWebhookDto'
examples:
triggers:
summary: Webhook with specific event triggers
description: |2-
Example of a response for a webhook with specific triggers.
value:
id: '{{WEBHOOK_ID}}'
target: https://my.server.com/callback
projectId: '{{PROJECT_ID}}'
triggers:
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_REJECTED
noTriggers:
summary: Webhook for all events
description: |2-
Example of a response for a webhook for all triggers.
value:
id: '{{WEBHOOK_ID}}'
target: https://my.server.com/callback
projectId: '{{PROJECT_ID}}'
triggers:
- ALL
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: invalid_id_format
message: Id is not in the expected format.
resolution: webhookId param is in the wrong format. Confirm that you're sending the correct value.
title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: webhookId param is in the wrong format. Confirm that you're sending the correct value.
example: webhookId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: webhook_not_found
message: Webhook not found.
resolution: Verify that the parameters are correct.
title: WebhookNotFoundErrorTitle
properties:
errorCode:
type: string
title: webhook_not_found
example: webhook_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Webhook not found.
example: Webhook not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get webhook
tags:
- Webhooks
x-tagAfterOperationSummary:
color: white
background: green
label: GA
delete:
description: |2-
Deletes an already created webhook.
operationId: WebhookController_deleteWebhook_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: webhookId
required: true
in: path
description: The unique ID of the webhook.
schema:
type: string
responses:
'204':
description: Webhook deleted
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: invalid_id_format
message: Id is not in the expected format.
resolution: webhookId param is in the wrong format. Confirm that you're sending the correct value.
title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: webhookId param is in the wrong format. Confirm that you're sending the correct value.
example: webhookId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: webhook_not_found
message: Webhook not found.
resolution: Verify that the parameters are correct.
title: WebhookNotFoundErrorTitle
properties:
errorCode:
type: string
title: webhook_not_found
example: webhook_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Webhook not found.
example: Webhook not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Delete webhook
tags:
- Webhooks
x-tagAfterOperationSummary:
color: white
background: green
label: GA
put:
description: |2-
Replace an already existing webhook.
operationId: WebhookController_replaceWebhook_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: webhookId
required: true
in: path
description: The unique ID of the webhook.
schema:
type: string
requestBody:
required: true
description: Webhook to replace
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookWebhookInputDto'
examples:
updateWebhookReq:
summary: Update a webhook with specific event triggers
value:
secret: '{{WEBHOOK_SECRET}}'
target: https://my.server.com/callback
triggers:
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_REJECTED
updateWebhookNoTriggerReq:
summary: Update a webhook to listen to all events
value:
secret: '{{WEBHOOK_SECRET}}'
target: https://my.server.com/callback
triggers:
- ALL
responses:
'200':
description: Webhook response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookWebhookDto'
examples:
updateWebhookRes:
summary: Update a webhook with specific event triggers
description: |2-
Example of a response for an update to specific triggers.
value:
id: '{{WEBHOOK_ID}}'
projectId: '{{PROJECT_ID}}'
target: https://my.server.com/callback
triggers:
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_REJECTED
updateWebhookNoTriggerRes:
summary: Update a webhook to listen to all events
description: |2-
Example of a response for an update to all triggers.
value:
id: '{{WEBHOOK_ID}}'
projectId: '{{PROJECT_ID}}'
target: https://my.server.com/callback
triggers:
- ALL
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- target must be a string
- target must be a URL address
description: Additional information for error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: webhookId param is in the wrong format. Confirm that you're sending the correct value.
example: webhookId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: webhook_not_found
message: Webhook not found.
resolution: Verify that the parameters are correct.
title: WebhookNotFoundErrorTitle
properties:
errorCode:
type: string
title: webhook_not_found
example: webhook_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Webhook not found.
example: Webhook not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: webhook_exists
message: Webhook with the provided target already exists.
resolution: Webhooks must have a unique target. Change the target and submit again.
title: WebhookExistsErrorTitle
properties:
errorCode:
type: string
title: webhook_exists
example: webhook_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Webhook with the provided target already exists.
example: Webhook with the provided target already exists.
description: Human readable message.
resolution:
type: string
title: Webhooks must have a unique target. Change the target and submit again.
example: Webhooks must have a unique target. Change the target and submit again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Replace webhook
tags:
- Webhooks
x-tagAfterOperationSummary:
color: white
background: green
label: GA
patch:
description: |2-
Update an already existing webhook.
operationId: WebhookController_updateWebhook_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: webhookId
required: true
in: path
description: The unique ID of the webhook.
schema:
type: string
requestBody:
required: true
description: Webhook to update
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookUpdateWebhookInputDto'
examples:
updateWebhookReq:
summary: Update a webhook with specific event triggers
value:
secret: '{{WEBHOOK_SECRET}}'
target: https://my.server.com/callback
triggers:
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_REJECTED
updateWebhookNoTriggerReq:
summary: Update a webhook to listen to all events
value:
secret: '{{WEBHOOK_SECRET}}'
target: https://my.server.com/callback
triggers:
- ALL
responses:
'200':
description: Webhook response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookWebhookDto'
examples:
updateWebhookRes:
summary: Update a webhook with specific event triggers
description: |2-
Example of a response for an update to specific triggers.
value:
id: '{{WEBHOOK_ID}}'
projectId: '{{PROJECT_ID}}'
target: https://my.server.com/callback
triggers:
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_REJECTED
updateWebhookNoTriggerRes:
summary: Update a webhook to listen to all events
description: |2-
Example of a response for an update to all triggers.
value:
id: '{{WEBHOOK_ID}}'
projectId: '{{PROJECT_ID}}'
target: https://my.server.com/callback
triggers:
- ALL
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- target must be a string
- target must be a URL address
description: Additional information for error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: webhookId param is in the wrong format. Confirm that you're sending the correct value.
example: webhookId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: webhook_not_found
message: Webhook not found.
resolution: Verify that the parameters are correct.
title: WebhookNotFoundErrorTitle
properties:
errorCode:
type: string
title: webhook_not_found
example: webhook_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Webhook not found.
example: Webhook not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: webhook_exists
message: Webhook with the provided target already exists.
resolution: Webhooks must have a unique target. Change the target and submit again.
title: WebhookExistsErrorTitle
properties:
errorCode:
type: string
title: webhook_exists
example: webhook_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Webhook with the provided target already exists.
example: Webhook with the provided target already exists.
description: Human readable message.
resolution:
type: string
title: Webhooks must have a unique target. Change the target and submit again.
example: Webhooks must have a unique target. Change the target and submit again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Update webhook
tags:
- Webhooks
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp:
get:
description: |2-
Returns an account for a project.
operationId: AccountsController_getAccount_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
responses:
'200':
description: Account
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappAccountDto'
examples:
response:
summary: Get response
description: |2-
Response with an account.
value:
state: ONBOARDED
isEmbeddedSignup: false
businessManager: SINCH_UK
wabaId: '1234567890'
details:
companyLegalName: Legal name of company
clientBusinessManagerId: '1234567890'
wabaEnabledForInsights: false
compatibleRegions:
- eu
- us
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: account_not_found
message: Account not found.
resolution: Verify that the parameters are correct.
title: AccountNotFoundErrorTitle
properties:
errorCode:
type: string
title: account_not_found
example: account_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Account not found.
example: Account not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: account_data_is_corrupt
message: Account data is corrupt.
resolution: Please contact support.
title: AccountDataIsCorruptErrorTitle
properties:
errorCode:
type: string
title: account_data_is_corrupt
example: account_data_is_corrupt
description: Error code allows to programatically handle errors.
message:
type: string
title: Account data is corrupt.
example: Account data is corrupt.
description: Human readable message.
resolution:
type: string
title: Please contact support.
example: Please contact support.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get account for project
tags:
- WhatsApp Accounts
x-tagAfterOperationSummary:
color: white
background: green
label: GA
post:
callbacks:
Comment:
'{$request.body#webhooks.target}':
post:
summary: Comment on account
description: |2-
Received when a comment has been added to the account.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event in this case `WHATSAPP_ACCOUNT_COMMENT_ADDED`.
type: string
payload:
description: Account at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappAccountDto'
comment:
description: Comment for account.
type: string
required:
- type
- payload
- comment
example:
type: WHATSAPP_ACCOUNT_COMMENT_ADDED
payload:
state: ONBOARDED
isEmbeddedSignup: false
businessManager: SINCH_UK
wabaId: '1234567890'
details:
companyLegalName: Legal name of company
clientBusinessManagerId: '1234567890'
wabaEnabledForInsights: false
compatibleRegions:
- eu
- us
comment: Example comment
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Onboard:
'{$request.body#webhooks.target}':
post:
summary: Account onboarded
description: |2-
Received when an Account is onboarded.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event in this case `WHATSAPP_ACCOUNT_ONBOARDED`.
type: string
payload:
description: Account at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappAccountDto'
comment:
description: Comment for account.
type: string
required:
- type
- payload
example:
type: WHATSAPP_ACCOUNT_ONBOARDED
payload:
state: ONBOARDED
isEmbeddedSignup: false
businessManager: SINCH_UK
wabaId: '1234567890'
details:
companyLegalName: Legal name of company
clientBusinessManagerId: '1234567890'
wabaEnabledForInsights: false
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Rejected:
'{$request.body#webhooks.target}':
post:
summary: Account rejected
description: |2-
Received when an Account is rejected.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event in this case `WHATSAPP_ACCOUNT_REJECTED`.
type: string
payload:
description: Account at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappAccountDto'
comment:
description: Comment for account.
type: string
required:
- type
- payload
example:
type: WHATSAPP_ACCOUNT_REJECTED
payload:
isEmbeddedSignup: false
businessManager: SINCH_UK
wabaId: '1234567890'
changes:
status: REJECTED
details:
companyLegalName: Legal name of company
clientBusinessManagerId: '1234567890'
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
PendingVerification:
'{$request.body#webhooks.target}':
post:
summary: Account pending verification
description: |2-
Received when an Account is in pending verification.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event in this case `WHATSAPP_ACCOUNT_PENDING_VERIFICATION`.
type: string
payload:
description: Account at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappAccountDto'
comment:
description: Comment for account.
type: string
required:
- type
- payload
example:
type: WHATSAPP_ACCOUNT_PENDING_VERIFICATION
payload:
isEmbeddedSignup: false
businessManager: SINCH_UK
wabaId: '1234567890'
changes:
status: PENDING_FACEBOOK_VERIFICATION
details:
companyLegalName: Legal name of company
clientBusinessManagerId: '1234567890'
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
WabaInformationChanged:
'{$request.body#webhooks.target}':
post:
summary: Account business information changed
description: |2-
Received when Account has some of its business information changed by Meta.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event in this case `WHATSAPP_WABA_ACCOUNT_CHANGED`.
type: string
payload:
description: Account at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappAccountDto'
comment:
description: Comment for account.
type: string
required:
- type
- payload
example:
type: WHATSAPP_WABA_ACCOUNT_CHANGED
payload:
state: ONBOARDED
isEmbeddedSignup: false
businessManager: SINCH_BR
wabaId: '1234567890'
details:
companyLegalName: Legal name of company
clientBusinessManagerId: '1234567890'
wabaEnabledForInsights: true
compatibleRegions:
- br
primaryBusinessLocation: BR
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
description: |2-
Create the WhatsApp account for the project. Each project can only have one account.
operationId: AccountsController_createAccount_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Account data
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappAccountInputDto'
examples:
input:
summary: Body request
description: |2-
Example body request to create an account.
value:
companyLegalName: Legal name of company
clientBusinessManagerId: '1234567890'
responses:
'201':
description: Account
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappAccountDto'
examples:
response:
summary: Create response
description: |2-
Response when successfully creating an account.
value:
isEmbeddedSignup: false
businessManager: SINCH_UK
wabaId: '1234567890'
changes:
status: IN_PROGRESS
details:
companyLegalName: Legal name of company
clientBusinessManagerId: '1234567890'
compatibleRegions:
- eu
- us
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- companyLegalName must be a string
description: Additional information for error.
- title: InvalidBusinessManagerForEnvironmentErrorTitle
properties:
errorCode:
type: string
title: invalid_business_manager_for_environment
example: invalid_business_manager_for_environment
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid business manager for environment.
example: Invalid business manager for environment.
description: Human readable message.
resolution:
type: string
title: Verify that business manager is valid for environment. Allowed business managers for environment SINCH_AMERICA, SINCH_UK.
example: Verify that business manager is valid for environment. Allowed business managers for environment SINCH_AMERICA, SINCH_UK.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: project_not_found
message: Project not found.
resolution: Verify that the projectId is correct.
title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: AccountExistsErrorTitle
properties:
errorCode:
type: string
title: account_exists
example: account_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Account already exists.
example: Account already exists.
description: Human readable message.
resolution:
type: string
title: There can only be one WhatsApp account for each project. Choose another one project to create a new WhatsApp account.
example: There can only be one WhatsApp account for each project. Choose another one project to create a new WhatsApp account.
description: Human readable message with an explanation of how to solve the error.
- title: AccountDataIsCorruptErrorTitle
properties:
errorCode:
type: string
title: account_data_is_corrupt
example: account_data_is_corrupt
description: Error code allows to programatically handle errors.
message:
type: string
title: Account data is corrupt.
example: Account data is corrupt.
description: Human readable message.
resolution:
type: string
title: Please contact support.
example: Please contact support.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Create account for project
tags:
- WhatsApp Accounts
x-tagAfterOperationSummary:
color: white
background: green
label: GA
patch:
description: |2-
Update an account.
It is only possible to update an account that has been rejected. After update the status will be set to `IN_PROGRESS`.
operationId: AccountsController_updateAccount_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Supported account fields to update.
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappUpdateAccountInputDto'
examples:
input:
summary: Body request
description: |2-
Example body request to update an account.
value:
companyLegalName: Update legal name of company
clientBusinessManagerId: '1234567890'
responses:
'200':
description: Account
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappAccountDto'
examples:
response:
summary: Update response
description: |2-
Response when successfully update an account.
value:
state: REJECTED
isEmbeddedSignup: false
businessManager: SINCH_UK
wabaId: '1234567890'
changes:
status: IN_PROGRESS
details:
companyLegalName: Update legal name of company
clientBusinessManagerId: '1234567890'
details:
companyLegalName: Legal name of company
clientBusinessManagerId: '1234567890'
wabaEnabledForInsights: true
compatibleRegions:
- eu
- us
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- companyLegalName must be a string
description: Additional information for error.
- title: NoFieldsToUpdateErrorTitle
properties:
errorCode:
type: string
title: no_fields_to_update
example: no_fields_to_update
description: Error code allows to programatically handle errors.
message:
type: string
title: No data to update.
example: No data to update.
description: Human readable message.
resolution:
type: string
title: Add at least one field to update.
example: Add at least one field to update.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: account_not_found
message: Account not found.
resolution: Verify that the parameters are correct.
title: AccountNotFoundErrorTitle
properties:
errorCode:
type: string
title: account_not_found
example: account_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Account not found.
example: Account not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: account_not_updatable
message: Account is not updatable.
resolution: Only account that are in "REJECTED" state can be updated.
title: AccountNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: account_not_updatable
example: account_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Account is not updatable.
example: Account is not updatable.
description: Human readable message.
resolution:
type: string
title: Only account that are in "REJECTED" state can be updated.
example: Only account that are in "REJECTED" state can be updated.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Update account for project
tags:
- WhatsApp Accounts
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/activities:
get:
description: |2-
Lists activities on account from the most recent one to the oldest one.
operationId: AccountsController_listActivities_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
responses:
'200':
description: Recent activities on account
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappAccountNotificationListDto'
examples:
response:
summary: List account activities response
description: |2-
Response for all account activities.
value:
totalSize: 2
pageSize: 50
notifications:
- type: CREATED
created: '2023-01-19T13:11:08.204Z'
author: Provisioning API user
- type: COMMENT_ADDED
created: '2023-01-19T13:11:08.204Z'
comment: Example comment
author: Provisioning API user
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: account_not_found
message: Account not found.
resolution: Verify that the parameters are correct.
title: AccountNotFoundErrorTitle
properties:
errorCode:
type: string
title: account_not_found
example: account_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Account not found.
example: Account not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Lists activities on account
tags:
- WhatsApp Accounts
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/comments:
post:
description: |2-
Creates a comment for an account.
operationId: AccountsController_createComment_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Comment data
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappCommentInputDto'
examples:
input:
summary: Body request
description: |2-
Example body request to create a comment.
value:
comment: Example comment.
responses:
'201':
description: Created comment for an account.
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappCommentDto'
examples:
created:
summary: Create response
description: |2-
Response when successfully creating a comment.
value:
type: CREATED
comment: Example comment
created: '2023-01-19T13:11:08.204Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- comment must be longer than or equal to 1 characters
description: Additional information for error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: account_not_found
message: Account not found.
resolution: Verify that the parameters are correct.
title: AccountNotFoundErrorTitle
properties:
errorCode:
type: string
title: account_not_found
example: account_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Account not found.
example: Account not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: account_data_is_corrupt
message: Account data is corrupt.
resolution: Please contact support.
title: AccountDataIsCorruptErrorTitle
properties:
errorCode:
type: string
title: account_data_is_corrupt
example: account_data_is_corrupt
description: Error code allows to programatically handle errors.
message:
type: string
title: Account data is corrupt.
example: Account data is corrupt.
description: Human readable message.
resolution:
type: string
title: Please contact support.
example: Please contact support.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FailedToCreateCommentErrorTitle
properties:
errorCode:
type: string
title: failed_to_create_comment
example: failed_to_create_comment
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to create a comment.
example: Failed to create a comment.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Creates a comment for an account
tags:
- WhatsApp Accounts
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/enableTemplateAnalytics:
put:
description: |2-
Enable Meta template analytics for WhatsApp Business Account.
operationId: TemplateAnalyticsHelpersController_enableTemplateAnalytics_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
responses:
'200':
description: Meta template analytics enabled for WhatsApp Business Account.
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for WhatsApp.
resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'424':
description: FailedDependency
content:
application/json:
schema:
example:
errorCode: template_insights_not_yet_available
message: Template Insights unavailable.
resolution: Template Insights are not available yet for this WhatsApp Business account, please contact support.
title: TemplateInsightsNotYetAvailableErrorTitle
properties:
errorCode:
type: string
title: template_insights_not_yet_available
example: template_insights_not_yet_available
description: Error code allows to programatically handle errors.
message:
type: string
title: Template Insights unavailable.
example: Template Insights unavailable.
description: Human readable message.
resolution:
type: string
title: Template Insights are not available yet for this WhatsApp Business account, please contact support.
example: Template Insights are not available yet for this WhatsApp Business account, please contact support.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Enable Meta template analytics
tags:
- WhatsApp
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/flows:
get:
description: |2-
Retrieve the list of flows created in the WhatsApp business account (WABA) associated with the project.
operationId: FlowsController_listFlows_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
responses:
'200':
description: Flows
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappFlowListDto'
examples:
response:
summary: Flows response
description: |2-
Successful response to a "list flows in a project" query.
value:
totalSize: 2
pageSize: 50
flows:
- id: '12345678765432'
name: flow1
status: FLOW_STATUS_PUBLISHED
- id: '98765676543654567'
name: flow2
status: FLOW_STATUS_DRAFT
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for WhatsApp.
resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: project_not_found
message: Project not found.
resolution: Verify that the projectId is correct.
title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get flows in the WhatsApp business account (WABA) associated to the project
tags:
- WhatsApp Flows
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/flows/{flowId}/screens:
get:
description: |2-
Retrieve the list of screens in a flow.
operationId: FlowsController_listFlowScreens_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: flowId
required: true
in: path
schema:
type: string
responses:
'200':
description: Flow screens
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappFlowScreenListDto'
examples:
response:
summary: Flow screens response
description: |2-
Successful response to a "list screens for a flow" query.
value:
screens:
- id: MY_FIRST_SCREEN
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for WhatsApp.
resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: FlowNotFoundErrorTitle
properties:
errorCode:
type: string
title: flow_not_found
example: flow_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Flow not found.
example: Flow not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: FlowScreensNotFoundErrorTitle
properties:
errorCode:
type: string
title: flow_screens_not_found
example: flow_screens_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Flow screens not found.
example: Flow screens not found.
description: Human readable message.
resolution:
type: string
title: Verify if the flow screens exist.
example: Verify if the flow screens exist.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get screens of a flow
tags:
- WhatsApp Flows
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/longLivedAccessToken:
post:
deprecated: true
description: |2-
Returns a long lived access token based on the facebook token from the embedded signup. Valid for 60 days.
operationId: EmbeddedSignupHelperController_createLongLivedAccessToken_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Facebook token generated from the embedded signup process, or another long lived access token.
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappLongLivedAccessTokenInputDto'
examples:
withFacebookCode:
summary: Body request facebookCode
description: |2-
Example body request to create a long lived access token.
value:
facebookCode: FACEBOOK_CODE
withFacebookToken:
summary: Body request facebookToken
description: |2-
Example body request to create a long lived access token.
value:
facebookToken: FACEBOOK_TOKEN
responses:
'201':
description: The long lived access token.
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappLongLivedAccessTokenDto'
examples:
response:
summary: Create response
description: |2-
Response when successfully creating a long lived access token.
value:
longLivedAccessToken: FACEBOOK_TOKEN
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- facebookToken must be a string
description: Additional information for error.
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- facebookCode must be a string
description: Additional information for error.
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- at least one of facebookToken or facebookCode must be provided
description: Additional information for error.
- title: InvalidFacebookTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_facebook_token
example: invalid_facebook_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Facebook token is invalid or has expired
example: Facebook token is invalid or has expired
description: Human readable message.
resolution:
type: string
title: Check that token is correct, or create a new one and try again.
example: Check that token is correct, or create a new one and try again.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidFacebookCodeErrorTitle
properties:
errorCode:
type: string
title: invalid_facebook_code
example: invalid_facebook_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Facebook code is invalid or has expired
example: Facebook code is invalid or has expired
description: Human readable message.
resolution:
type: string
title: Check that code is correct, or request a new one and try again.
example: Check that code is correct, or request a new one and try again.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidBusinessManagerErrorTitle
properties:
errorCode:
type: string
title: invalid_business_manager
example: invalid_business_manager
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid business manager.
example: Invalid business manager.
description: Human readable message.
resolution:
type: string
title: Check that business manager is correct for project.
example: Check that business manager is correct for project.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidBusinessManagerForEnvironmentErrorTitle
properties:
errorCode:
type: string
title: invalid_business_manager_for_environment
example: invalid_business_manager_for_environment
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid business manager for environment.
example: Invalid business manager for environment.
description: Human readable message.
resolution:
type: string
title: Verify that business manager is valid for environment. Allowed business managers for environment SINCH_AMERICA, SINCH_UK.
example: Verify that business manager is valid for environment. Allowed business managers for environment SINCH_AMERICA, SINCH_UK.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FacebookRequestLimitReachedErrorTitle
properties:
errorCode:
type: string
title: facebook_Request_limit_reached
example: facebook_Request_limit_reached
description: Error code allows to programatically handle errors.
message:
type: string
title: Facebook request limit reached.
example: Facebook request limit reached.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: LogInFacebookRequiredErrorTitle
properties:
errorCode:
type: string
title: log_in_facebook_required
example: log_in_facebook_required
description: Error code allows to programatically handle errors.
message:
type: string
title: Log in to facebook required.
example: Log in to facebook required.
description: Human readable message.
resolution:
type: string
title: Log in to www.facebook.com and follow the instructions given.
example: Log in to www.facebook.com and follow the instructions given.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Create a long lived access token
tags:
- WhatsApp
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/senders:
get:
description: |2-
Returns a paginated list of senders for the specified project. If no page token is supplied then the first `50` will be returned.
operationId: SendersController_listSenders_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
- name: filterStates
required: false
in: query
description: Optionally query for sender by states.
schema:
type: array
items:
$ref: '#/components/schemas/WhatsappSenderStatesEnum'
- name: filterStatuses
required: false
in: query
description: Optionally query for sender by statuses.
schema:
type: array
items:
$ref: '#/components/schemas/WhatsappSenderStatusesEnum'
responses:
'200':
description: List of senders
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSenderListDto'
examples:
response:
summary: List response
description: |2-
Response with senders.
value:
totalSize: 2
pageSize: 50
senders:
- id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: ACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
- id: cf11794a-6a5e-4a12-b103-da79bd378bf1
changes:
status: IN_PROGRESS
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidFilterStatesErrorTitle
properties:
errorCode:
type: string
title: invalid_filter_states
example: invalid_filter_states
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid filterStates.
example: Invalid filterStates.
description: Human readable message.
resolution:
type: string
title: Verify that the filterStates used are supported by the Provisioning API.
example: Verify that the filterStates used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: ACTIVE, IN_PROGRESS, INACTIVE, PENDING_VERIFICATION, SUSPENDED, ERROR
description: Additional information for error.
- title: InvalidFilterStatusesErrorTitle
properties:
errorCode:
type: string
title: invalid_filter_statuses
example: invalid_filter_statuses
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid filter statuses.
example: Invalid filter statuses.
description: Human readable message.
resolution:
type: string
title: Verify that the filterStatuses used are supported by the Provisioning API.
example: Verify that the filterStatuses used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: DRAFT, ERROR, IN_PROGRESS, REJECTED
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all senders in project
tags:
- WhatsApp Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
post:
callbacks:
Comment:
'{$request.body#webhooks.target}':
post:
summary: Comment on sender
description: |2-
Received when a comment has been added to the sender.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_COMMENT_ADDED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
- comment
example:
type: WHATSAPP_SENDER_COMMENT_ADDED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: INACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
comment: Example comment
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Active:
'{$request.body#webhooks.target}':
post:
summary: Sender completed
description: |2-
Received when a Sender is completed and ready for use.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_ACTIVE`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_ACTIVE
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: ACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Inactive:
'{$request.body#webhooks.target}':
post:
summary: Sender inactive
description: |2-
Received when a sender is inactivated.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_INACTIVE`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_INACTIVE
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: INACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
PendingVerification:
'{$request.body#webhooks.target}':
post:
summary: Sender in pending verification
description: |2-
Received when a sender is in pending verification.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_PENDING_VERIFICATION`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_PENDING_VERIFICATION
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: PENDING_VERIFICATION
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Rejected:
'{$request.body#webhooks.target}':
post:
summary: Sender in rejected
description: |2-
Received when a sender is rejected.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_REJECTED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_REJECTED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
changes:
status: REJECTED
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Error:
'{$request.body#webhooks.target}':
post:
summary: Sender in error
description: |2-
Received when a sender has error.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_ERROR`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_ERROR
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
changes:
status: ERROR
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
errorReason: Reach out to support at support@sinch.com
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
DailyLimitChanged:
'{$request.body#webhooks.target}':
post:
summary: Daily limit changed for Sender
description: |2-
Received when a daily limit for sender is changed.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_DAILY_LIMIT_CHANGED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_DAILY_LIMIT_CHANGED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: ACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: TIER_100K
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
QualityRatingChanged:
'{$request.body#webhooks.target}':
post:
summary: Quality rating changed for Sender
description: |2-
Received when a quality rating for sender is changed.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_QUALITY_RATING_CHANGED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_QUALITY_RATING_CHANGED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: ACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: YELLOW
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
description: |-
Creates a sender for a project. The possible combinations of region, business manager and hosting type are the following
| Region | | SINCH_BR | SINCH_MX | SINCH_UK |
| --------- | -- | --- | --- | --- |
| BR | Cloud API (ES) | ✅ Supported | ✅ Supported | ❌ Unsupported |
| | Cloud API ( OBO ) | ✅ Supported | ✅ Supported | ❌ Unsupported |
| EU | Cloud API (ES) | ❌ Unsupported | ❌ Unsupported | ✅ Supported |
| | Cloud API ( OBO ) | ❌ Unsupported | ❌ Unsupported | ✅ Supported |
| US | Cloud API (ES) | ✅ Supported | ✅ Supported | ✅ Supported |
| | Cloud API ( OBO ) | ✅ Supported | ✅ Supported | ✅ Supported |
operationId: SendersController_createSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Sender data
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/WhatsappSenderInputEsDto'
- $ref: '#/components/schemas/WhatsappSenderInputOboDtoDeprecated'
- $ref: '#/components/schemas/WhatsappSenderInputDtoDeprecated'
examples:
es:
summary: Body request for ES
description: |2-
Example body request to create an ES.
value:
region: EU
metaLocalStorage: DE
wabaId: '11111111111111'
phoneNumberId: '222222222222222'
authenticationCode: 123asdf123
obo:
summary: Body request for On Behalf of
description: |2-
Example body request to create an On Behalf of sender.
value:
region: EU
metaLocalStorage: DE
phoneNumberProvider: CUSTOMER
details:
countryCode: '48'
phoneNumber: '777777777'
displayName: Test name
description: Test description
vertical: EDUCATION
email: test@test.com
address: Test address
websiteOne: https://example-1.com
about: Test about
photoUrl: https://example.com/photos/1.png
esWithFacebookToken:
summary: Body request for ES with Facebook token [Deprecated]
description: |2-
Example body request to create an ES. [Deprecated]
value:
region: EU
metaLocalStorage: DE
wabaId: '11111111111111'
phoneNumberId: '222222222222222'
facebookAccessToken: FACEBOOK_TOKEN
name: Example name
details:
displayName: Test name
description: Test description
vertical: EDUCATION
email: test@test.com
address: Test address
websiteOne: https://example-1.com
about: Test about
photoUrl: https://example.com/photos/1.png
esWithFacebookCode:
summary: Body request for ES with Facebook code [Deprecated]
description: |2-
Example body request to create an ES. [Deprecated]
value:
region: EU
metaLocalStorage: DE
wabaId: '11111111111111'
phoneNumberId: '222222222222222'
facebookCode: FACEBOOK_CODE
name: Example name
details:
displayName: Test name
description: Test description
vertical: EDUCATION
email: test@test.com
address: Test address
websiteOne: https://example-1.com
about: Test about
photoUrl: https://example.com/photos/1.png
responses:
'201':
description: Sender
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSenderDto'
examples:
response:
summary: Create response
description: |2-
Response when successfully creating a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
changes:
status: IN_PROGRESS
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- details should not be null or undefined
description: Additional information for error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidFacebookTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_facebook_token
example: invalid_facebook_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Facebook token is invalid or has expired
example: Facebook token is invalid or has expired
description: Human readable message.
resolution:
type: string
title: Check that token is correct, or create a new one and try again.
example: Check that token is correct, or create a new one and try again.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidBusinessManagerErrorTitle
properties:
errorCode:
type: string
title: invalid_business_manager
example: invalid_business_manager
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid business manager.
example: Invalid business manager.
description: Human readable message.
resolution:
type: string
title: Check that business manager is correct for project.
example: Check that business manager is correct for project.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidBusinessManagerForEnvironmentErrorTitle
properties:
errorCode:
type: string
title: invalid_business_manager_for_environment
example: invalid_business_manager_for_environment
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid business manager for environment.
example: Invalid business manager for environment.
description: Human readable message.
resolution:
type: string
title: Verify that business manager is valid for environment. Allowed business managers for environment SINCH_AMERICA, SINCH_UK.
example: Verify that business manager is valid for environment. Allowed business managers for environment SINCH_AMERICA, SINCH_UK.
description: Human readable message with an explanation of how to solve the error.
- title: FileInvalidMimeTypeErrorTitle
properties:
errorCode:
type: string
title: file_invalid_mime_type
example: file_invalid_mime_type
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.photoUrl: invalid file mime type.'
example: 'details.photoUrl: invalid file mime type.'
description: Human readable message.
resolution:
type: string
title: 'Try again with supported mime types: image/jpeg, image/png, image/webp.'
example: 'Try again with supported mime types: image/jpeg, image/png, image/webp.'
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: project_not_found
message: Project not found.
resolution: Verify that the projectId is correct.
title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: AccountDataIsCorruptErrorTitle
properties:
errorCode:
type: string
title: account_data_is_corrupt
example: account_data_is_corrupt
description: Error code allows to programatically handle errors.
message:
type: string
title: Account data is corrupt.
example: Account data is corrupt.
description: Human readable message.
resolution:
type: string
title: Please contact support.
example: Please contact support.
description: Human readable message with an explanation of how to solve the error.
- title: WrongWabaIdErrorTitle
properties:
errorCode:
type: string
title: wrong_waba_id
example: wrong_waba_id
description: Error code allows to programatically handle errors.
message:
type: string
title: Different wabaId already exists for sub account / project.
example: Different wabaId already exists for sub account / project.
description: Human readable message.
resolution:
type: string
title: Please check if the WhatsApp Business Account is correct, or don't provide the WhatsApp Business Account in the request for this project.
example: Please check if the WhatsApp Business Account is correct, or don't provide the WhatsApp Business Account in the request for this project.
description: Human readable message with an explanation of how to solve the error.
- title: NotFoundWabaIdErrorTitle
properties:
errorCode:
type: string
title: not_found_waba_id
example: not_found_waba_id
description: Error code allows to programatically handle errors.
message:
type: string
title: Not found wabaId.
example: Not found wabaId.
description: Human readable message.
resolution:
type: string
title: Verify that exist any WhatsApp Business Account for sub account / project.
example: Verify that exist any WhatsApp Business Account for sub account / project.
description: Human readable message with an explanation of how to solve the error.
- title: TooManyWabaIdErrorTitle
properties:
errorCode:
type: string
title: too_many_waba_id
example: too_many_waba_id
description: Error code allows to programatically handle errors.
message:
type: string
title: Too many wabaId.
example: Too many wabaId.
description: Human readable message.
resolution:
type: string
title: We can't automatically select WhatsApp Business Account for this project, please provide WhatsApp Business Account in the request.
example: We can't automatically select WhatsApp Business Account for this project, please provide WhatsApp Business Account in the request.
description: Human readable message with an explanation of how to solve the error.
- title: WabaIdUsedErrorTitle
properties:
errorCode:
type: string
title: waba_id_used
example: waba_id_used
description: Error code allows to programatically handle errors.
message:
type: string
title: WabaId is used.
example: WabaId is used.
description: Human readable message.
resolution:
type: string
title: WhatsApp Business Account is already used in another project. Use another id or create the sender under the correct project.
example: WhatsApp Business Account is already used in another project. Use another id or create the sender under the correct project.
description: Human readable message with an explanation of how to solve the error.
- title: NotAllowedOboErrorTitle
properties:
errorCode:
type: string
title: not_allowed_obo
example: not_allowed_obo
description: Error code allows to programatically handle errors.
message:
type: string
title: On Behalf Of WhatsApp sender can not be created in this project.
example: On Behalf Of WhatsApp sender can not be created in this project.
description: Human readable message.
resolution:
type: string
title: Create an Embedded Signup WhatsApp sender or use another project.
example: Create an Embedded Signup WhatsApp sender or use another project.
description: Human readable message with an explanation of how to solve the error.
- title: NotAllowedEmbeddedErrorTitle
properties:
errorCode:
type: string
title: not_allowed_embedded
example: not_allowed_embedded
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender cannot be created as embedded.
example: Sender cannot be created as embedded.
description: Human readable message.
resolution:
type: string
title: Create an On Behalf Of WhatsApp sender instead or use another project.
example: Create an On Behalf Of WhatsApp sender instead or use another project.
description: Human readable message with an explanation of how to solve the error.
- title: WrongBusinessManagerErrorTitle
properties:
errorCode:
type: string
title: wrong_business_manager
example: wrong_business_manager
description: Error code allows to programatically handle errors.
message:
type: string
title: Different business manager already exists for sub account / project.
example: Different business manager already exists for sub account / project.
description: Human readable message.
resolution:
type: string
title: Please check if the Business Manager is correct, or don't provide the Business Manager in the request for this project.
example: Please check if the Business Manager is correct, or don't provide the Business Manager in the request for this project.
description: Human readable message with an explanation of how to solve the error.
- title: UsedPhoneNumberIdErrorTitle
properties:
errorCode:
type: string
title: used_phone_number_id
example: used_phone_number_id
description: Error code allows to programatically handle errors.
message:
type: string
title: Used phoneNumberId.
example: Used phoneNumberId.
description: Human readable message.
resolution:
type: string
title: PhoneNumberId is used. Choose another one.
example: PhoneNumberId is used. Choose another one.
description: Human readable message with an explanation of how to solve the error.
- title: ProvisionedPhoneNumberIdErrorTitle
properties:
errorCode:
type: string
title: provisioned_phone_number_id
example: provisioned_phone_number_id
description: Error code allows to programatically handle errors.
message:
type: string
title: Provisioned phoneNumberId.
example: Provisioned phoneNumberId.
description: Human readable message.
resolution:
type: string
title: PhoneNumberId is provisioned. Choose another one.
example: PhoneNumberId is provisioned. Choose another one.
description: Human readable message with an explanation of how to solve the error.
- title: AllPhoneNumberIdProvisionedErrorTitle
properties:
errorCode:
type: string
title: all_phone_number_id_provisioned
example: all_phone_number_id_provisioned
description: Error code allows to programatically handle errors.
message:
type: string
title: All phoneNumberId are provisioned.
example: All phoneNumberId are provisioned.
description: Human readable message.
resolution:
type: string
title: All phoneNumberId are provisioned. Add another one.
example: All phoneNumberId are provisioned. Add another one.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidWabaIdOrPhoneNumberIdForRegionErrorTitle
properties:
errorCode:
type: string
title: invalid_waba_id_or_phone_number_id_for_region
example: invalid_waba_id_or_phone_number_id_for_region
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid wabaId or phoneNumberId for region.
example: Invalid wabaId or phoneNumberId for region.
description: Human readable message.
resolution:
type: string
title: Please check if the WhatsApp Business Account, phone number id and region are correct.
example: Please check if the WhatsApp Business Account, phone number id and region are correct.
description: Human readable message with an explanation of how to solve the error.
- title: FileNotFoundErrorTitle
properties:
errorCode:
type: string
title: file_not_found
example: file_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.photoUrl: file not found.'
example: 'details.photoUrl: file not found.'
description: Human readable message.
resolution:
type: string
title: Verify that the url is correct.
example: Verify that the url is correct.
description: Human readable message with an explanation of how to solve the error.
- title: FileSizeTooLargeErrorTitle
properties:
errorCode:
type: string
title: file_size_too_large
example: file_size_too_large
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.photoUrl: file size is too large.'
example: 'details.photoUrl: file size is too large.'
description: Human readable message.
resolution:
type: string
title: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
example: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
description: Human readable message with an explanation of how to solve the error.
- title: FileHasWrongDimensionsErrorTitle
properties:
errorCode:
type: string
title: file_has_wrong_dimensions
example: file_has_wrong_dimensions
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.photoUrl: image has wrong dimensions.'
example: 'details.photoUrl: image has wrong dimensions.'
description: Human readable message.
resolution:
type: string
title: 'Try again with image dimensions: min 192 x 192 px & max 640 x 640 px.'
example: 'Try again with image dimensions: min 192 x 192 px & max 640 x 640 px.'
description: Human readable message with an explanation of how to solve the error.
- title: FileUnexpectedErrorErrorTitle
properties:
errorCode:
type: string
title: file_unexpected_error
example: file_unexpected_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.photoUrl: file unexpected error.'
example: 'details.photoUrl: file unexpected error.'
description: Human readable message.
resolution:
type: string
title: The file cannot be handled properly. Please try with another one.
example: The file cannot be handled properly. Please try with another one.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FacebookRequestLimitReachedErrorTitle
properties:
errorCode:
type: string
title: facebook_Request_limit_reached
example: facebook_Request_limit_reached
description: Error code allows to programatically handle errors.
message:
type: string
title: Facebook request limit reached.
example: Facebook request limit reached.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: LogInFacebookRequiredErrorTitle
properties:
errorCode:
type: string
title: log_in_facebook_required
example: log_in_facebook_required
description: Error code allows to programatically handle errors.
message:
type: string
title: Log in to facebook required.
example: Log in to facebook required.
description: Human readable message.
resolution:
type: string
title: Log in to www.facebook.com and follow the instructions given.
example: Log in to www.facebook.com and follow the instructions given.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Create sender for project
tags:
- WhatsApp Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/senders/{senderId}:
get:
description: |2-
Returns a sender for a project.
operationId: SendersController_get_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
responses:
'200':
description: Sender
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSenderDto'
examples:
response:
summary: Get response
description: |2-
Response with a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: ACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for WhatsApp.
resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get sender for project
tags:
- WhatsApp Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
delete:
description: |2-
Marks a sender for removal. Once requested the sender will be active for 30 days to send final messages. After 30 days it will be removed.
operationId: SendersController_delete_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
responses:
'204':
description: Sender deleted
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for WhatsApp.
resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: sender_already_deleted
message: A sender has been deleted within 30 days.
resolution: Wait the required time.
title: SenderAlreadyDeletedErrorTitle
properties:
errorCode:
type: string
title: sender_already_deleted
example: sender_already_deleted
description: Error code allows to programatically handle errors.
message:
type: string
title: A sender has been deleted within 30 days.
example: A sender has been deleted within 30 days.
description: Human readable message.
resolution:
type: string
title: Wait the required time.
example: Wait the required time.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Delete sender for project
tags:
- WhatsApp Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
patch:
callbacks:
Comment:
'{$request.body#webhooks.target}':
post:
summary: Comment on sender
description: |2-
Received when a comment has been added to the sender.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_COMMENT_ADDED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
- comment
example:
type: WHATSAPP_SENDER_COMMENT_ADDED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: INACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
comment: Example comment
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Active:
'{$request.body#webhooks.target}':
post:
summary: Sender completed
description: |2-
Received when a Sender is completed and ready for use.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_ACTIVE`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_ACTIVE
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: ACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Inactive:
'{$request.body#webhooks.target}':
post:
summary: Sender inactive
description: |2-
Received when a sender is inactivated.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_INACTIVE`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_INACTIVE
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: INACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
PendingVerification:
'{$request.body#webhooks.target}':
post:
summary: Sender in pending verification
description: |2-
Received when a sender is in pending verification.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_PENDING_VERIFICATION`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_PENDING_VERIFICATION
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: PENDING_VERIFICATION
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Rejected:
'{$request.body#webhooks.target}':
post:
summary: Sender in rejected
description: |2-
Received when a sender is rejected.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_REJECTED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_REJECTED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
changes:
status: REJECTED
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Error:
'{$request.body#webhooks.target}':
post:
summary: Sender in error
description: |2-
Received when a sender has error.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_ERROR`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_ERROR
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
changes:
status: ERROR
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
errorReason: Reach out to support at support@sinch.com
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
DailyLimitChanged:
'{$request.body#webhooks.target}':
post:
summary: Daily limit changed for Sender
description: |2-
Received when a daily limit for sender is changed.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_DAILY_LIMIT_CHANGED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_DAILY_LIMIT_CHANGED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: ACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: TIER_100K
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
QualityRatingChanged:
'{$request.body#webhooks.target}':
post:
summary: Quality rating changed for Sender
description: |2-
Received when a quality rating for sender is changed.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_SENDER_QUALITY_RATING_CHANGED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: WHATSAPP_SENDER_QUALITY_RATING_CHANGED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: ACTIVE
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: YELLOW
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
description: |2-
Updates a sender in project.
operationId: SendersController_update_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
requestBody:
required: true
description: Supported sender fields to update
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappUpdateSenderInputDto'
examples:
value:
summary: Body request
description: |2-
Example body request to update a sender.
value:
details:
displayName: Test name update
description: Test description update
email: null
address: null
websiteTwo: https://example-2.com
about: Test about update
photoUrl: https://example.com/photos/2.png
responses:
'200':
description: Updated sender in project
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSenderDto'
examples:
response:
summary: Update response
description: |2-
Response when successfully update a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: ACTIVE
changes:
status: IN_PROGRESS
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
details:
displayName: Test name
description: Test description
vertical: PROFESSIONAL_SERVICES
email: test@test.com
address: Test address
about: Test about
websiteOne: https://example-1.com
photoUrl: https://example.com/photos/1.png
created: '2023-01-19T13:11:08.204Z'
modified: '2023-01-19T13:11:08.204Z'
region: EU
metaLocalStorage: DE
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
maxTps: 10
qualityRating: GREEN
dailyLimit: NOT_SET
bearerToken: aaaaAAAA.bbbbBBBB.ccccCCCC
cloudApi: true
countryCode: '48'
phoneNumber: '777777777'
numberProvider: CUSTOMER
businessManager: SINCH_UK
compatibleRegions:
- eu
- us
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- details.displayName must be a string
- details.displayName must be longer than or equal to 1 characters
- details.displayName must be shorter than or equal to 128 characters
- details.displayName should not be equal to null
description: Additional information for error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: NoFieldsToUpdateErrorTitle
properties:
errorCode:
type: string
title: no_fields_to_update
example: no_fields_to_update
description: Error code allows to programatically handle errors.
message:
type: string
title: No fields to be updated.
example: No fields to be updated.
description: Human readable message.
resolution:
type: string
title: Supply at least one field to be updated.
example: Supply at least one field to be updated.
description: Human readable message with an explanation of how to solve the error.
- title: FileInvalidMimeTypeErrorTitle
properties:
errorCode:
type: string
title: file_invalid_mime_type
example: file_invalid_mime_type
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.photoUrl: invalid file mime type.'
example: 'details.photoUrl: invalid file mime type.'
description: Human readable message.
resolution:
type: string
title: 'Try again with supported mime types: image/jpeg, image/png, image/webp.'
example: 'Try again with supported mime types: image/jpeg, image/png, image/webp.'
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: SenderNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: sender_not_updatable
example: sender_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender is not updatable.
example: Sender is not updatable.
description: Human readable message.
resolution:
type: string
title: 'Updates are only supported by senders with state: ACTIVE.'
example: 'Updates are only supported by senders with state: ACTIVE.'
description: Human readable message with an explanation of how to solve the error.
- title: SenderChangesNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: sender_changes_not_updatable
example: sender_changes_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender is not updatable.
example: Sender is not updatable.
description: Human readable message.
resolution:
type: string
title: 'Updates are only supported by senders changes with status: DRAFT, REJECTED.'
example: 'Updates are only supported by senders changes with status: DRAFT, REJECTED.'
description: Human readable message with an explanation of how to solve the error.
- title: FileNotFoundErrorTitle
properties:
errorCode:
type: string
title: file_not_found
example: file_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.photoUrl: file not found.'
example: 'details.photoUrl: file not found.'
description: Human readable message.
resolution:
type: string
title: Verify that the url is correct.
example: Verify that the url is correct.
description: Human readable message with an explanation of how to solve the error.
- title: FileSizeTooLargeErrorTitle
properties:
errorCode:
type: string
title: file_size_too_large
example: file_size_too_large
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.photoUrl: file size is too large.'
example: 'details.photoUrl: file size is too large.'
description: Human readable message.
resolution:
type: string
title: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
example: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
description: Human readable message with an explanation of how to solve the error.
- title: FileHasWrongDimensionsErrorTitle
properties:
errorCode:
type: string
title: file_has_wrong_dimensions
example: file_has_wrong_dimensions
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.photoUrl: image has wrong dimensions.'
example: 'details.photoUrl: image has wrong dimensions.'
description: Human readable message.
resolution:
type: string
title: 'Try again with image dimensions: min 192 x 192 px & max 640 x 640 px.'
example: 'Try again with image dimensions: min 192 x 192 px & max 640 x 640 px.'
description: Human readable message with an explanation of how to solve the error.
- title: FileUnexpectedErrorErrorTitle
properties:
errorCode:
type: string
title: file_unexpected_error
example: file_unexpected_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.photoUrl: file unexpected error.'
example: 'details.photoUrl: file unexpected error.'
description: Human readable message.
resolution:
type: string
title: The file cannot be handled properly. Please try with another one.
example: The file cannot be handled properly. Please try with another one.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Updates a sender in project
tags:
- WhatsApp Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/senders/{senderId}/activities:
get:
description: |2-
Paginated list of activities for sender. Ordered from the most recent one to the oldest one.
operationId: SendersController_listActivities_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
responses:
'200':
description: Recent activities on sender
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSenderNotificationListDto'
examples:
response:
summary: List sender activities response
description: |2-
Response for all sender activities.
value:
totalSize: 2
pageSize: 50
notifications:
- type: CREATED
created: '2023-01-19T13:11:08.204Z'
author: Provisioning API user
- type: COMMENT_ADDED
created: '2023-01-19T13:11:08.204Z'
comment: Example comment
author: Provisioning API user
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Lists activities on sender
tags:
- WhatsApp Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/senders/{senderId}/changes:
delete:
description: |2-
Delete pending or rejected changes to a sender.
operationId: SendersController_deleteChanges_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
responses:
'204':
description: Sender changes deleted
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for WhatsApp.
resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_changes_not_found
message: Sender changes not found.
resolution: Verify that the parameters are correct.
title: SenderChangesNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_changes_not_found
example: sender_changes_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender changes not found.
example: Sender changes not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: sender_changes_not_deletable
message: Sender changes is not deletable.
resolution: Only DRAFT, REJECTED senders changes can be marked for deletion.
title: SenderChangesNotDeletableErrorTitle
properties:
errorCode:
type: string
title: sender_changes_not_deletable
example: sender_changes_not_deletable
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender changes is not deletable.
example: Sender changes is not deletable.
description: Human readable message.
resolution:
type: string
title: Only DRAFT, REJECTED senders changes can be marked for deletion.
example: Only DRAFT, REJECTED senders changes can be marked for deletion.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Delete pending or rejected changes to a sender
tags:
- WhatsApp Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/senders/{senderId}/comments:
post:
description: |2-
Creates a comment for a sender in project.
operationId: SendersController_createComment_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
requestBody:
required: true
description: Comment data
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappCommentInputDto'
examples:
input:
summary: Body request
description: |2-
Example body request to create a comment.
value:
comment: Example comment.
responses:
'201':
description: Created comment for a sender in project
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappCommentDto'
examples:
created:
summary: Create response
description: |2-
Response when successfully creating a comment.
value:
type: CREATED
comment: Example comment
created: '2023-01-19T13:11:08.204Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- comment must be longer than or equal to 1 characters
description: Additional information for error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FailedToCreateCommentErrorTitle
properties:
errorCode:
type: string
title: failed_to_create_comment
example: failed_to_create_comment
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to create a comment.
example: Failed to create a comment.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Creates a comment for a sender in project
tags:
- WhatsApp Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/senders/{senderId}/register:
post:
description: |2-
Triggers sender registration with the requested method. An OTP code will be sent over the requested method that will need to be used in the Verify sender endpoint.
operationId: SendersController_register_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
requestBody:
required: true
description: Sender register data
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSenderInputRegisterDto'
examples:
input:
summary: Body request
description: |2-
Example body request to register.
value:
method: SMS
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSenderRegisterDto'
examples:
response:
summary: Register response
description: |2-
Response when successfully register a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
method: SMS
accepted: '2023-01-19T13:11:08.204Z'
description: ''
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- 'method must be one of the following values: SMS, VOICE'
description: Additional information for error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: NotAllowedRegisterErrorTitle
properties:
errorCode:
type: string
title: not_allowed_register
example: not_allowed_register
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not allowed to be registered.
example: Sender not allowed to be registered.
description: Human readable message.
resolution:
type: string
title: Only "PENDING_VERIFICATION" sender can be registered.
example: Only "PENDING_VERIFICATION" sender can be registered.
description: Human readable message with an explanation of how to solve the error.
- title: SenderNumberNotApprovedForEnterpriseErrorTitle
properties:
errorCode:
type: string
title: sender-number-not-approved-for-enterprise
example: sender-number-not-approved-for-enterprise
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender number not approved for enterprise.
example: Sender number not approved for enterprise.
description: Human readable message.
resolution:
type: string
title: This number has not been approved for an enterprise. Please contact support for more info.
example: This number has not been approved for an enterprise. Please contact support for more info.
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
oneOf:
- title: SenderRegisterTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: sender-register-too-many-requests
example: sender-register-too-many-requests
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender register too many requests.
example: Sender register too many requests.
description: Human readable message.
resolution:
type: string
title: Register sender request limits reached. Please try again later.
example: Register sender request limits reached. Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: SenderAlreadyRegisteredErrorTitle
properties:
errorCode:
type: string
title: sender-already-registered
example: sender-already-registered
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender already registered.
example: Sender already registered.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: TooManyInvalidVerificationCodesErrorTitle
properties:
errorCode:
type: string
title: too_many_invalid_verification_codes
example: too_many_invalid_verification_codes
description: Error code allows to programatically handle errors.
message:
type: string
title: Too many invalid verification codes.
example: Too many invalid verification codes.
description: Human readable message.
resolution:
type: string
title: You've tried too many invalid verification codes. Please try again later.
example: You've tried too many invalid verification codes. Please try again later.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Register sender for project
tags:
- WhatsApp Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/senders/{senderId}/verify:
post:
description: |2-
Verify sender with the OTP received after triggering registration.
operationId: SendersController_verify_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
requestBody:
required: true
description: Sender register data
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSenderInputVerifyDto'
examples:
input:
summary: Body request
description: |2-
Example body request to verify.
value:
code: '123456'
responses:
'204':
description: Sender verified
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- code must be a string
- code must be exactly 6 characters
description: Additional information for error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: NotAllowedVerifyErrorTitle
properties:
errorCode:
type: string
title: not_allowed_verify
example: not_allowed_verify
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not allowed to be verified.
example: Sender not allowed to be verified.
description: Human readable message.
resolution:
type: string
title: Only "PENDING_VERIFICATION" sender can be verified.
example: Only "PENDING_VERIFICATION" sender can be verified.
description: Human readable message with an explanation of how to solve the error.
- title: WrongOtpErrorTitle
properties:
errorCode:
type: string
title: wrong_otp
example: wrong_otp
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender verification failed due to wrong OTP.
example: Sender verification failed due to wrong OTP.
description: Human readable message.
resolution:
type: string
title: Please make sure that the correct OTP code is entered.
example: Please make sure that the correct OTP code is entered.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Verify sender for project
tags:
- WhatsApp Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/solutions:
get:
description: |2-
Returns a list of solutions for the specified project.
operationId: SolutionsController_listSolutions_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
responses:
'200':
description: List of solutions
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSolutionListDto'
examples:
response:
summary: List response
description: |2-
Response with solutions.
value:
solutions:
- id: '123'
details:
name: Test name
ownerApp:
id: 456
name: Test owner app name
partnerApp:
id: 789
name: Test partner app name
assigned: false
- id: '123'
details:
name: Test name
ownerApp:
id: 456
name: Test owner app name
partnerApp:
id: 789
name: Test partner app name
assigned: true
- id: '123'
details:
name: Test name
ownerApp:
id: 456
name: Test owner app name
partnerApp:
id: 789
name: Test partner app name
assigned: false
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: project_not_found
message: Project not found.
resolution: Verify that the projectId is correct.
title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all solutions in project
tags:
- WhatsApp Solutions
x-tagAfterOperationSummary:
color: white
background: orange
label: Open Beta
post:
description: |2-
Returns all solutions for a project.
operationId: SolutionsController_createSolution_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Solution data
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSolutionInputDto'
examples:
input:
summary: Body request for solution
description: |2-
Example body request to create a solution.
value:
accessToken: 1088bbbd-2083-4d27-a8e2-33c65a527790
businessManager: SINCH_UK
details:
name: Test name
responses:
'201':
description: Solutions
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSolutionListDto'
examples:
response:
summary: Create response
description: |2-
Response when successfully creating a solution.
value:
solutions:
- id: '123'
details:
name: Test name
ownerApp:
id: 456
name: Test owner app name
partnerApp:
id: 789
name: Test partner app name
assigned: false
- id: '123'
details:
name: Test name
ownerApp:
id: 456
name: Test owner app name
partnerApp:
id: 789
name: Test partner app name
assigned: false
- id: '123'
details:
name: Test name
ownerApp:
id: 456
name: Test owner app name
partnerApp:
id: 789
name: Test partner app name
assigned: false
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: project_not_found
message: Project not found.
resolution: Verify that the projectId is correct.
title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Create solution for project
tags:
- WhatsApp Solutions
x-tagAfterOperationSummary:
color: white
background: orange
label: Open Beta
/v1/projects/{projectId}/whatsapp/solutions/{solutionId}:
get:
description: |2-
Returns a solution for a project.
operationId: SolutionsController_getSolution_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: solutionId
required: true
in: path
description: The unique ID of the solution.
schema:
type: string
responses:
'200':
description: Solution
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappSolutionDto'
examples:
assignedResponse:
summary: Get assigned solution response
description: |2-
Response with assigned solution.
value:
id: '123'
details:
name: Test name
ownerApp:
id: 456
name: Test owner app name
partnerApp:
id: 789
name: Test partner app name
assigned: true
notAssignedResponse:
summary: Get unassigned solution response
description: |2-
Response with unassigned solution.
value:
id: '123'
details:
name: Test name
ownerApp:
id: 456
name: Test owner app name
partnerApp:
id: 789
name: Test partner app name
assigned: false
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: SolutionNotFoundErrorTitle
properties:
errorCode:
type: string
title: solution_not_found
example: solution_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Solution not found.
example: Solution not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get solution for project
tags:
- WhatsApp Solutions
x-tagAfterOperationSummary:
color: white
background: orange
label: Open Beta
/v1/projects/{projectId}/whatsapp/solutions/{solutionId}/assign:
post:
description: |2-
Assign solution to project, to enable Embedded Signup onboarding.
operationId: SolutionsController_assignSolution_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: solutionId
required: true
in: path
description: The unique ID of the solution.
schema:
type: string
responses:
'204':
description: Solution assigned
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: SolutionNotFoundErrorTitle
properties:
errorCode:
type: string
title: solution_not_found
example: solution_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Solution not found.
example: Solution not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Assign solution to project
tags:
- WhatsApp Solutions
x-tagAfterOperationSummary:
color: white
background: orange
label: Open Beta
/v1/projects/{projectId}/whatsapp/templates:
get:
description: |2-
Returns a paginated list of templates for the specified project. If no page token is supplied then the first `50` templates are returned in alphabetical order.
operationId: TemplatesController_listTemplates_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 1000
description: The page size requested.
- name: fieldMask
required: false
in: query
description: Field masks are a way for API callers to list the fields that a request should return.
schema:
type: array
items:
$ref: '#/components/schemas/WhatsappTemplateDtoFieldMaskPathsEnum'
- name: filterStates
required: false
in: query
description: Optionally query for sender by states.
schema:
type: array
items:
$ref: '#/components/schemas/WhatsappTemplateStatesEnum'
- name: filterStatuses
required: false
in: query
description: Optionally query for sender by statuses.
schema:
type: array
items:
$ref: '#/components/schemas/WhatsappTemplateStatusesEnum'
- name: templateAnalyticsDateRange
required: false
in: query
description: The date range to retrieve template analytics for. Fallback to DAY if none is set.
schema:
$ref: '#/components/schemas/WhatsappTemplateAnalyticsDateRangesEnum'
- name: templateName
required: false
in: query
description: Optionally query for template by name. Will return all templates with names that begin with the query string.
schema:
type: string
responses:
'200':
description: List of templates
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/WhatsappTemplateListDto'
- $ref: '#/components/schemas/WhatsappPartialTemplateListDto'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidFilterStatesErrorTitle
properties:
errorCode:
type: string
title: invalid_filter_states
example: invalid_filter_states
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid filterStates.
example: Invalid filterStates.
description: Human readable message.
resolution:
type: string
title: Verify that the filterStates used are supported by the Provisioning API.
example: Verify that the filterStates used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: APPROVED, DISABLED, PAUSED, REJECTED
description: Additional information for error.
- title: InvalidFilterStatusesErrorTitle
properties:
errorCode:
type: string
title: invalid_filter_statuses
example: invalid_filter_statuses
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid filter statuses.
example: Invalid filter statuses.
description: Human readable message.
resolution:
type: string
title: Verify that the filterStatuses used are supported by the Provisioning API.
example: Verify that the filterStatuses used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: DRAFT, IN_PROGRESS, REJECTED
description: Additional information for error.
- title: InvalidFieldsErrorTitle
properties:
errorCode:
type: string
title: invalid_fields
example: invalid_fields
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid fields.
example: Invalid fields.
description: Human readable message.
resolution:
type: string
title: Verify that the fields used are supported by the Provisioning API.
example: Verify that the fields used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: whatsappId, state, name, language, category, rejectionCode, qualityScore, changes, changes.status, changes.allowCategoryChange, changes.details, changes.details.components, changes.details.components.0.type, changes.details.components.0.format, changes.details.components.0.text, changes.details.components.0.example, changes.details.components.0.example.url, changes.details.components.0.examples, changes.details.components.0.addSecurityRecommendation, changes.details.components.0.codeExpirationMinutes, changes.details.components.0.buttons, changes.details.components.0.buttons.0.type, changes.details.components.0.buttons.0.text, changes.details.components.0.buttons.0.phoneNumber, changes.details.components.0.buttons.0.url, changes.details.components.0.buttons.0.example, changes.details.components.0.buttons.0.otpType, changes.details.components.0.buttons.0.autofillText, changes.details.components.0.buttons.0.packageName, changes.details.components.0.buttons.0.signatureHash, changes.details.components.0.buttons.0.supportedApps, changes.details.components.0.buttons.0.supportedApps.0.packageName, changes.details.components.0.buttons.0.supportedApps.0.signatureHash, changes.details.components.0.buttons.0.zeroTapTermsAccepted, changes.details.components.0.buttons.0.flowId, changes.details.components.0.buttons.0.flowAction, changes.details.components.0.buttons.0.navigateScreen, changes.details.messageSendTtlSeconds, details, details.components, details.components.0.type, details.components.0.format, details.components.0.text, details.components.0.example, details.components.0.example.url, details.components.0.examples, details.components.0.addSecurityRecommendation, details.components.0.codeExpirationMinutes, details.components.0.buttons, details.components.0.buttons.0.type, details.components.0.buttons.0.text, details.components.0.buttons.0.phoneNumber, details.components.0.buttons.0.url, details.components.0.buttons.0.example, details.components.0.buttons.0.otpType, details.components.0.buttons.0.autofillText, details.components.0.buttons.0.packageName, details.components.0.buttons.0.signatureHash, details.components.0.buttons.0.supportedApps, details.components.0.buttons.0.supportedApps.0.packageName, details.components.0.buttons.0.supportedApps.0.signatureHash, details.components.0.buttons.0.zeroTapTermsAccepted, details.components.0.buttons.0.flowId, details.components.0.buttons.0.flowAction, details.components.0.buttons.0.navigateScreen, details.messageSendTtlSeconds, analytics, analytics.0.sent, analytics.0.delivered, analytics.0.read, analytics.0.start, analytics.0.end, analytics.0.buttons, analytics.0.buttons.0.type, analytics.0.buttons.0.content, analytics.0.buttons.0.clicks
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all templates in project
tags:
- WhatsApp Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
post:
callbacks:
Comment:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template received a comment
description: |2-
Callback sent when a comment is placed on a template.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_COMMENT_ADDED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
example:
type: WHATSAPP_TEMPLATE_COMMENT_ADDED
payload:
name: My WhatsApp Template
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
changes:
status: DRAFT
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
- type: HEADER
format: DOCUMENT
example:
url: https://example.com/photos/1.png
- type: HEADER
format: LOCATION
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
addSecurityRecommendation: true
- type: FOOTER
text: To track your order please click the 'Track Your Order' button
codeExpirationMinutes: 5
- type: BUTTONS
buttons:
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: OTP
otpType: COPY_CODE
text: Example text.
- type: CAROUSEL
cards:
- components:
- type: HEADER
format: IMAGE
example:
url: https://example.com/photos/1.png
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
- type: BUTTONS
buttons:
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Approved:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template approved
description: |2-
Callback sent when a template is approved.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_APPROVED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
example:
type: WHATSAPP_TEMPLATE_APPROVED
payload:
whatsappId: '123456'
name: My WhatsApp Template
state: APPROVED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Rejected:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template rejected
description: |2-
Callback sent when a template is rejected.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_REJECTED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
example:
type: WHATSAPP_TEMPLATE_REJECTED
payload:
name: My WhatsApp Template
state: REJECTED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
StatusUpdated:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template status updated
description: |2-
Callback sent when a template status in changed to `DISABLED`, `FLAGGED`, `PAUSED`, `REINSTATED` or `UNPAUSED`.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_STATUS_UPDATED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
newState:
description: New state for template.
type: string
enum:
- DISABLED
- FLAGGED
- PAUSED
- REINSTATED
- UNPAUSED
comment:
description: Comment for template.
type: string
required:
- type
- payload
- newState
example:
type: WHATSAPP_TEMPLATE_STATUS_UPDATED
payload:
whatsappId: '123456'
name: My WhatsApp Template
state: PAUSED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
newState: PAUSED
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Deleted:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template deleted
description: Callback sent when a template is deleted.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case WHATSAPP_TEMPLATE_DELETED.
type: string
required:
- type
example:
type: WHATSAPP_TEMPLATE_DELETED
payload:
whatsappId: '123456'
name: My WhatsApp Template
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
QualityScoreUpdated:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template quality score updated
description: |2-
Callback sent when a template quality score changed.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
example:
type: WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED
payload:
whatsappId: '123456'
name: My WhatsApp Template
state: APPROVED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
CategoryUpdated:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template category updated
description: |2-
Callback sent when a templates category is changed.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_CATEGORY_UPDATED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
example:
type: WHATSAPP_TEMPLATE_CATEGORY_UPDATED
payload:
whatsappId: '123456'
name: My WhatsApp Template
state: APPROVED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
FutureCategoryUpdate:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template category coming update
description: |2-
Callback sent when a templates category coming to be changed.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
futureCategory:
description: Future category for template.
type: string
enum:
- AUTHENTICATION
- MARKETING
- UTILITY
- UNRECOGNIZED
comment:
description: Comment for template.
type: string
required:
- type
- payload
- futureCategory
example:
type: WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE
payload:
whatsappId: '123456'
name: My WhatsApp Template
state: APPROVED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
futureCategory: MARKETING
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
description: |2-
Creates a new template with the request data. If the `status` field is set to `submit` the template will be created immediately, otherwise it will be saved as a `draft`.
operationId: TemplatesController_createTemplate_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Template data
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappTemplateInputDto'
examples:
marketingOrUtilityFull:
summary: Marketing or Utility full example
description: |2-
Full body to create a Marketing or Utility template.
value:
name: my_template
category: MARKETING
language: EN
details:
components:
- type: HEADER
format: LOCATION
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
- type: HEADER
format: DOCUMENT
example:
url: https://example.com/photos/1.png
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
addSecurityRecommendation: true
- type: FOOTER
text: To track your order please click the 'Track Your Order' button
codeExpirationMinutes: 5
- type: BUTTONS
buttons:
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: OTP
otpType: COPY_CODE
text: Example text.
- type: FLOW
text: Start Flow
flowId: flow-id
navigateScreen: QUESTION_ONE
flowAction: NAVIGATE
- type: CAROUSEL
cards:
- components:
- type: HEADER
format: IMAGE
example:
url: https://example.com/photos/1.png
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
- type: BUTTONS
buttons:
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
marketingOrUtilityMinimum:
summary: Minimalist Marketing or Utility example
description: |2-
Minimalist body to create a Marketing or Utility template.
value:
name: my_template
category: UTILITY
language: EN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
addSecurityRecommendation: true
authenticationFull:
summary: Authentication full example
description: |2-
Full body to create an Authentication template.
value:
name: my_template
category: AUTHENTICATION
language: EN
details:
components:
- type: BODY
addSecurityRecommendation: true
- type: FOOTER
codeExpirationMinutes: 62
- type: BUTTONS
buttons:
- type: OTP
otpType: ONE_TAP
text: My copy code text
autofillText: My autofill text
packageName: com.android.chrome
signatureHash: sample+hash
supportedApps:
- packageName: com.android.chrome
signatureHash: sample+hash
- type: BUTTONS
buttons:
- type: OTP
otpType: ZERO_TAP
text: My copy code text
autofillText: My autofill text
packageName: com.android.chrome
signatureHash: sample+hash
supportedApps:
- packageName: com.android.chrome
signatureHash: sample+hash
zeroTapTermsAccepted: true
messageSendTtlSeconds: 360
authenticationMinimum:
summary: Minimalist Authentication example
description: |2-
Minimalist body to create an Authentication template.
value:
name: my_template
category: AUTHENTICATION
language: EN
details:
components:
- type: BODY
addSecurityRecommendation: false
- type: BUTTONS
buttons:
- type: OTP
otpType: COPY_CODE
text: Copy code
flowUtility:
summary: Start Flow Utility example
description: |2-
Body example to create a Flow template of utility category.
value:
name: my_template
category: UTILITY
language: EN
details:
components:
- type: BUTTONS
buttons:
- type: FLOW
flowId: flow-id
text: Start Flow
navigateScreen: QUESTION_ONE
flowAction: NAVIGATE
flowMarketing:
summary: Start Flow Marketing example
description: |2-
Body example to create a Flow template of marketing category.
value:
name: my_template
category: MARKETING
language: EN
details:
components:
- type: BUTTONS
buttons:
- type: FLOW
flowId: flow-id
text: Start Flow
navigateScreen: QUESTION_ONE
flowAction: NAVIGATE
responses:
'201':
description: Created template
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappTemplateDto'
examples:
response:
summary: Create response
description: |2-
Response when successfully creating a template.
value:
name: My WhatsApp Template
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
changes:
status: DRAFT
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
- type: HEADER
format: DOCUMENT
example:
url: https://example.com/photos/1.png
- type: HEADER
format: LOCATION
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
addSecurityRecommendation: true
- type: FOOTER
text: To track your order please click the 'Track Your Order' button
codeExpirationMinutes: 5
- type: BUTTONS
buttons:
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: OTP
otpType: COPY_CODE
text: Example text.
- type: CAROUSEL
cards:
- components:
- type: HEADER
format: IMAGE
example:
url: https://example.com/photos/1.png
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
- type: BUTTONS
buttons:
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
messageSendTtlSeconds: 60
analytics: []
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- 'category must be one of the following values: AUTHENTICATION, MARKETING, UTILITY'
description: Additional information for error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: TemplatePoliciesViolationsErrorTitle
properties:
errorCode:
type: string
title: template_policies_violations
example: template_policies_violations
description: Error code allows to programatically handle errors.
message:
type: string
title: Your message couldn't be sent because it includes content that other people on Facebook have reported as abusive.
example: Your message couldn't be sent because it includes content that other people on Facebook have reported as abusive.
description: Human readable message.
resolution:
type: string
title: Remove violating content. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Remove violating content. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateCheckMediaFileSizeErrorTitle
properties:
errorCode:
type: string
title: template_check_media_file_size
example: template_check_media_file_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to check media file size.
example: Failed to check media file size.
description: Human readable message.
resolution:
type: string
title: Ensure media file URL is correct and then try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Ensure media file URL is correct and then try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidCategoryErrorTitle
properties:
errorCode:
type: string
title: template_invalid_category
example: template_invalid_category
description: Error code allows to programatically handle errors.
message:
type: string
title: Template invalid category.
example: Template invalid category.
description: Human readable message.
resolution:
type: string
title: 'Verify that categories are correct: AUTHENTICATION, MARKETING, UTILITY.'
example: 'Verify that categories are correct: AUTHENTICATION, MARKETING, UTILITY.'
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidButtonExampleErrorTitle
properties:
errorCode:
type: string
title: template_invalid_button_example
example: template_invalid_button_example
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid button example.
example: Invalid button example.
description: Human readable message.
resolution:
type: string
title: Only dynamic URL buttons are allowed to have an example.
example: Only dynamic URL buttons are allowed to have an example.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateMediaFileSizeExceedsMaximumFileSizeLimitErrorTitle
properties:
errorCode:
type: string
title: template_media_file_size_exceeds_maximum_file_size_limit
example: template_media_file_size_exceeds_maximum_file_size_limit
description: Error code allows to programatically handle errors.
message:
type: string
title: Template media file size exceeds maximum file size limit.
example: Template media file size exceeds maximum file size limit.
description: Human readable message.
resolution:
type: string
title: Try again with a smaller file.
example: Try again with a smaller file.
description: Human readable message with an explanation of how to solve the error.
- title: FileInvalidMimeTypeErrorTitle
properties:
errorCode:
type: string
title: file_invalid_mime_type
example: file_invalid_mime_type
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.components[0].headerExample.media.url: invalid file mime type.'
example: 'details.components[0].headerExample.media.url: invalid file mime type.'
description: Human readable message.
resolution:
type: string
title: 'Try again with supported mime types: image/jpeg, image/png, application/pdf, video/3gp, video/mp4.'
example: 'Try again with supported mime types: image/jpeg, image/png, application/pdf, video/3gp, video/mp4.'
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: TemplateExistsErrorTitle
properties:
errorCode:
type: string
title: template_exists
example: template_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Template already exists.
example: Template already exists.
description: Human readable message.
resolution:
type: string
title: Templates must have unique name and language. Change language or name and submit again.
example: Templates must have unique name and language. Change language or name and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ET, FA, FI, FIL, FR, GA, GU, HA, HE, HI, HR, HU, ID, IT, JA, KA, KK, KN, KO, KY_KG, LO, LT, LV, MK, ML, MR, MS, NB, NL, PA, PL, PT_BR, PT_PT, RO, RU, RW_RW, SK, SL, SQ, SR, SV, SW, TA, TE, TH, TR, UK, UR, UZ, VI, ZH_CN, ZH_HK, ZH_TW, ZU
description: Additional information for error.
- title: TemplateNameRecentlyUsedErrorTitle
properties:
errorCode:
type: string
title: template_name_recently_used
example: template_name_recently_used
description: Error code allows to programatically handle errors.
message:
type: string
title: A template with the same name has been deleted within 30 days.
example: A template with the same name has been deleted within 30 days.
description: Human readable message.
resolution:
type: string
title: Use another "name" for "EN" or wait the required time.
example: Use another "name" for "EN" or wait the required time.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateIncorrectCategoryErrorTitle
properties:
errorCode:
type: string
title: template_incorrect_category
example: template_incorrect_category
description: Error code allows to programatically handle errors.
message:
type: string
title: Template incorrect category.
example: Template incorrect category.
description: Human readable message.
resolution:
type: string
title: 'Use a category that has been used in another language: "UTILITY".'
example: 'Use a category that has been used in another language: "UTILITY".'
description: Human readable message with an explanation of how to solve the error.
- title: TemplateRestrictedDomainForButtonUrlErrorTitle
properties:
errorCode:
type: string
title: template_restricted_Domain_for_button_url
example: template_restricted_Domain_for_button_url
description: Error code allows to programatically handle errors.
message:
type: string
title: Restricted domain for button url.
example: Restricted domain for button url.
description: Human readable message.
resolution:
type: string
title: 'Replace any of the following restricted domains: facebook.com, fbcdn.net, instagram.com, tfbnw.net, wa.me, whatsapp.com'
example: 'Replace any of the following restricted domains: facebook.com, fbcdn.net, instagram.com, tfbnw.net, wa.me, whatsapp.com'
description: Human readable message with an explanation of how to solve the error.
- title: FileNotFoundErrorTitle
properties:
errorCode:
type: string
title: file_not_found
example: file_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.components[0].headerExample.media.url: file not found.'
example: 'details.components[0].headerExample.media.url: file not found.'
description: Human readable message.
resolution:
type: string
title: Verify that the url is correct.
example: Verify that the url is correct.
description: Human readable message with an explanation of how to solve the error.
- title: FileSizeTooLargeErrorTitle
properties:
errorCode:
type: string
title: file_size_too_large
example: file_size_too_large
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.components[0].headerExample.media.url: file size is too large.'
example: 'details.components[0].headerExample.media.url: file size is too large.'
description: Human readable message.
resolution:
type: string
title: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
example: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
description: Human readable message with an explanation of how to solve the error.
- title: FileUnexpectedErrorErrorTitle
properties:
errorCode:
type: string
title: file_unexpected_error
example: file_unexpected_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.components[0].headerExample.media.url: file unexpected error.'
example: 'details.components[0].headerExample.media.url: file unexpected error.'
description: Human readable message.
resolution:
type: string
title: The file cannot be handled properly. Please try with another one.
example: The file cannot be handled properly. Please try with another one.
description: Human readable message with an explanation of how to solve the error.
- title: ObjectWithWhatsappBusinessAccountIdDoesNotExistErrorTitle
properties:
errorCode:
type: string
title: object_with_whatsapp_business_account_id_does_not_exist
example: object_with_whatsapp_business_account_id_does_not_exist
description: Error code allows to programatically handle errors.
message:
type: string
title: WhatsApp Business Account does not exist.
example: WhatsApp Business Account does not exist.
description: Human readable message.
resolution:
type: string
title: Verify that WhatsApp Business ID still exists and contact support.
example: Verify that WhatsApp Business ID still exists and contact support.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateLanguageRecentlyDeletedErrorTitle
properties:
errorCode:
type: string
title: template_language_recently_deleted
example: template_language_recently_deleted
description: Error code allows to programatically handle errors.
message:
type: string
title: A template with the same language has been deleted within 4 weeks.
example: A template with the same language has been deleted within 4 weeks.
description: Human readable message.
resolution:
type: string
title: Try to create EN content again in 4 weeks or create a new template.
example: Try to create EN content again in 4 weeks or create a new template.
description: Human readable message with an explanation of how to solve the error.
'424':
description: FailedDependency
content:
application/json:
schema:
oneOf:
- title: TemplateLimitReachedErrorTitle
properties:
errorCode:
type: string
title: template_limit_reached
example: template_limit_reached
description: Error code allows to programatically handle errors.
message:
type: string
title: Number of templates has reached the limit.
example: Number of templates has reached the limit.
description: Human readable message.
resolution:
type: string
title: Delete some templates or reach out to support to increase the template limit. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Delete some templates or reach out to support to increase the template limit. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateContentAlreadyExistsErrorTitle
properties:
errorCode:
type: string
title: template_content_already_exists
example: template_content_already_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Template cannot be submitted because the content is the same as the content in another template.
example: Template cannot be submitted because the content is the same as the content in another template.
description: Human readable message.
resolution:
type: string
title: Use other template or edit template data and submit again. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Use other template or edit template data and submit again. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateSubmitErrorErrorTitle
properties:
errorCode:
type: string
title: template_submit_error
example: template_submit_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Template submit error.
example: Template submit error.
description: Human readable message.
resolution:
type: string
title: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
metaError:
code: '123'
subcode: '123456'
message: Invalid parameter
description: Character Limit Exceeded
reason: field 'name' can't have more than 1,024 characters
description: Additional information for error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: whatsapp_business_api_request_limit_exceeded
message: WhatsApp business api request limit reached.
resolution: WhatsApp business API request limits reached. Please try again later.
title: WhatsappBusinessApiRequestLimitExceededErrorTitle
properties:
errorCode:
type: string
title: whatsapp_business_api_request_limit_exceeded
example: whatsapp_business_api_request_limit_exceeded
description: Error code allows to programatically handle errors.
message:
type: string
title: WhatsApp business api request limit reached.
example: WhatsApp business api request limit reached.
description: Human readable message.
resolution:
type: string
title: WhatsApp business API request limits reached. Please try again later.
example: WhatsApp business API request limits reached. Please try again later.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: TemplateStartSessionForUploadingMediaErrorTitle
properties:
errorCode:
type: string
title: template_start_session_for_uploading_media
example: template_start_session_for_uploading_media
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to start session for uploading template media example.
example: Failed to start session for uploading template media example.
description: Human readable message.
resolution:
type: string
title: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please wait and try again, if the error persist please contact support. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Create a template in project
tags:
- WhatsApp Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/templates/{templateName}:
get:
description: |2-
Returns a paginated list of templates for the specified project and name. If no page token is supplied then the first `50` templates are returned in alphabetical order.
operationId: TemplatesController_listTemplatesByName_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: templateName
required: true
in: path
description: The unique name of the template.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 1000
description: The page size requested.
- name: fieldMask
required: false
in: query
description: Field masks are a way for API callers to list the fields that a request should return.
schema:
type: array
items:
$ref: '#/components/schemas/WhatsappTemplateDtoFieldMaskPathsEnum'
- name: templateAnalyticsDateRange
required: false
in: query
description: The date range to retrieve template analytics for. Fallback to DAY if none is set.
schema:
$ref: '#/components/schemas/WhatsappTemplateAnalyticsDateRangesEnum'
responses:
'200':
description: List of templates with the same name
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/WhatsappTemplateListDto'
- $ref: '#/components/schemas/WhatsappPartialTemplateListDto'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidFieldsErrorTitle
properties:
errorCode:
type: string
title: invalid_fields
example: invalid_fields
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid fields.
example: Invalid fields.
description: Human readable message.
resolution:
type: string
title: Verify that the fields used are supported by the Provisioning API.
example: Verify that the fields used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: whatsappId, state, name, language, category, rejectionCode, qualityScore, changes, changes.status, changes.allowCategoryChange, changes.details, changes.details.components, changes.details.components.0.type, changes.details.components.0.format, changes.details.components.0.text, changes.details.components.0.example, changes.details.components.0.example.url, changes.details.components.0.examples, changes.details.components.0.addSecurityRecommendation, changes.details.components.0.codeExpirationMinutes, changes.details.components.0.buttons, changes.details.components.0.buttons.0.type, changes.details.components.0.buttons.0.text, changes.details.components.0.buttons.0.phoneNumber, changes.details.components.0.buttons.0.url, changes.details.components.0.buttons.0.example, changes.details.components.0.buttons.0.otpType, changes.details.components.0.buttons.0.autofillText, changes.details.components.0.buttons.0.packageName, changes.details.components.0.buttons.0.signatureHash, changes.details.components.0.buttons.0.supportedApps, changes.details.components.0.buttons.0.supportedApps.0.packageName, changes.details.components.0.buttons.0.supportedApps.0.signatureHash, changes.details.components.0.buttons.0.zeroTapTermsAccepted, changes.details.components.0.buttons.0.flowId, changes.details.components.0.buttons.0.flowAction, changes.details.components.0.buttons.0.navigateScreen, changes.details.messageSendTtlSeconds, details, details.components, details.components.0.type, details.components.0.format, details.components.0.text, details.components.0.example, details.components.0.example.url, details.components.0.examples, details.components.0.addSecurityRecommendation, details.components.0.codeExpirationMinutes, details.components.0.buttons, details.components.0.buttons.0.type, details.components.0.buttons.0.text, details.components.0.buttons.0.phoneNumber, details.components.0.buttons.0.url, details.components.0.buttons.0.example, details.components.0.buttons.0.otpType, details.components.0.buttons.0.autofillText, details.components.0.buttons.0.packageName, details.components.0.buttons.0.signatureHash, details.components.0.buttons.0.supportedApps, details.components.0.buttons.0.supportedApps.0.packageName, details.components.0.buttons.0.supportedApps.0.signatureHash, details.components.0.buttons.0.zeroTapTermsAccepted, details.components.0.buttons.0.flowId, details.components.0.buttons.0.flowAction, details.components.0.buttons.0.navigateScreen, details.messageSendTtlSeconds, analytics, analytics.0.sent, analytics.0.delivered, analytics.0.read, analytics.0.start, analytics.0.end, analytics.0.buttons, analytics.0.buttons.0.type, analytics.0.buttons.0.content, analytics.0.buttons.0.clicks
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: template_not_found
message: Template not found.
resolution: Verify that the parameters are correct.
title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all templates for a specific name
tags:
- WhatsApp Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
delete:
description: |2
Delete template that matches the name.
If message templates with the same name exists in multiple languages, all those templates will also be deleted.
Once deleted the name can not be used for new message templates for 30 days. Use a different name to create future templates during that time period.
Messages that have been sent with the deleted template, but not yet delivered, will be attempted to be deliver for 30 days from the time of the message.
operationId: TemplatesController_deleteTemplatesByName_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: templateName
required: true
in: path
description: The unique name of the template.
schema:
type: string
responses:
'204':
description: Template(s) deleted
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidLanguageCodeErrorTitle
properties:
errorCode:
type: string
title: template_invalid_language_code
example: template_invalid_language_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid language code.
example: Invalid language code.
description: Human readable message.
resolution:
type: string
title: Verify that the language code used is supported by the Provisioning API and WhatsApp.
example: Verify that the language code used is supported by the Provisioning API and WhatsApp.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ET, FA, FI, FIL, FR, GA, GU, HA, HE, HI, HR, HU, ID, IT, JA, KA, KK, KN, KO, KY_KG, LO, LT, LV, MK, ML, MR, MS, NB, NL, PA, PL, PT_BR, PT_PT, RO, RU, RW_RW, SK, SL, SQ, SR, SV, SW, TA, TE, TH, TR, UK, UR, UZ, VI, ZH_CN, ZH_HK, ZH_TW, ZU
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: template_not_found
message: Template not found.
resolution: Verify that the parameters are correct.
title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: whatsapp_business_api_request_limit_exceeded
message: WhatsApp business api request limit reached.
resolution: WhatsApp business API request limits reached. Please try again later.
title: WhatsappBusinessApiRequestLimitExceededErrorTitle
properties:
errorCode:
type: string
title: whatsapp_business_api_request_limit_exceeded
example: whatsapp_business_api_request_limit_exceeded
description: Error code allows to programatically handle errors.
message:
type: string
title: WhatsApp business api request limit reached.
example: WhatsApp business api request limit reached.
description: Human readable message.
resolution:
type: string
title: WhatsApp business API request limits reached. Please try again later.
example: WhatsApp business API request limits reached. Please try again later.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Delete template by name
tags:
- WhatsApp Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/templates/{templateName}/languages/{languageCode}:
get:
description: |2-
Returns a template for a project, with the specified name and language.
operationId: TemplatesController_getTemplate_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: templateName
required: true
in: path
description: The unique name of the template.
schema:
type: string
- name: languageCode
required: true
in: path
description: The language code of the specific template.
schema:
$ref: '#/components/schemas/WhatsappTemplateLanguagesEnum'
- name: fieldMask
required: false
in: query
description: Field masks are a way for API callers to list the fields that a request should return.
schema:
type: array
items:
$ref: '#/components/schemas/WhatsappTemplateDtoFieldMaskPathsEnum'
- name: templateAnalyticsDateRange
required: false
in: query
description: The date range to retrieve template analytics for. Fallback to DAY if none is set.
schema:
$ref: '#/components/schemas/WhatsappTemplateAnalyticsDateRangesEnum'
responses:
'200':
description: Template
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
- $ref: '#/components/schemas/WhatsappPartialTemplateDto'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidLanguageCodeErrorTitle
properties:
errorCode:
type: string
title: template_invalid_language_code
example: template_invalid_language_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid language code.
example: Invalid language code.
description: Human readable message.
resolution:
type: string
title: Verify that the language code used is supported by the Provisioning API and WhatsApp.
example: Verify that the language code used is supported by the Provisioning API and WhatsApp.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ET, FA, FI, FIL, FR, GA, GU, HA, HE, HI, HR, HU, ID, IT, JA, KA, KK, KN, KO, KY_KG, LO, LT, LV, MK, ML, MR, MS, NB, NL, PA, PL, PT_BR, PT_PT, RO, RU, RW_RW, SK, SL, SQ, SR, SV, SW, TA, TE, TH, TR, UK, UR, UZ, VI, ZH_CN, ZH_HK, ZH_TW, ZU
description: Additional information for error.
- title: InvalidFieldsErrorTitle
properties:
errorCode:
type: string
title: invalid_fields
example: invalid_fields
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid fields.
example: Invalid fields.
description: Human readable message.
resolution:
type: string
title: Verify that the fields used are supported by the Provisioning API.
example: Verify that the fields used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: whatsappId, state, name, language, category, rejectionCode, qualityScore, changes, changes.status, changes.allowCategoryChange, changes.details, changes.details.components, changes.details.components.0.type, changes.details.components.0.format, changes.details.components.0.text, changes.details.components.0.example, changes.details.components.0.example.url, changes.details.components.0.examples, changes.details.components.0.addSecurityRecommendation, changes.details.components.0.codeExpirationMinutes, changes.details.components.0.buttons, changes.details.components.0.buttons.0.type, changes.details.components.0.buttons.0.text, changes.details.components.0.buttons.0.phoneNumber, changes.details.components.0.buttons.0.url, changes.details.components.0.buttons.0.example, changes.details.components.0.buttons.0.otpType, changes.details.components.0.buttons.0.autofillText, changes.details.components.0.buttons.0.packageName, changes.details.components.0.buttons.0.signatureHash, changes.details.components.0.buttons.0.supportedApps, changes.details.components.0.buttons.0.supportedApps.0.packageName, changes.details.components.0.buttons.0.supportedApps.0.signatureHash, changes.details.components.0.buttons.0.zeroTapTermsAccepted, changes.details.components.0.buttons.0.flowId, changes.details.components.0.buttons.0.flowAction, changes.details.components.0.buttons.0.navigateScreen, changes.details.messageSendTtlSeconds, details, details.components, details.components.0.type, details.components.0.format, details.components.0.text, details.components.0.example, details.components.0.example.url, details.components.0.examples, details.components.0.addSecurityRecommendation, details.components.0.codeExpirationMinutes, details.components.0.buttons, details.components.0.buttons.0.type, details.components.0.buttons.0.text, details.components.0.buttons.0.phoneNumber, details.components.0.buttons.0.url, details.components.0.buttons.0.example, details.components.0.buttons.0.otpType, details.components.0.buttons.0.autofillText, details.components.0.buttons.0.packageName, details.components.0.buttons.0.signatureHash, details.components.0.buttons.0.supportedApps, details.components.0.buttons.0.supportedApps.0.packageName, details.components.0.buttons.0.supportedApps.0.signatureHash, details.components.0.buttons.0.zeroTapTermsAccepted, details.components.0.buttons.0.flowId, details.components.0.buttons.0.flowAction, details.components.0.buttons.0.navigateScreen, details.messageSendTtlSeconds, analytics, analytics.0.sent, analytics.0.delivered, analytics.0.read, analytics.0.start, analytics.0.end, analytics.0.buttons, analytics.0.buttons.0.type, analytics.0.buttons.0.content, analytics.0.buttons.0.clicks
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: template_not_found
message: Template not found.
resolution: Verify that the parameters are correct.
title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get template in project
tags:
- WhatsApp Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
delete:
description: |2-
Delete a template by name and language.
Please note that by default only draft is removed. Use query parameter `deleteSubmitted=true` to also remove the submitted template.
Once an approved template is deleted, the template cannot be recreated again with this name and language for 30 days. Consequently, be aware that you must use a different name to create template for this language within this 30 days long period.
If you need the template in this language soon, update the submitted template for a specific language instead of trying to delete and recreate it again.
operationId: TemplatesController_deleteTemplateByNameAndLanguage_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: templateName
required: true
in: path
description: The unique name of the template.
schema:
type: string
- name: languageCode
required: true
in: path
description: The language code of the specific template.
schema:
$ref: '#/components/schemas/WhatsappTemplateLanguagesEnum'
- name: deleteSubmitted
required: false
in: query
description: Set this flag to true if you want to delete a template already submitted to Meta. Otherwise, it defaults to false, meaning that it deletes a template in "draft" state only, and throws an error if you attempt to delete a submitted template.
schema:
default: false
type: boolean
responses:
'204':
description: Template deleted
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidLanguageCodeErrorTitle
properties:
errorCode:
type: string
title: template_invalid_language_code
example: template_invalid_language_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid language code.
example: Invalid language code.
description: Human readable message.
resolution:
type: string
title: Verify that the language code used is supported by the Provisioning API and WhatsApp.
example: Verify that the language code used is supported by the Provisioning API and WhatsApp.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ET, FA, FI, FIL, FR, GA, GU, HA, HE, HI, HR, HU, ID, IT, JA, KA, KK, KN, KO, KY_KG, LO, LT, LV, MK, ML, MR, MS, NB, NL, PA, PL, PT_BR, PT_PT, RO, RU, RW_RW, SK, SL, SQ, SR, SV, SW, TA, TE, TH, TR, UK, UR, UZ, VI, ZH_CN, ZH_HK, ZH_TW, ZU
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateChangesNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_changes_not_found
example: template_changes_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template changes not found.
example: Template changes not found.
description: Human readable message.
resolution:
type: string
title: Verify that the template has pending changes.
example: Verify that the template has pending changes.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: template_not_deletable_due_to_input_config
message: Template is not deletable due to input config.
resolution: Only draft templates will be deleted by name and language code if `deleteSubmitted` is `false` or not provided. Be aware that templates deleted for a language cannot be recreated for 30 days with the same template name. If you need the template in this language soon, update the submitted template for the language instead of trying to delete and recreate it again.
title: TemplateNotDeletableDueToInputConfigErrorTitle
properties:
errorCode:
type: string
title: template_not_deletable_due_to_input_config
example: template_not_deletable_due_to_input_config
description: Error code allows to programatically handle errors.
message:
type: string
title: Template is not deletable due to input config.
example: Template is not deletable due to input config.
description: Human readable message.
resolution:
type: string
title: Only draft templates will be deleted by name and language code if `deleteSubmitted` is `false` or not provided. Be aware that templates deleted for a language cannot be recreated for 30 days with the same template name. If you need the template in this language soon, update the submitted template for the language instead of trying to delete and recreate it again.
example: Only draft templates will be deleted by name and language code if `deleteSubmitted` is `false` or not provided. Be aware that templates deleted for a language cannot be recreated for 30 days with the same template name. If you need the template in this language soon, update the submitted template for the language instead of trying to delete and recreate it again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Delete template by name and language
tags:
- WhatsApp Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
patch:
callbacks:
Comment:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template received a comment
description: |2-
Callback sent when a comment is placed on a template.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_COMMENT_ADDED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
example:
type: WHATSAPP_TEMPLATE_COMMENT_ADDED
payload:
name: My WhatsApp Template
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
changes:
status: DRAFT
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
- type: HEADER
format: DOCUMENT
example:
url: https://example.com/photos/1.png
- type: HEADER
format: LOCATION
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
addSecurityRecommendation: true
- type: FOOTER
text: To track your order please click the 'Track Your Order' button
codeExpirationMinutes: 5
- type: BUTTONS
buttons:
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: OTP
otpType: COPY_CODE
text: Example text.
- type: CAROUSEL
cards:
- components:
- type: HEADER
format: IMAGE
example:
url: https://example.com/photos/1.png
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
- type: BUTTONS
buttons:
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Approved:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template approved
description: |2-
Callback sent when a template is approved.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_APPROVED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
example:
type: WHATSAPP_TEMPLATE_APPROVED
payload:
whatsappId: '123456'
name: My WhatsApp Template
state: APPROVED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Rejected:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template rejected
description: |2-
Callback sent when a template is rejected.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_REJECTED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
example:
type: WHATSAPP_TEMPLATE_REJECTED
payload:
name: My WhatsApp Template
state: REJECTED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
StatusUpdated:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template status updated
description: |2-
Callback sent when a template status in changed to `DISABLED`, `FLAGGED`, `PAUSED`, `REINSTATED` or `UNPAUSED`.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_STATUS_UPDATED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
newState:
description: New state for template.
type: string
enum:
- DISABLED
- FLAGGED
- PAUSED
- REINSTATED
- UNPAUSED
comment:
description: Comment for template.
type: string
required:
- type
- payload
- newState
example:
type: WHATSAPP_TEMPLATE_STATUS_UPDATED
payload:
whatsappId: '123456'
name: My WhatsApp Template
state: PAUSED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
newState: PAUSED
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Deleted:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template deleted
description: Callback sent when a template is deleted.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case WHATSAPP_TEMPLATE_DELETED.
type: string
required:
- type
example:
type: WHATSAPP_TEMPLATE_DELETED
payload:
whatsappId: '123456'
name: My WhatsApp Template
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
QualityScoreUpdated:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template quality score updated
description: |2-
Callback sent when a template quality score changed.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
example:
type: WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED
payload:
whatsappId: '123456'
name: My WhatsApp Template
state: APPROVED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
CategoryUpdated:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template category updated
description: |2-
Callback sent when a templates category is changed.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_CATEGORY_UPDATED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
example:
type: WHATSAPP_TEMPLATE_CATEGORY_UPDATED
payload:
whatsappId: '123456'
name: My WhatsApp Template
state: APPROVED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
FutureCategoryUpdate:
'{$request.body#webhooks.target}':
post:
summary: WhatsApp Template category coming update
description: |2-
Callback sent when a templates category coming to be changed.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDto'
futureCategory:
description: Future category for template.
type: string
enum:
- AUTHENTICATION
- MARKETING
- UTILITY
- UNRECOGNIZED
comment:
description: Comment for template.
type: string
required:
- type
- payload
- futureCategory
example:
type: WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE
payload:
whatsappId: '123456'
name: My WhatsApp Template
state: APPROVED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
futureCategory: MARKETING
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
description: |2
Updates a template DRAFT.
Note that it is not possible to update all fields for a template,
if you want to update a field that is not supported you will need to delete the draft and create a new one.
Update a template REJECTED / APPROVED / PAUSED / DISABLED
It is possible to update templates that have been rejected, approved, paused or disabled, we will automatically set the status to draft when update a rejected template.
operationId: TemplatesController_updateTemplate_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: templateName
required: true
in: path
description: The unique name of the template.
schema:
type: string
- name: languageCode
required: true
in: path
description: The language code of the specific template.
schema:
$ref: '#/components/schemas/WhatsappTemplateLanguagesEnum'
requestBody:
required: true
description: Supported template fields to update.
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappUpdateTemplateInputDto'
examples:
value:
summary: Body request
description: |2-
Example body request to update a template.
value:
details:
components:
- type: HEADER
format: LOCATION
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
- type: HEADER
format: DOCUMENT
example:
url: https://example.com/photos/1.png
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
addSecurityRecommendation: true
- type: FOOTER
text: To track your order please click the 'Track Your Order' button
codeExpirationMinutes: 5
- type: BUTTONS
buttons:
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: OTP
otpType: COPY_CODE
text: Example text.
- type: FLOW
text: Start Flow
flowId: flow-id
navigateScreen: QUESTION_ONE
flowAction: NAVIGATE
- type: CAROUSEL
cards:
- components:
- type: HEADER
format: IMAGE
example:
url: https://example.com/photos/1.png
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
- type: BUTTONS
buttons:
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
messageSendTtlSeconds: 60
responses:
'200':
description: Updated template draft
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappTemplateDto'
examples:
response:
summary: Update response
description: |2-
Response when successfully update a template.
value:
whatsappId: '123456'
name: My WhatsApp Template
state: APPROVED
category: UTILITY
language: EN_US
qualityScore: QUALITY_SCORE_GREEN
changes:
status: IN_PROGRESS
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
- type: HEADER
format: DOCUMENT
example:
url: https://example.com/photos/1.png
- type: HEADER
format: LOCATION
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
addSecurityRecommendation: true
- type: FOOTER
text: To track your order please click the 'Track Your Order' button
codeExpirationMinutes: 5
- type: BUTTONS
buttons:
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: OTP
otpType: COPY_CODE
text: Example text.
- type: CAROUSEL
cards:
- components:
- type: HEADER
format: IMAGE
example:
url: https://example.com/photos/1.png
- type: BODY
text: Good morning {{1}}, your package has arrived.
examples:
- Mr. Smith
- type: BUTTONS
buttons:
- type: URL
text: Example test
url: https://www.my-website.com?name={{1}}
example: https://www.my-website.com?name=john
- type: QUICK_REPLY
text: Track Your Order
- type: PHONE_NUMBER
text: Example text.
phoneNumber: +48 777 777777
messageSendTtlSeconds: 60
details:
components:
- type: HEADER
format: TEXT
text: Save {{1}}% on your next purchase!
example: '20'
messageSendTtlSeconds: 60
analytics: []
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidLanguageCodeErrorTitle
properties:
errorCode:
type: string
title: template_invalid_language_code
example: template_invalid_language_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid language code.
example: Invalid language code.
description: Human readable message.
resolution:
type: string
title: Verify that the language code used is supported by the Provisioning API and WhatsApp.
example: Verify that the language code used is supported by the Provisioning API and WhatsApp.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ET, FA, FI, FIL, FR, GA, GU, HA, HE, HI, HR, HU, ID, IT, JA, KA, KK, KN, KO, KY_KG, LO, LT, LV, MK, ML, MR, MS, NB, NL, PA, PL, PT_BR, PT_PT, RO, RU, RW_RW, SK, SL, SQ, SR, SV, SW, TA, TE, TH, TR, UK, UR, UZ, VI, ZH_CN, ZH_HK, ZH_TW, ZU
description: Additional information for error.
- title: TemplatePoliciesViolationsErrorTitle
properties:
errorCode:
type: string
title: template_policies_violations
example: template_policies_violations
description: Error code allows to programatically handle errors.
message:
type: string
title: Your message couldn't be sent because it includes content that other people on Facebook have reported as abusive.
example: Your message couldn't be sent because it includes content that other people on Facebook have reported as abusive.
description: Human readable message.
resolution:
type: string
title: Remove violating content. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Remove violating content. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateCheckMediaFileSizeErrorTitle
properties:
errorCode:
type: string
title: template_check_media_file_size
example: template_check_media_file_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to check media file size.
example: Failed to check media file size.
description: Human readable message.
resolution:
type: string
title: Ensure media file URL is correct and then try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Ensure media file URL is correct and then try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidButtonExampleErrorTitle
properties:
errorCode:
type: string
title: template_invalid_button_example
example: template_invalid_button_example
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid button example.
example: Invalid button example.
description: Human readable message.
resolution:
type: string
title: Only dynamic URL buttons are allowed to have an example.
example: Only dynamic URL buttons are allowed to have an example.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateMediaFileSizeExceedsMaximumFileSizeLimitErrorTitle
properties:
errorCode:
type: string
title: template_media_file_size_exceeds_maximum_file_size_limit
example: template_media_file_size_exceeds_maximum_file_size_limit
description: Error code allows to programatically handle errors.
message:
type: string
title: Template media file size exceeds maximum file size limit.
example: Template media file size exceeds maximum file size limit.
description: Human readable message.
resolution:
type: string
title: Try again with a smaller file.
example: Try again with a smaller file.
description: Human readable message with an explanation of how to solve the error.
- title: FileInvalidMimeTypeErrorTitle
properties:
errorCode:
type: string
title: file_invalid_mime_type
example: file_invalid_mime_type
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.components[0].headerExample.media.url: invalid file mime type.'
example: 'details.components[0].headerExample.media.url: invalid file mime type.'
description: Human readable message.
resolution:
type: string
title: 'Try again with supported mime types: image/jpeg, image/png, application/pdf, video/3gp, video/mp4.'
example: 'Try again with supported mime types: image/jpeg, image/png, application/pdf, video/3gp, video/mp4.'
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: template_not_found
message: Template not found.
resolution: Verify that the parameters are correct.
title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: TemplateNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: template_not_updatable
example: template_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Template is not updatable.
example: Template is not updatable.
description: Human readable message.
resolution:
type: string
title: 'Updates are only supported by templates with state: APPROVED, DISABLED, PAUSED, REJECTED.'
example: 'Updates are only supported by templates with state: APPROVED, DISABLED, PAUSED, REJECTED.'
description: Human readable message with an explanation of how to solve the error.
- title: TemplateChangesNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: template_changes_not_updatable
example: template_changes_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Template is not updatable.
example: Template is not updatable.
description: Human readable message.
resolution:
type: string
title: 'Updates are only supported by template changes with status: DRAFT, REJECTED.'
example: 'Updates are only supported by template changes with status: DRAFT, REJECTED.'
description: Human readable message with an explanation of how to solve the error.
- title: TemplateCategoryNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: template_category_not_updatable
example: template_category_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Template category is not updatable.
example: Template category is not updatable.
description: Human readable message.
resolution:
type: string
title: 'Updates are only supported by template with state: DRAFT or with state: REJECTED and rejectionCode: INCORRECT_CATEGORY.'
example: 'Updates are only supported by template with state: DRAFT or with state: REJECTED and rejectionCode: INCORRECT_CATEGORY.'
description: Human readable message with an explanation of how to solve the error.
- title: TemplateAllowCategoryChangeNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: template_allow_category_change_not_updatable
example: template_allow_category_change_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Template allowCategoryChange is not updatable.
example: Template allowCategoryChange is not updatable.
description: Human readable message.
resolution:
type: string
title: 'Updates are only supported by template with state: DRAFT or with state: REJECTED and rejectionCode: INCORRECT_CATEGORY.'
example: 'Updates are only supported by template with state: DRAFT or with state: REJECTED and rejectionCode: INCORRECT_CATEGORY.'
description: Human readable message with an explanation of how to solve the error.
- title: TemplateNameRecentlyUsedErrorTitle
properties:
errorCode:
type: string
title: template_name_recently_used
example: template_name_recently_used
description: Error code allows to programatically handle errors.
message:
type: string
title: A template with the same name has been deleted within 30 days.
example: A template with the same name has been deleted within 30 days.
description: Human readable message.
resolution:
type: string
title: Use another "name" for "EN" or wait the required time.
example: Use another "name" for "EN" or wait the required time.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateRestrictedDomainForButtonUrlErrorTitle
properties:
errorCode:
type: string
title: template_restricted_Domain_for_button_url
example: template_restricted_Domain_for_button_url
description: Error code allows to programatically handle errors.
message:
type: string
title: Restricted domain for button url.
example: Restricted domain for button url.
description: Human readable message.
resolution:
type: string
title: 'Replace any of the following restricted domains: facebook.com, fbcdn.net, instagram.com, tfbnw.net, wa.me, whatsapp.com'
example: 'Replace any of the following restricted domains: facebook.com, fbcdn.net, instagram.com, tfbnw.net, wa.me, whatsapp.com'
description: Human readable message with an explanation of how to solve the error.
- title: FileNotFoundErrorTitle
properties:
errorCode:
type: string
title: file_not_found
example: file_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.components[0].headerExample.media.url: file not found.'
example: 'details.components[0].headerExample.media.url: file not found.'
description: Human readable message.
resolution:
type: string
title: Verify that the url is correct.
example: Verify that the url is correct.
description: Human readable message with an explanation of how to solve the error.
- title: FileSizeTooLargeErrorTitle
properties:
errorCode:
type: string
title: file_size_too_large
example: file_size_too_large
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.components[0].headerExample.media.url: file size is too large.'
example: 'details.components[0].headerExample.media.url: file size is too large.'
description: Human readable message.
resolution:
type: string
title: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
example: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
description: Human readable message with an explanation of how to solve the error.
- title: FileUnexpectedErrorErrorTitle
properties:
errorCode:
type: string
title: file_unexpected_error
example: file_unexpected_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.components[0].headerExample.media.url: file unexpected error.'
example: 'details.components[0].headerExample.media.url: file unexpected error.'
description: Human readable message.
resolution:
type: string
title: The file cannot be handled properly. Please try with another one.
example: The file cannot be handled properly. Please try with another one.
description: Human readable message with an explanation of how to solve the error.
- title: ObjectWithWhatsappBusinessAccountIdDoesNotExistErrorTitle
properties:
errorCode:
type: string
title: object_with_whatsapp_business_account_id_does_not_exist
example: object_with_whatsapp_business_account_id_does_not_exist
description: Error code allows to programatically handle errors.
message:
type: string
title: WhatsApp Business Account does not exist.
example: WhatsApp Business Account does not exist.
description: Human readable message.
resolution:
type: string
title: Verify that WhatsApp Business ID still exists and contact support.
example: Verify that WhatsApp Business ID still exists and contact support.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateLanguageRecentlyDeletedErrorTitle
properties:
errorCode:
type: string
title: template_language_recently_deleted
example: template_language_recently_deleted
description: Error code allows to programatically handle errors.
message:
type: string
title: A template with the same language has been deleted within 4 weeks.
example: A template with the same language has been deleted within 4 weeks.
description: Human readable message.
resolution:
type: string
title: Try to create EN content again in 4 weeks or create a new template.
example: Try to create EN content again in 4 weeks or create a new template.
description: Human readable message with an explanation of how to solve the error.
'424':
description: FailedDependency
content:
application/json:
schema:
oneOf:
- title: TemplateLimitReachedErrorTitle
properties:
errorCode:
type: string
title: template_limit_reached
example: template_limit_reached
description: Error code allows to programatically handle errors.
message:
type: string
title: Number of templates has reached the limit.
example: Number of templates has reached the limit.
description: Human readable message.
resolution:
type: string
title: Delete some templates or reach out to support to increase the template limit. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Delete some templates or reach out to support to increase the template limit. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateContentAlreadyExistsErrorTitle
properties:
errorCode:
type: string
title: template_content_already_exists
example: template_content_already_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Template cannot be submitted because the content is the same as the content in another template.
example: Template cannot be submitted because the content is the same as the content in another template.
description: Human readable message.
resolution:
type: string
title: Use other template or edit template data and submit again. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Use other template or edit template data and submit again. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateSubmitErrorErrorTitle
properties:
errorCode:
type: string
title: template_submit_error
example: template_submit_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Template submit error.
example: Template submit error.
description: Human readable message.
resolution:
type: string
title: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
metaError:
code: '123'
subcode: '123456'
message: Invalid parameter
description: Character Limit Exceeded
reason: field 'name' can't have more than 1,024 characters
description: Additional information for error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: whatsapp_business_api_request_limit_exceeded
message: WhatsApp business api request limit reached.
resolution: WhatsApp business API request limits reached. Please try again later.
title: WhatsappBusinessApiRequestLimitExceededErrorTitle
properties:
errorCode:
type: string
title: whatsapp_business_api_request_limit_exceeded
example: whatsapp_business_api_request_limit_exceeded
description: Error code allows to programatically handle errors.
message:
type: string
title: WhatsApp business api request limit reached.
example: WhatsApp business api request limit reached.
description: Human readable message.
resolution:
type: string
title: WhatsApp business API request limits reached. Please try again later.
example: WhatsApp business API request limits reached. Please try again later.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: TemplateStartSessionForUploadingMediaErrorTitle
properties:
errorCode:
type: string
title: template_start_session_for_uploading_media
example: template_start_session_for_uploading_media
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to start session for uploading template media example.
example: Failed to start session for uploading template media example.
description: Human readable message.
resolution:
type: string
title: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please wait and try again, if the error persist please contact support. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Update a template in project
tags:
- WhatsApp Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/templates/{templateName}/languages/{languageCode}/activities:
get:
description: |2-
Paginated list of activities for a template. Ordered from the most recent one to the oldest one.
operationId: TemplatesController_listActivities_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: templateName
required: true
in: path
description: The unique name of the template.
schema:
type: string
- name: languageCode
required: true
in: path
description: The language code of the specific template.
schema:
$ref: '#/components/schemas/WhatsappTemplateLanguagesEnum'
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
responses:
'200':
description: Recent activities on template
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappTemplateNotificationListDto'
examples:
response:
summary: List template activities response
description: |2-
Response for all template activities.
value:
totalSize: 2
pageSize: 50
notifications:
- type: CREATED
created: '2023-01-19T13:11:08.204Z'
author: Provisioning API user
- type: COMMENT_ADDED
created: '2023-01-19T13:11:08.204Z'
comment: Example comment
author: Provisioning API user
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidLanguageCodeErrorTitle
properties:
errorCode:
type: string
title: template_invalid_language_code
example: template_invalid_language_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid language code.
example: Invalid language code.
description: Human readable message.
resolution:
type: string
title: Verify that the language code used is supported by the Provisioning API and WhatsApp.
example: Verify that the language code used is supported by the Provisioning API and WhatsApp.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ET, FA, FI, FIL, FR, GA, GU, HA, HE, HI, HR, HU, ID, IT, JA, KA, KK, KN, KO, KY_KG, LO, LT, LV, MK, ML, MR, MS, NB, NL, PA, PL, PT_BR, PT_PT, RO, RU, RW_RW, SK, SL, SQ, SR, SV, SW, TA, TE, TH, TR, UK, UR, UZ, VI, ZH_CN, ZH_HK, ZH_TW, ZU
description: Additional information for error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: template_not_found
message: Template not found.
resolution: Verify that the parameters are correct.
title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Lists activities on project template
tags:
- WhatsApp Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/templates/{templateName}/languages/{languageCode}/comments:
post:
description: |2-
Creates a comment for a template.
operationId: TemplatesController_createComment_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: templateName
required: true
in: path
description: The unique name of the template.
schema:
type: string
- name: languageCode
required: true
in: path
description: The language code of the specific template.
schema:
$ref: '#/components/schemas/WhatsappTemplateLanguagesEnum'
requestBody:
required: true
description: Comment data
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappCommentInputDto'
examples:
input:
summary: Body request
description: |2-
Example body request to create a comment.
value:
comment: Example comment.
responses:
'201':
description: Created comment for a template
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappCommentDto'
examples:
created:
summary: Create response
description: |2-
Response when successfully creating a comment.
value:
type: CREATED
comment: Example comment
created: '2023-01-19T13:11:08.204Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- comment must be longer than or equal to 1 characters
description: Additional information for error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidLanguageCodeErrorTitle
properties:
errorCode:
type: string
title: template_invalid_language_code
example: template_invalid_language_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid language code.
example: Invalid language code.
description: Human readable message.
resolution:
type: string
title: Verify that the language code used is supported by the Provisioning API and WhatsApp.
example: Verify that the language code used is supported by the Provisioning API and WhatsApp.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ET, FA, FI, FIL, FR, GA, GU, HA, HE, HI, HR, HU, ID, IT, JA, KA, KK, KN, KO, KY_KG, LO, LT, LV, MK, ML, MR, MS, NB, NL, PA, PL, PT_BR, PT_PT, RO, RU, RW_RW, SK, SL, SQ, SR, SV, SW, TA, TE, TH, TR, UK, UR, UZ, VI, ZH_CN, ZH_HK, ZH_TW, ZU
description: Additional information for error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: template_not_found
message: Template not found.
resolution: Verify that the parameters are correct.
title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FailedToCreateCommentErrorTitle
properties:
errorCode:
type: string
title: failed_to_create_comment
example: failed_to_create_comment
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to create a comment.
example: Failed to create a comment.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Creates a comment for a template
tags:
- WhatsApp Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/templates/{templateName}/languages/{languageCode}/compare:
post:
description: |2-
Compare two templates.
operationId: TemplatesController_compareTemplates_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: templateName
required: true
in: path
description: The unique name of the template.
schema:
type: string
- name: languageCode
required: true
in: path
description: The language code of the specific template.
schema:
$ref: '#/components/schemas/WhatsappTemplateLanguagesEnum'
requestBody:
required: true
description: Compare data
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappInputTemplateCompareDto'
examples:
input:
summary: Body request
description: |2-
Example body request compare templates.
value:
templates:
- templateName: templateName2
templateLanguage: PL
timeframe: '60'
endTimestamp: 1694612898734
responses:
'200':
description: Compared template response
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappTemplateCompareDto'
examples:
created:
summary: Compare template response
description: |2-
Response when successfully compared templates.
value:
templates:
- name: templateName1
language: EN
blockOrder: 1
messageSends: 1000
topBlockReason: NO_REASON
- name: templateName1
language: PL
blockOrder: 2
messageSends: 2000
topBlockReason: NO_REASON_GIVEN
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- templates must be an array
- templates must contain no more than 1 elements
- templates must contain at least 1 elements
description: Additional information for error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for WhatsApp.
example: Project not initialized for WhatsApp.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
example: Verify that the project ID is correct and that it has been onboarded for WhatsApp.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidLanguageCodeErrorTitle
properties:
errorCode:
type: string
title: template_invalid_language_code
example: template_invalid_language_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid language code.
example: Invalid language code.
description: Human readable message.
resolution:
type: string
title: Verify that the language code used is supported by the Provisioning API and WhatsApp.
example: Verify that the language code used is supported by the Provisioning API and WhatsApp.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ET, FA, FI, FIL, FR, GA, GU, HA, HE, HI, HR, HU, ID, IT, JA, KA, KK, KN, KO, KY_KG, LO, LT, LV, MK, ML, MR, MS, NB, NL, PA, PL, PT_BR, PT_PT, RO, RU, RW_RW, SK, SL, SQ, SR, SV, SW, TA, TE, TH, TR, UK, UR, UZ, VI, ZH_CN, ZH_HK, ZH_TW, ZU
description: Additional information for error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: TemplatesCompareNotFoundErrorTitle
properties:
errorCode:
type: string
title: templates_compare_not_found
example: templates_compare_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Templates to compare not found.
example: Templates to compare not found.
description: Human readable message.
resolution:
type: string
title: 'Verify that the parameters are correct. No templates found for templateName: templateName and templateLanguage: EN'
example: 'Verify that the parameters are correct. No templates found for templateName: templateName and templateLanguage: EN'
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: TemplatesNotEligibleForComparisonErrorTitle
properties:
errorCode:
type: string
title: templates_not_eligible_for_comparison
example: templates_not_eligible_for_comparison
description: Error code allows to programatically handle errors.
message:
type: string
title: Templates not eligible for comparison.
example: Templates not eligible for comparison.
description: Human readable message.
resolution:
type: string
title: Templates must have been sent at least 1,000 times in the specified timeframe.
example: Templates must have been sent at least 1,000 times in the specified timeframe.
description: Human readable message with an explanation of how to solve the error.
- title: TemplatesCompareNotUniqueErrorTitle
properties:
errorCode:
type: string
title: templates_compare_not_unique
example: templates_compare_not_unique
description: Error code allows to programatically handle errors.
message:
type: string
title: Templates to compare not unique.
example: Templates to compare not unique.
description: Human readable message.
resolution:
type: string
title: Template can't be compared with itself. Provide unique templates for comparison.
example: Template can't be compared with itself. Provide unique templates for comparison.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Compare two templates
tags:
- WhatsApp Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/whatsapp/wabaDetails:
post:
deprecated: true
description: |2-
Returns a list of all the WhatsApp Business Accounts that the facebook token is associated with, together with the numbers that are shared.
operationId: EmbeddedSignupHelperController_listWabaDetailsForToken_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: WabaDetails data with Facebook token generated from the embedded signup process.
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappWabaDetailsListInputDto'
examples:
input:
summary: Body request
description: |2-
Example body request to list WhatsApp Business Accounts details.
value:
facebookToken: FACEBOOK_TOKEN
responses:
'200':
description: List of WhatsApp Business Accounts.
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappWabaDetailsListDto'
examples:
response:
summary: List waba details response
description: |2-
Response for all waba details.
value:
wabas:
- id: '100000000000000'
name: Example company
numbers:
- id: '222222222222222'
displayPhoneNumber: +48 777 777777
provisioned: false
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- facebookToken must be a string
description: Additional information for error.
- title: InvalidFacebookTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_facebook_token
example: invalid_facebook_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Facebook token is invalid or has expired
example: Facebook token is invalid or has expired
description: Human readable message.
resolution:
type: string
title: Check that token is correct, or create a new one and try again.
example: Check that token is correct, or create a new one and try again.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidBusinessManagerErrorTitle
properties:
errorCode:
type: string
title: invalid_business_manager
example: invalid_business_manager
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid business manager.
example: Invalid business manager.
description: Human readable message.
resolution:
type: string
title: Check that business manager is correct for project.
example: Check that business manager is correct for project.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidBusinessManagerForEnvironmentErrorTitle
properties:
errorCode:
type: string
title: invalid_business_manager_for_environment
example: invalid_business_manager_for_environment
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid business manager for environment.
example: Invalid business manager for environment.
description: Human readable message.
resolution:
type: string
title: Verify that business manager is valid for environment. Allowed business managers for environment SINCH_AMERICA, SINCH_UK.
example: Verify that business manager is valid for environment. Allowed business managers for environment SINCH_AMERICA, SINCH_UK.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FacebookRequestLimitReachedErrorTitle
properties:
errorCode:
type: string
title: facebook_Request_limit_reached
example: facebook_Request_limit_reached
description: Error code allows to programatically handle errors.
message:
type: string
title: Facebook request limit reached.
example: Facebook request limit reached.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: LogInFacebookRequiredErrorTitle
properties:
errorCode:
type: string
title: log_in_facebook_required
example: log_in_facebook_required
description: Error code allows to programatically handle errors.
message:
type: string
title: Log in to facebook required.
example: Log in to facebook required.
description: Human readable message.
resolution:
type: string
title: Log in to www.facebook.com and follow the instructions given.
example: Log in to www.facebook.com and follow the instructions given.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List WhatsApp Business Accounts details
tags:
- WhatsApp
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/bundles:
post:
callbacks:
BundleDone:
'{$request.body#webhooks.target}':
post:
summary: Bundle Done Event
description: |2-
When a bundle is completed, the system makes a `POST` request to the specified callback URL.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, will always be `BUNDLE_DONE` for this callback.
type: string
payload:
description: Bundle data representing the completed form.
allOf:
- $ref: '#/components/schemas/BundlesBundlesDto'
required:
- type
- payload
example:
type: BUNDLE_DONE
payload:
id: 62a02dd40000000000000000
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
name: Sample response
region: US
subproject:
id: ea026751-3edf-40a9-ad93-1b382bd60a78
name: Sample response
parentProjectId: 18bbdcc8-117d-42f0-85cc-e30462c49404
status: READY
smsApp:
id: 54e5eb6cae6242c88c132c8da8bb1072
smsServiceId: d84b09da00fb4b76ff63f2fcea8d46c7
name: Sample response
status: ACTIVE
accessTokens:
- token
convApp:
id: 31c12b1042d14b37ae96df96bb13575b
name: Sample response
processingMode: CONVERSATION
webhooks:
- id: 7c60ce550f1d40198d5ffb113d58591b
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
target: https://webhook.site/d614d077-302a-4e0b-a06a-276923f7d8d4
triggers:
- BUNDLE_DONE
state: DONE
webhookDeliveryStatuses:
- webhookId: 7c60ce550f1d40198d5ffb113d58591b
date: '2025-02-14T10:54:15.676Z'
httpStatusCode: 200
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
description: |2-
Creates a new bundle of resources based on the input work order.
operationId: BundlesController_create_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Example Bundle create requests
content:
application/json:
schema:
$ref: '#/components/schemas/BundlesBundlesInputDto'
examples:
small:
summary: Small example
description: |2-
Small example to create a subproject, SMS App and Conversation API App. The webhooks for Conversation API and Provisioning API are examples and can be extended.
value:
name: Small bundle example
region: US
subproject: true
smsApp: true
convApp:
webhooks:
- target: https://webhook.site/d614d077-302a-4e0b-a06a-276923f7d8d4
secret: secret
triggers:
- MESSAGE_DELIVERY
processingMode: DISPATCH
retentionPolicy:
retentionPolicyType: MESSAGE_EXPIRE_POLICY
ttl: 7
webhooks:
- target: https://webhook.site/d614d077-302a-4e0b-a06a-276923f7d8d4
secret: secret
triggers:
- BUNDLE_DONE
minimal:
summary: Minimal example
description: |2-
Minimal example to create a subproject, SMS App and Conversation API App. This will not register any webhooks which will have to be done separately.
value:
name: Minimal bundle example
region: US
subproject: true
smsApp: true
convApp: true
responses:
'201':
description: Responds with the bundle created. At time of response the bundle might not be completed. To receive the complete payload register a webhook for the `BUNDLE_DONE` trigger.
content:
application/json:
schema:
$ref: '#/components/schemas/BundlesBundlesDto'
examples:
notReady:
summary: Pending response
description: |2-
Response if the SMS App is not ready. This is the most likely response.
value:
id: 62a02dd40000000000000000
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
name: Sample response
region: US
subproject:
id: ea026751-3edf-40a9-ad93-1b382bd60a78
name: Sample response
parentProjectId: 18bbdcc8-117d-42f0-85cc-e30462c49404
status: PENDING
smsApp:
id: 54e5eb6cae6242c88c132c8da8bb1072
smsServiceId: d84b09da00fb4b76ff63f2fcea8d46c7
name: Sample response
status: PENDING_ADD
convApp:
id: 31c12b1042d14b37ae96df96bb13575b
name: Sample response
processingMode: CONVERSATION
webhooks:
- id: 7c60ce550f1d40198d5ffb113d58591b
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
target: https://webhook.site/d614d077-302a-4e0b-a06a-276923f7d8d4
triggers:
- BUNDLE_DONE
state: IN_PROGRESS
ready:
summary: Completed response
description: |2-
Response if the SMS App is ready. The data is the same as the callback payload.
value:
id: 62a02dd40000000000000000
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
name: Sample response
region: US
subproject:
id: ea026751-3edf-40a9-ad93-1b382bd60a78
name: Sample response
parentProjectId: 18bbdcc8-117d-42f0-85cc-e30462c49404
status: READY
smsApp:
id: 54e5eb6cae6242c88c132c8da8bb1072
smsServiceId: d84b09da00fb4b76ff63f2fcea8d46c7
name: Sample response
status: ACTIVE
accessTokens:
- token
convApp:
id: 31c12b1042d14b37ae96df96bb13575b
name: Sample response
processingMode: CONVERSATION
webhooks:
- id: 7c60ce550f1d40198d5ffb113d58591b
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
target: https://webhook.site/d614d077-302a-4e0b-a06a-276923f7d8d4
triggers:
- BUNDLE_DONE
state: DONE
webhookDeliveryStatuses:
- webhookId: 7c60ce550f1d40198d5ffb113d58591b
date: '2025-02-14T10:54:15.676Z'
httpStatusCode: 200
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- subproject must be boolean or object
description: Additional information for error.
- title: NoServicesToCreateErrorTitle
properties:
errorCode:
type: string
title: no_services_to_create
example: no_services_to_create
description: Error code allows to programatically handle errors.
message:
type: string
title: No services to create.
example: No services to create.
description: Human readable message.
resolution:
type: string
title: Add at least one service to create.
example: Add at least one service to create.
description: Human readable message with an explanation of how to solve the error.
- title: MissingNameErrorTitle
properties:
errorCode:
type: string
title: missing_name
example: missing_name
description: Error code allows to programatically handle errors.
message:
type: string
title: Missing name for bundles.
example: Missing name for bundles.
description: Human readable message.
resolution:
type: string
title: Make sure you have given a separate service name or principal.
example: Make sure you have given a separate service name or principal.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidWebhooksErrorTitle
properties:
errorCode:
type: string
title: invalid_webhooks
example: invalid_webhooks
description: Error code allows to programatically handle errors.
message:
type: string
title: Unable to create webhooks.
example: Unable to create webhooks.
description: Human readable message.
resolution:
type: string
title: Please try again.
example: Please try again.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidStagingBundlesInputRegionErrorTitle
properties:
errorCode:
type: string
title: invalid_staging_bundles_input_region
example: invalid_staging_bundles_input_region
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid bundles region for staging.
example: Invalid bundles region for staging.
description: Human readable message.
resolution:
type: string
title: Verify that bundles region is valid for staging. Allowed bundles regions for staging EU, US.
example: Verify that bundles region is valid for staging. Allowed bundles regions for staging EU, US.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: webhook_exists
message: Webhook with the provided target already exists.
resolution: Webhooks must have a unique target. Change the target and submit again.
title: WebhookExistsErrorTitle
properties:
errorCode:
type: string
title: webhook_exists
example: webhook_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Webhook with the provided target already exists.
example: Webhook with the provided target already exists.
description: Human readable message.
resolution:
type: string
title: Webhooks must have a unique target. Change the target and submit again.
example: Webhooks must have a unique target. Change the target and submit again.
description: Human readable message with an explanation of how to solve the error.
'424':
description: FailedDependency
content:
application/json:
schema:
example:
errorCode: webhook_limit_reached
message: Number of webhooks has reached the limit.
resolution: Delete some webhooks to be able to add more.
title: WebhookLimitReachedErrorTitle
properties:
errorCode:
type: string
title: webhook_limit_reached
example: webhook_limit_reached
description: Error code allows to programatically handle errors.
message:
type: string
title: Number of webhooks has reached the limit.
example: Number of webhooks has reached the limit.
description: Human readable message.
resolution:
type: string
title: Delete some webhooks to be able to add more.
example: Delete some webhooks to be able to add more.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FailedToCreateSubprojectErrorTitle
properties:
errorCode:
type: string
title: failed_to_create_subproject
example: failed_to_create_subproject
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to create subproject.
example: Failed to create subproject.
description: Human readable message.
resolution:
type: string
title: Please try again.
example: Please try again.
description: Human readable message with an explanation of how to solve the error.
- title: FailedToCreateSmsServiceErrorTitle
properties:
errorCode:
type: string
title: failed_to_create_sms_service
example: failed_to_create_sms_service
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to create sms service.
example: Failed to create sms service.
description: Human readable message.
resolution:
type: string
title: Please try again.
example: Please try again.
description: Human readable message with an explanation of how to solve the error.
- title: FailedToCreateConversationServiceErrorTitle
properties:
errorCode:
type: string
title: failed_to_create_conversation_service
example: failed_to_create_conversation_service
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to create conversation service.
example: Failed to create conversation service.
description: Human readable message.
resolution:
type: string
title: Please try again.
example: Please try again.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Create bundle for project
tags:
- Bundles
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/bundles/{bundleId}:
get:
description: |2-
Retrieve created bundle and resources created.
operationId: BundlesController_get_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: bundleId
required: true
in: path
description: The unique ID of the bundle.
schema:
type: string
responses:
'200':
description: Responds with the bundle created. At time of response the bundle might not be completed.
content:
application/json:
schema:
$ref: '#/components/schemas/BundlesBundlesDto'
examples:
notReady:
summary: Pending response
description: |2-
Response if the SMS App is not ready. This is the most likely response.
value:
id: 62a02dd40000000000000000
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
name: Sample response
region: US
subproject:
id: ea026751-3edf-40a9-ad93-1b382bd60a78
name: Sample response
parentProjectId: 18bbdcc8-117d-42f0-85cc-e30462c49404
status: PENDING
smsApp:
id: 54e5eb6cae6242c88c132c8da8bb1072
smsServiceId: d84b09da00fb4b76ff63f2fcea8d46c7
name: Sample response
status: PENDING_ADD
convApp:
id: 31c12b1042d14b37ae96df96bb13575b
name: Sample response
processingMode: CONVERSATION
webhooks:
- id: 7c60ce550f1d40198d5ffb113d58591b
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
target: https://webhook.site/d614d077-302a-4e0b-a06a-276923f7d8d4
triggers:
- BUNDLE_DONE
state: IN_PROGRESS
ready:
summary: Completed response
description: |2-
Response if the SMS App is ready. The data is the same as the callback payload.
value:
id: 62a02dd40000000000000000
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
name: Sample response
region: US
subproject:
id: ea026751-3edf-40a9-ad93-1b382bd60a78
name: Sample response
parentProjectId: 18bbdcc8-117d-42f0-85cc-e30462c49404
status: READY
smsApp:
id: 54e5eb6cae6242c88c132c8da8bb1072
smsServiceId: d84b09da00fb4b76ff63f2fcea8d46c7
name: Sample response
status: ACTIVE
accessTokens:
- token
convApp:
id: 31c12b1042d14b37ae96df96bb13575b
name: Sample response
processingMode: CONVERSATION
webhooks:
- id: 7c60ce550f1d40198d5ffb113d58591b
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
target: https://webhook.site/d614d077-302a-4e0b-a06a-276923f7d8d4
triggers:
- BUNDLE_DONE
state: DONE
webhookDeliveryStatuses:
- webhookId: 7c60ce550f1d40198d5ffb113d58591b
date: '2025-02-14T10:54:15.676Z'
httpStatusCode: 200
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: invalid_id_format
message: Id is not in the expected format.
resolution: bundleId param is in the wrong format. Confirm that you're sending the correct value.
title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: bundleId param is in the wrong format. Confirm that you're sending the correct value.
example: bundleId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: bundle_not_found
message: Bundle not found.
resolution: Verify that the parameters are correct.
title: BundleNotFoundErrorTitle
properties:
errorCode:
type: string
title: bundle_not_found
example: bundle_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Bundle not found.
example: Bundle not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get bundle by projectId and bundleId
tags:
- Bundles
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/categories/senders:
get:
description: |2-
Returns a list of sender categories.
operationId: CategoriesController_listSenderCategories_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
responses:
'200':
description: List of sender categories.
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkSenderCategoryListDto'
examples:
response:
summary: List response.
description: |2-
Response with sender categories.
value:
categories:
- parentCode: ''
depth: 1
code: '001'
name: 건강
subcategories:
- parentCode: '001'
depth: 2
code: '0001'
name: 병원
subcategories:
- parentCode: '0001'
depth: 3
code: '0001'
name: 종합병원
subcategories: []
- parentCode: '0001'
depth: 3
code: '0002'
name: 피부과
subcategories: []
- parentCode: '0001'
depth: 3
code: '0003'
name: 성형외과
subcategories: []
- parentCode: '001'
depth: 2
code: '0002'
name: 약국
subcategories:
- parentCode: '0002'
depth: 3
code: '0001'
name: 약국
subcategories: []
- parentCode: '001'
depth: 2
code: '0003'
name: 의료기기/의약품
subcategories:
- parentCode: '0003'
depth: 3
code: '0001'
name: 의료기기/의약품
subcategories: []
- parentCode: '001'
depth: 2
code: '0004'
name: 건강식품/건강정보
subcategories:
- parentCode: '0004'
depth: 3
code: '0001'
name: 건강식품/건강정보
subcategories: []
- parentCode: ''
depth: 1
code: '002'
name: 교육
subcategories:
- parentCode: '002'
depth: 2
code: '0001'
name: 학교
subcategories:
- parentCode: '0001'
depth: 3
code: '0001'
name: 유치원
subcategories: []
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for KakaoTalk.
resolution: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all sender categories.
tags:
- KakaoTalk Categories
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/categories/senders/{plusFriendId}/templates:
get:
description: |2-
Returns a list of template categories for the specified project.
operationId: CategoriesController_getTemplateCategories_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
responses:
'200':
description: List of template categories
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkTemplateCategoryListDto'
examples:
response:
summary: List response.
description: |2-
Response with categories.
value:
totalSize: 2
pageSize: 50
categories:
- name: 회원
nameEnglish: Membership
subcategories:
- code: '001001'
name: 회원가입
nameEnglish: Join membership
groupName: 회원
inclusion: 회원가입 완료 내용의 템플릿이 대상입니다. 가입에 따른 축하적립금/쿠폰을 포함합니다.
exclusion: 상품/서비스가입은 구매 > 상품가입 (002002)로 분류합니다.
- code: '001002'
name: 인증/비밀번호/로그인
nameEnglish: Authentication/Password/Login
groupName: 회원
inclusion: OTP, 로그인여부, 임시비밀번호, 본인확인 용도의 템플릿이 대상입니다.
exclusion: ''
- code: '001003'
name: 회원정보/회원혜택
nameEnglish: Membership information/Member ship benefits
groupName: 회원
inclusion: 회원등급안내, 혜택안내, 생일/기념일 축하 동의 템플릿이 대상입니다.
exclusion: ''
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all template categories in project
tags:
- KakaoTalk Categories
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders:
get:
description: |2-
Returns a paginated list of senders for the specified project. If no page token is supplied then the first `50` will be returned.
operationId: KakaotalkSendersController_listSenders_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
- name: filterStates
required: false
in: query
description: Optionally query for sender by states.
schema:
type: array
items:
$ref: '#/components/schemas/KakaotalkSenderStatesEnum'
- name: filterStatuses
required: false
in: query
description: Optionally query for sender by statuses.
schema:
type: array
items:
$ref: '#/components/schemas/KakaotalkSenderStatusesEnum'
responses:
'200':
description: List of senders
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkSenderListDto'
examples:
response:
summary: List response
description: |2-
Response with senders.
value:
totalSize: 2
pageSize: 50
senders:
- id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
state: ACTIVE
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
- id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
changes:
status: REJECTED
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidFilterStatesErrorTitle
properties:
errorCode:
type: string
title: invalid_filter_states
example: invalid_filter_states
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid filterStates.
example: Invalid filterStates.
description: Human readable message.
resolution:
type: string
title: Verify that the filterStates used are supported by the Provisioning API.
example: Verify that the filterStates used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: ACTIVE, BLOCKED, INACTIVE, SUSPENDED, VERIFYING
description: Additional information for error.
- title: InvalidFilterStatusesErrorTitle
properties:
errorCode:
type: string
title: invalid_filter_statuses
example: invalid_filter_statuses
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid filter statuses.
example: Invalid filter statuses.
description: Human readable message.
resolution:
type: string
title: Verify that the filterStatuses used are supported by the Provisioning API.
example: Verify that the filterStatuses used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: DRAFT, IN_PROGRESS, REJECTED
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all senders in project
tags:
- KakaoTalk Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
post:
callbacks:
Active:
'{$request.body#webhooks.target}':
post:
summary: Sender state active
description: |2-
Received when sender verification is complete and sender is ready to use.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `KAKAOTALK_SENDER_ACTIVE`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/KakaotalkSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: KAKAOTALK_SENDER_ACTIVE
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
state: ACTIVE
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Inactive:
'{$request.body#webhooks.target}':
post:
summary: Sender inactive
description: |2-
Received when a sender is inactivated.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `KAKAOTALK_SENDER_INACTIVE`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/KakaotalkSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: KAKAOTALK_SENDER_INACTIVE
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
state: INACTIVE
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Rejected:
'{$request.body#webhooks.target}':
post:
summary: Sender rejected
description: |2-
Received when a sender is rejected.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `KAKAOTALK_SENDER_REJECTED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/KakaotalkSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: KAKAOTALK_SENDER_REJECTED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
changes:
status: REJECTED
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Comment:
'{$request.body#webhooks.target}':
post:
summary: Comment on sender
description: |2-
Received when a comment has been added to the sender.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `KAKAOTALK_SENDER_COMMENT_ADDED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/KakaotalkSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
- comment
example:
type: KAKAOTALK_SENDER_COMMENT_ADDED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
state: INACTIVE
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
comment: Example comment
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
description: |2-
Creates a sender for a project.
operationId: KakaotalkSendersController_createSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Sender data
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkInputSenderDto'
examples:
full:
summary: Full body request
description: |2-
Example of full body to create a sender.
value:
plusFriendId: plusFriendId
status: SUBMIT
saveDraftOnFailure: true
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
minimal:
summary: Minimal body request
description: |2-
Example of minimal body to create a sender.
value:
plusFriendId: plusFriendId
details:
adminPhoneNo: '+48777777777'
name: Test Name
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
responses:
'201':
description: Sender
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkSenderDto'
examples:
response:
summary: Create response
description: |2-
Response when successfully creating a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
changes:
status: REJECTED
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: FileInvalidMimeTypeErrorTitle
properties:
errorCode:
type: string
title: file_invalid_mime_type
example: file_invalid_mime_type
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.logoImage: invalid file mime type.'
example: 'details.logoImage: invalid file mime type.'
description: Human readable message.
resolution:
type: string
title: 'Try again with supported mime types: image/jpeg, image/png.'
example: 'Try again with supported mime types: image/jpeg, image/png.'
description: Human readable message with an explanation of how to solve the error.
- title: SenderInvalidCategoryCodeErrorTitle
properties:
errorCode:
type: string
title: sender_invalid_category_code
example: sender_invalid_category_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid sender category code(s).
example: Invalid sender category code(s).
description: Human readable message.
resolution:
type: string
title: Verify that the sender category code(s) used is supported.
example: Verify that the sender category code(s) used is supported.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- plusFriendId must be longer than or equal to 1 characters
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: project_not_found
message: Project not found.
resolution: Verify that the projectId is correct.
title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: AccountExistsErrorTitle
properties:
errorCode:
type: string
title: account_exists
example: account_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Account already exists.
example: Account already exists.
description: Human readable message.
resolution:
type: string
title: There can only be one KakaoTalk account for each project.
example: There can only be one KakaoTalk account for each project.
description: Human readable message with an explanation of how to solve the error.
- title: AccountNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: account_not_updatable
example: account_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Account is not updatable.
example: Account is not updatable.
description: Human readable message.
resolution:
type: string
title: Please contact support.
example: Please contact support.
description: Human readable message with an explanation of how to solve the error.
- title: AccountDataIsCorruptErrorTitle
properties:
errorCode:
type: string
title: account_data_is_corrupt
example: account_data_is_corrupt
description: Error code allows to programatically handle errors.
message:
type: string
title: Account data is corrupt.
example: Account data is corrupt.
description: Human readable message.
resolution:
type: string
title: Please contact support.
example: Please contact support.
description: Human readable message with an explanation of how to solve the error.
- title: FileNotFoundErrorTitle
properties:
errorCode:
type: string
title: file_not_found
example: file_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.logoImage: file not found.'
example: 'details.logoImage: file not found.'
description: Human readable message.
resolution:
type: string
title: Verify that the url is correct.
example: Verify that the url is correct.
description: Human readable message with an explanation of how to solve the error.
- title: FileUnexpectedErrorErrorTitle
properties:
errorCode:
type: string
title: file_unexpected_error
example: file_unexpected_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.logoImage: file unexpected error.'
example: 'details.logoImage: file unexpected error.'
description: Human readable message.
resolution:
type: string
title: The file cannot be handled properly. Please try with another one.
example: The file cannot be handled properly. Please try with another one.
description: Human readable message with an explanation of how to solve the error.
- title: FileSizeTooLargeErrorTitle
properties:
errorCode:
type: string
title: file_size_too_large
example: file_size_too_large
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.logoImage: file size is too large.'
example: 'details.logoImage: file size is too large.'
description: Human readable message.
resolution:
type: string
title: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
example: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
description: Human readable message with an explanation of how to solve the error.
- title: PlusFriendIdUsedErrorTitle
properties:
errorCode:
type: string
title: plus_friend_id_used
example: plus_friend_id_used
description: Error code allows to programatically handle errors.
message:
type: string
title: plusFriendId is already used.
example: plusFriendId is already used.
description: Human readable message.
resolution:
type: string
title: plusFriendId is already used by another Sender, verify that the parameters are correct.
example: plusFriendId is already used by another Sender, verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'412':
description: PreconditionFailed
content:
application/json:
schema:
example:
errorCode: account_is_in_progress
message: Account creation is in progress.
resolution: Please contact support.
title: AccountIsInProgressErrorTitle
properties:
errorCode:
type: string
title: account_is_in_progress
example: account_is_in_progress
description: Error code allows to programatically handle errors.
message:
type: string
title: Account creation is in progress.
example: Account creation is in progress.
description: Human readable message.
resolution:
type: string
title: Please contact support.
example: Please contact support.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Create sender for project
tags:
- KakaoTalk Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}:
get:
description: |2-
Returns a sender for a project.
operationId: SendersController_getSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
responses:
'200':
description: Sender
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkSenderDto'
examples:
response:
summary: Get response
description: |2-
Response with a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
state: ACTIVE
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for KakaoTalk.
resolution: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get sender for project
tags:
- KakaoTalk Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
delete:
description: |2-
Marks a sender for removal. Once requested the sender will be active for 60 days to deliver final messages. After 60 days it will be removed.
operationId: SendersController_deleteSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
responses:
'204':
description: Sender marked for delete after 60 days.
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for KakaoTalk.
resolution: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: sender_already_deleted
message: The sender has been deleted within the last 60 days.
resolution: Wait the required time.
title: SenderAlreadyDeletedErrorTitle
properties:
errorCode:
type: string
title: sender_already_deleted
example: sender_already_deleted
description: Error code allows to programatically handle errors.
message:
type: string
title: The sender has been deleted within the last 60 days.
example: The sender has been deleted within the last 60 days.
description: Human readable message.
resolution:
type: string
title: Wait the required time.
example: Wait the required time.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Delete sender for project
tags:
- KakaoTalk Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
patch:
description: |2-
Updates a draft sender in project.
operationId: SendersController_updateSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
requestBody:
required: true
description: Supported sender fields to update
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkInputUpdateSenderDto'
examples:
full:
summary: Full body request
description: |2-
Example of full body to update a sender.
value:
status: SUBMIT
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
responses:
'200':
description: Updated sender in project
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkSenderDto'
examples:
response:
summary: Update response
description: |2-
Response when successfully update a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
state: ACTIVE
changes:
status: REJECTED
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
responseSenderDraft:
summary: Update response of a draft
description: |2-
Response when successfully updating a sender draft.
value:
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
changes:
status: REJECTED
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: FileInvalidMimeTypeErrorTitle
properties:
errorCode:
type: string
title: file_invalid_mime_type
example: file_invalid_mime_type
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.logoImage: invalid file mime type.'
example: 'details.logoImage: invalid file mime type.'
description: Human readable message.
resolution:
type: string
title: 'Try again with supported mime types: image/jpeg, image/png.'
example: 'Try again with supported mime types: image/jpeg, image/png.'
description: Human readable message with an explanation of how to solve the error.
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- Description of fields failing validation
description: Additional information for error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: NoFieldsToUpdateErrorTitle
properties:
errorCode:
type: string
title: no_fields_to_update
example: no_fields_to_update
description: Error code allows to programatically handle errors.
message:
type: string
title: No fields to be updated.
example: No fields to be updated.
description: Human readable message.
resolution:
type: string
title: Supply at least one field to be updated.
example: Supply at least one field to be updated.
description: Human readable message with an explanation of how to solve the error.
- title: SenderInvalidCategoryCodeErrorTitle
properties:
errorCode:
type: string
title: sender_invalid_category_code
example: sender_invalid_category_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid sender category code(s).
example: Invalid sender category code(s).
description: Human readable message.
resolution:
type: string
title: Verify that the sender category code(s) used is supported.
example: Verify that the sender category code(s) used is supported.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: FileNotFoundErrorTitle
properties:
errorCode:
type: string
title: file_not_found
example: file_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.logoImage: file not found.'
example: 'details.logoImage: file not found.'
description: Human readable message.
resolution:
type: string
title: Verify that the url is correct.
example: Verify that the url is correct.
description: Human readable message with an explanation of how to solve the error.
- title: FileUnexpectedErrorErrorTitle
properties:
errorCode:
type: string
title: file_unexpected_error
example: file_unexpected_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.logoImage: file unexpected error.'
example: 'details.logoImage: file unexpected error.'
description: Human readable message.
resolution:
type: string
title: The file cannot be handled properly. Please try with another one.
example: The file cannot be handled properly. Please try with another one.
description: Human readable message with an explanation of how to solve the error.
- title: FileSizeTooLargeErrorTitle
properties:
errorCode:
type: string
title: file_size_too_large
example: file_size_too_large
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.logoImage: file size is too large.'
example: 'details.logoImage: file size is too large.'
description: Human readable message.
resolution:
type: string
title: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
example: Try again with a smaller file. Max size for `image/jpeg` is 5MB.
description: Human readable message with an explanation of how to solve the error.
- title: SenderChangesNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: sender_changes_not_updatable
example: sender_changes_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender is not updatable.
example: Sender is not updatable.
description: Human readable message.
resolution:
type: string
title: 'Updates are only supported by sender changes with status: DRAFT'
example: 'Updates are only supported by sender changes with status: DRAFT'
description: Human readable message with an explanation of how to solve the error.
- title: SenderNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: sender_not_updatable
example: sender_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender is not updatable.
example: Sender is not updatable.
description: Human readable message.
resolution:
type: string
title: 'Updates are only supported by senders with state: ACTIVE.'
example: 'Updates are only supported by senders with state: ACTIVE.'
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Updates a draft sender in project
tags:
- KakaoTalk Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/activities:
get:
description: Paginated list of activities for sender. Ordered from the most recent one to the oldest one.
operationId: KakaotalkSendersController_listActivities_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
responses:
'200':
description: Recent activities on sender
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkSenderNotificationListDto'
examples:
response:
summary: List sender activities response
description: Response for all sender activities.
value:
totalSize: 2
pageSize: 50
notifications:
- type: CREATED
created: '2023-12-20T15:00:11.310Z'
author: Provisioning API user
- type: COMMENT_ADDED
created: '2023-12-20T15:00:10.303Z'
comment: Example comment
author: Provisioning API user
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Lists activities on sender
tags:
- KakaoTalk Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/changes:
delete:
description: |2-
Delete pending or rejected changes to a sender.
operationId: KakaotalkSendersController_deleteChanges_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
responses:
'204':
description: Sender changes deleted
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for KakaoTalk.
resolution: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_changes_not_found
message: Sender changes not found.
resolution: Verify that the parameters are correct.
title: SenderChangesNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_changes_not_found
example: sender_changes_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender changes not found.
example: Sender changes not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: sender_changes_not_deletable
message: Sender changes is not deletable.
resolution: Only DRAFT, REJECTED senders changes can be marked for deletion.
title: SenderChangesNotDeletableErrorTitle
properties:
errorCode:
type: string
title: sender_changes_not_deletable
example: sender_changes_not_deletable
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender changes is not deletable.
example: Sender changes is not deletable.
description: Human readable message.
resolution:
type: string
title: Only DRAFT, REJECTED senders changes can be marked for deletion.
example: Only DRAFT, REJECTED senders changes can be marked for deletion.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Delete pending or rejected changes to a sender
tags:
- KakaoTalk Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/comments:
post:
description: |2-
Creates a comment for a sender.
operationId: KakaotalkSendersController_createComment_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
requestBody:
required: true
description: Comment data
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkCommentInputDto'
examples:
input:
summary: Body request
description: |2-
Example body request to create a comment.
value:
comment: Example comment.
responses:
'201':
description: Created comment for a sender
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkCommentDto'
examples:
created:
summary: Create response
description: |2-
Response when successfully creating a comment.
value:
type: CREATED
comment: Example comment
created: '2023-01-19T13:11:08.204Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- details.buttons.0.name must be a string
description: Additional information for error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FailedToCreateCommentErrorTitle
properties:
errorCode:
type: string
title: failed_to_create_comment
example: failed_to_create_comment
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to create a comment.
example: Failed to create a comment.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Creates a comment for a sender in project
tags:
- KakaoTalk Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/register:
post:
description: |2-
Requests sender registration for a project.
operationId: SendersController_registerSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
responses:
'200':
description: Sender
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkSenderDto'
examples:
response:
summary: Register response
description: |2-
Response when successfully registering a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
state: VERIFYING
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidAppKeyErrorTitle
properties:
errorCode:
type: string
title: invalid_app_key
example: invalid_app_key
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid app key.
example: Invalid app key.
description: Human readable message.
resolution:
type: string
title: Please check if the app key is correct
example: Please check if the app key is correct
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: not_allowed_register
message: Sender not allowed to be registered.
resolution: Sender in "ACTIVE" state can't be registered.
title: NotAllowedRegisterErrorTitle
properties:
errorCode:
type: string
title: not_allowed_register
example: not_allowed_register
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not allowed to be registered.
example: Sender not allowed to be registered.
description: Human readable message.
resolution:
type: string
title: Sender in "ACTIVE" state can't be registered.
example: Sender in "ACTIVE" state can't be registered.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Register sender for project
tags:
- KakaoTalk Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/templates:
get:
description: |2-
Returns a paginated list of templates for the specified project. If no page token is supplied then the first `50` templates are returned in alphabetical order.
operationId: KakaotalkTemplatesController_listTemplates_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: filterStates
required: false
in: query
description: Optionally query for template by states.
schema:
type: array
items:
$ref: '#/components/schemas/KakaotalkTemplateStatesEnum'
- name: filterStatuses
required: false
in: query
description: Optionally query for template by statuses.
schema:
type: array
items:
$ref: '#/components/schemas/KakaotalkTemplateStatusesEnum'
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 1000
description: The page size requested.
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: templateName
required: false
in: query
description: Optionally query for template by name. Will return all templates with names that begin with the query string.
schema:
type: string
responses:
'200':
description: List of templates
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkTemplateListDto'
examples:
response:
summary: List response
description: |2-
Response with templates.
value:
totalSize: 2
pageSize: 50
templates:
- id: 1a76b24e-bead-4c72-b468-6c3bdfff0ee6
code: S7yFqaKqJ8tsnBZH2CEd
state: APPROVED
details:
language: EN
messageType: BASIC
emphasizeType: EMPHASIZE_TYPE_NONE
categoryCode: '001001'
securityFlag: false
name: Example name
content: Example content
extra: Example extra
ad: Example ad
title: Example title
subtitle: Example subtitle
imageName: Example image name
imageUrl: https://example-image-url.com
buttons:
- ordering: 1
type: APP_LINK
name: Example Name
linkMo: https://example-link-mo.com
linkPc: https://example-link-pc.com
schemeIos: https://example-scheme-ios.com
schemeAndroid: https://example-scheme-android.com
created: '2023-02-24T10:19:31.372Z'
modified: '2023-02-24T10:19:31.372Z'
- id: 1a76b24e-bead-4c72-b468-6c3bdfff0ee6
code: S7yFqaKqJ8tsnBZH2CEd
state: APPROVED
details:
language: EN
messageType: BASIC
emphasizeType: EMPHASIZE_TYPE_NONE
categoryCode: '001001'
securityFlag: false
name: Example name
content: Example content
extra: Example extra
ad: Example ad
title: Example title
subtitle: Example subtitle
imageName: Example image name
imageUrl: https://example-image-url.com
buttons:
- ordering: 1
type: APP_LINK
name: Example Name
linkMo: https://example-link-mo.com
linkPc: https://example-link-pc.com
schemeIos: https://example-scheme-ios.com
schemeAndroid: https://example-scheme-android.com
changes:
status: IN_PROGRESS
details:
language: EN
messageType: BASIC
emphasizeType: EMPHASIZE_TYPE_NONE
categoryCode: '001001'
securityFlag: false
name: Example name
content: Example content
extra: Example extra
ad: Example ad
title: Example title
subtitle: Example subtitle
imageName: Example image name
imageUrl: https://example-image-url.com
buttons:
- ordering: 1
type: APP_LINK
name: Example Name
linkMo: https://example-link-mo.com
linkPc: https://example-link-pc.com
schemeIos: https://example-scheme-ios.com
schemeAndroid: https://example-scheme-android.com
created: '2023-02-24T10:19:31.372Z'
modified: '2023-02-24T10:19:31.372Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all templates in project
tags:
- KakaoTalk Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
post:
callbacks:
Comment:
'{$request.body#webhooks.target}':
post:
summary: KakaoTalk Template received a comment
description: |2-
Callback sent when a comment is placed on a template.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `KAKAOTALK_TEMPLATE_COMMENT_ADDED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateDto'
comment:
description: Comment for template.
type: string
required:
- type
- payload
- comment
example:
type: KAKAOTALK_TEMPLATE_COMMENT_ADDED
comment: new template comment
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Approved:
'{$request.body#webhooks.target}':
post:
summary: KakaoTalk Template approved
description: |2-
Callback sent when a template is approved.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `KAKAOTALK_TEMPLATE_APPROVED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateDto'
required:
- type
- payload
example:
type: KAKAOTALK_TEMPLATE_APPROVED
payload:
id: 1a76b24e-bead-4c72-b468-6c3bdfff0ee6
code: S7yFqaKqJ8tsnBZH2CEd
state: APPROVED
details:
language: EN
messageType: BASIC
emphasizeType: EMPHASIZE_TYPE_NONE
categoryCode: '001001'
securityFlag: false
name: Example name
content: Example content
extra: Example extra
ad: Example ad
title: Example title
subtitle: Example subtitle
imageName: Example image name
imageUrl: https://example-image-url.com
buttons:
- ordering: 1
type: APP_LINK
name: Example Name
linkMo: https://example-link-mo.com
linkPc: https://example-link-pc.com
schemeIos: https://example-scheme-ios.com
schemeAndroid: https://example-scheme-android.com
created: '2023-02-24T10:19:31.372Z'
modified: '2023-02-24T10:19:31.372Z'
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Rejected:
'{$request.body#webhooks.target}':
post:
summary: KakaoTalk Template rejected
description: |2-
Callback sent when a template is rejected.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `KAKAOTALK_TEMPLATE_REJECTED`.
type: string
payload:
description: Template at time of callback.
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateDto'
required:
- type
- payload
example:
type: KAKAOTALK_TEMPLATE_REJECTED
payload:
id: 1a76b24e-bead-4c72-b468-6c3bdfff0ee6
code: S7yFqaKqJ8tsnBZH2CEd
state: REJECTED
details:
language: EN
messageType: BASIC
emphasizeType: EMPHASIZE_TYPE_NONE
categoryCode: '001001'
securityFlag: false
name: Example name
content: Example content
extra: Example extra
ad: Example ad
title: Example title
subtitle: Example subtitle
imageName: Example image name
imageUrl: https://example-image-url.com
buttons:
- ordering: 1
type: APP_LINK
name: Example Name
linkMo: https://example-link-mo.com
linkPc: https://example-link-pc.com
schemeIos: https://example-scheme-ios.com
schemeAndroid: https://example-scheme-android.com
created: '2023-02-24T10:19:31.372Z'
modified: '2023-02-24T10:19:31.372Z'
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
description: |2-
Creates a new template with the request data.
operationId: KakaotalkTemplatesController_createTemplate_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
requestBody:
required: true
description: Template data
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkInputTemplateDto'
examples:
minimal:
summary: Minimum example
description: |2-
Minimum body to create a template.
value:
details:
name: Example name
content: Example content
language: EN
full:
summary: Full example
description: |2-
Full body to create a template.
value:
status: SUBMIT
details:
language: EN
messageType: BASIC
emphasizeType: EMPHASIZE_TYPE_NONE
categoryCode: '001001'
securityFlag: false
name: Example name
content: Example content
extra: Example extra
title: Example title
subtitle: Example subtitle
imageName: Example image name
imageUrl: https://example-image-url.com
buttons:
- ordering: 1
type: APP_LINK
name: Example Name
linkMo: https://example-link-mo.com
linkPc: https://example-link-pc.com
schemeIos: https://example-scheme-ios.com
schemeAndroid: https://example-scheme-android.com
responses:
'201':
description: Created template
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkTemplateDto'
examples:
response:
summary: Create response
description: |2-
Response when successfully creating a template.
value:
id: 1a76b24e-bead-4c72-b468-6c3bdfff0ee6
code: S7yFqaKqJ8tsnBZH2CEd
changes:
status: IN_PROGRESS
details:
language: EN
messageType: BASIC
emphasizeType: EMPHASIZE_TYPE_NONE
categoryCode: '001001'
securityFlag: false
name: Example name
content: Example content
extra: Example extra
ad: Example ad
title: Example title
subtitle: Example subtitle
imageName: Example image name
imageUrl: https://example-image-url.com
buttons:
- ordering: 1
type: APP_LINK
name: Example Name
linkMo: https://example-link-mo.com
linkPc: https://example-link-pc.com
schemeIos: https://example-scheme-ios.com
schemeAndroid: https://example-scheme-android.com
created: '2023-02-24T10:19:31.372Z'
modified: '2023-02-24T10:19:31.372Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidCategoryCodeErrorTitle
properties:
errorCode:
type: string
title: template_invalid_category_code
example: template_invalid_category_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid template category code.
example: Invalid template category code.
description: Human readable message.
resolution:
type: string
title: Verify that the template category code used is supported for the provided project.
example: Verify that the template category code used is supported for the provided project.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: template_exists
message: Template already exists.
resolution: Templates must have unique name. Change name and submit again.
title: TemplateExistsErrorTitle
properties:
errorCode:
type: string
title: template_exists
example: template_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Template already exists.
example: Template already exists.
description: Human readable message.
resolution:
type: string
title: Templates must have unique name. Change name and submit again.
example: Templates must have unique name. Change name and submit again.
description: Human readable message with an explanation of how to solve the error.
'424':
description: FailedDependency
content:
application/json:
schema:
oneOf:
- title: TemplateKakaotalkValidationErrorErrorTitle
properties:
errorCode:
type: string
title: template_kakaotalk_validation_error
example: template_kakaotalk_validation_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'Template kakaoTalk validation error: Some details from provider'
example: 'Template kakaoTalk validation error: Some details from provider'
description: Human readable message.
resolution:
type: string
title: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
description: Additional information for error.
- title: TemplateKakaotalkValidationErrorErrorTitle
properties:
errorCode:
type: string
title: template_kakaotalk_validation_error
example: template_kakaotalk_validation_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'Template kakaoTalk validation error: Some details from provider'
example: 'Template kakaoTalk validation error: Some details from provider'
description: Human readable message.
resolution:
type: string
title: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
templateCode: AX5NnkwWABRXG7LjDBGa
description: Additional information for error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please wait and try again, if the error persist please contact support. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
description: Additional information for error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please wait and try again, if the error persist please contact support. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
templateCode: templateCode
description: Additional information for error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Create a template in project
tags:
- KakaoTalk Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/templates/{templateCode}:
get:
description: |2-
Returns a template for a project, with the specified name and language.
operationId: TemplatesController_get_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: templateCode
required: true
in: path
description: The unique name of the template.
schema:
type: string
responses:
'200':
description: Template
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkTemplateDto'
examples:
response:
summary: Get response
description: |2-
Response when successfully creating a template.
value:
id: 1a76b24e-bead-4c72-b468-6c3bdfff0ee6
code: S7yFqaKqJ8tsnBZH2CEd
state: APPROVED
details:
language: EN
messageType: BASIC
emphasizeType: EMPHASIZE_TYPE_NONE
categoryCode: '001001'
securityFlag: false
name: Example name
content: Example content
extra: Example extra
ad: Example ad
title: Example title
subtitle: Example subtitle
imageName: Example image name
imageUrl: https://example-image-url.com
buttons:
- ordering: 1
type: APP_LINK
name: Example Name
linkMo: https://example-link-mo.com
linkPc: https://example-link-pc.com
schemeIos: https://example-scheme-ios.com
schemeAndroid: https://example-scheme-android.com
created: '2023-02-24T10:19:31.372Z'
modified: '2023-02-24T10:19:31.372Z'
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for KakaoTalk.
resolution: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get template in project
tags:
- KakaoTalk Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
delete:
description: |2-
Delete template that matches the template code.
operationId: TemplatesController_deleteTemplate_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: templateCode
required: true
in: path
description: The unique name of the template.
schema:
type: string
responses:
'204':
description: Template deleted
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for KakaoTalk.
resolution: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Delete template for project
tags:
- KakaoTalk Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
patch:
description: |2-
Updates an existing template with the request data.
operationId: KakaotalkTemplatesController_updateTemplate_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: templateCode
required: true
in: path
schema:
type: string
requestBody:
required: true
description: Updating data
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkInputUpdateTemplateDto'
examples:
minimal:
summary: Minimum example
description: |2-
Minimum body to update a template.
value: {}
full:
summary: Full example
description: |2-
Full body to update a template.
value:
status: DRAFT
details:
messageType: BASIC
emphasizeType: EMPHASIZE_TYPE_NONE
categoryCode: '001001'
securityFlag: false
name: Example name
content: Example content
extra: Example extra
title: Example title
subtitle: Example subtitle
imageName: Example image name
imageUrl: https://example-image-url.com
buttons:
- ordering: 1
type: APP_LINK
name: Example Name
linkMo: https://example-link-mo.com
linkPc: https://example-link-pc.com
schemeIos: https://example-scheme-ios.com
schemeAndroid: https://example-scheme-android.com
responses:
'200':
description: Updated template
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkTemplateDto'
examples:
response:
summary: Update response
description: |2-
Response when successfully updating a template.
value:
id: 1a76b24e-bead-4c72-b468-6c3bdfff0ee6
code: S7yFqaKqJ8tsnBZH2CEd
changes:
status: IN_PROGRESS
details:
language: EN
messageType: BASIC
emphasizeType: EMPHASIZE_TYPE_NONE
categoryCode: '001001'
securityFlag: false
name: Example name
content: Example content
extra: Example extra
ad: Example ad
title: Example title
subtitle: Example subtitle
imageName: Example image name
imageUrl: https://example-image-url.com
buttons:
- ordering: 1
type: APP_LINK
name: Example Name
linkMo: https://example-link-mo.com
linkPc: https://example-link-pc.com
schemeIos: https://example-scheme-ios.com
schemeAndroid: https://example-scheme-android.com
created: '2023-02-24T10:19:31.372Z'
modified: '2023-02-24T10:19:31.372Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidCategoryCodeErrorTitle
properties:
errorCode:
type: string
title: template_invalid_category_code
example: template_invalid_category_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid template category code.
example: Invalid template category code.
description: Human readable message.
resolution:
type: string
title: Verify that the template category code used is supported for the provided project.
example: Verify that the template category code used is supported for the provided project.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: TemplateExistsErrorTitle
properties:
errorCode:
type: string
title: template_exists
example: template_exists
description: Error code allows to programatically handle errors.
message:
type: string
title: Template already exists.
example: Template already exists.
description: Human readable message.
resolution:
type: string
title: Templates must have unique name. Change name and submit again.
example: Templates must have unique name. Change name and submit again.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: template_not_updatable
example: template_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Template is not updatable.
example: Template is not updatable.
description: Human readable message.
resolution:
type: string
title: 'Updates are only supported by templates with state: APPROVED, REJECTED.'
example: 'Updates are only supported by templates with state: APPROVED, REJECTED.'
description: Human readable message with an explanation of how to solve the error.
- title: TemplateChangesNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: template_changes_not_updatable
example: template_changes_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Template is not updatable.
example: Template is not updatable.
description: Human readable message.
resolution:
type: string
title: 'Updates are only supported by template changes with status: DRAFT, REJECTED.'
example: 'Updates are only supported by template changes with status: DRAFT, REJECTED.'
description: Human readable message with an explanation of how to solve the error.
'424':
description: FailedDependency
content:
application/json:
schema:
oneOf:
- title: TemplateKakaotalkValidationErrorErrorTitle
properties:
errorCode:
type: string
title: template_kakaotalk_validation_error
example: template_kakaotalk_validation_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'Template kakaoTalk validation error: Some details from provider'
example: 'Template kakaoTalk validation error: Some details from provider'
description: Human readable message.
resolution:
type: string
title: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
description: Additional information for error.
- title: TemplateKakaotalkValidationErrorErrorTitle
properties:
errorCode:
type: string
title: template_kakaotalk_validation_error
example: template_kakaotalk_validation_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'Template kakaoTalk validation error: Some details from provider'
example: 'Template kakaoTalk validation error: Some details from provider'
description: Human readable message.
resolution:
type: string
title: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
example: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
templateCode: AX5NnkwWABRXG7LjDBGa
description: Additional information for error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Update a template in project
tags:
- KakaoTalk Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/templates/{templateCode}/activities:
get:
description: |2-
Paginated list of activities for a template. Ordered from the most recent one to the oldest one.
operationId: KakaotalkTemplatesController_listActivities_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: templateCode
required: true
in: path
description: The unique name of the template.
schema:
type: string
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
responses:
'200':
description: Recent activities on template
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkTemplateNotificationListDto'
examples:
response:
summary: List template activities response
description: |2-
Response for all template activities.
value:
totalSize: 2
pageSize: 50
notifications:
- type: CREATED
created: '2023-01-19T13:11:08.204Z'
author: Provisioning API user
- type: COMMENT_ADDED
created: '2023-01-19T13:11:08.204Z'
comment: Example comment
author: Provisioning API user
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Lists activities on project template
tags:
- KakaoTalk Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/templates/{templateCode}/changes:
delete:
description: |2-
Delete a template draft.
Please note that it is only possible to delete templates that have not yet been submitted to KakaoTalk.
operationId: TemplatesController_deleteTemplateDraft_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: templateCode
required: true
in: path
description: The unique name of the template.
schema:
type: string
responses:
'204':
description: Template draft deleted
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for KakaoTalk.
resolution: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: template_not_found
message: Template not found.
resolution: Verify that the parameters are correct.
title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: template_not_deletable
message: Template is not deletable.
resolution: Only templates that has not yet been submitted to KakaoTalk is eligible for deletion.
title: TemplateNotDeletableErrorTitle
properties:
errorCode:
type: string
title: template_not_deletable
example: template_not_deletable
description: Error code allows to programatically handle errors.
message:
type: string
title: Template is not deletable.
example: Template is not deletable.
description: Human readable message.
resolution:
type: string
title: Only templates that has not yet been submitted to KakaoTalk is eligible for deletion.
example: Only templates that has not yet been submitted to KakaoTalk is eligible for deletion.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Delete template draft for project
tags:
- KakaoTalk Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/templates/{templateCode}/comments:
post:
description: |2-
Creates a comment for a template.
operationId: KakaotalkTemplatesController_createComment_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: templateCode
required: true
in: path
description: The unique name of the template.
schema:
type: string
requestBody:
required: true
description: Comment data
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkCommentInputDto'
examples:
input:
summary: Body request
description: |2-
Example body request to create a comment.
value:
comment: Example comment.
responses:
'201':
description: Created comment for a template
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkCommentDto'
examples:
created:
summary: Create response
description: |2-
Response when successfully creating a comment.
value:
type: CREATED
comment: Example comment
created: '2023-01-19T13:11:08.204Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- details.buttons.0.name must be a string
description: Additional information for error.
- title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
- title: TemplateInvalidLanguageCodeErrorTitle
properties:
errorCode:
type: string
title: template_invalid_language_code
example: template_invalid_language_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid language code.
example: Invalid language code.
description: Human readable message.
resolution:
type: string
title: Verify that the language code used is supported by the Provisioning API and KakaoTalk.
example: Verify that the language code used is supported by the Provisioning API and KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ET, FA, FI, FIL, FR, GA, GU, HA, HE, HI, HR, HU, ID, IT, JA, KA, KK, KN, KO, KY_KG, LO, LT, LV, MK, ML, MR, MS, NB, NL, PA, PL, PT_BR, PT_PT, RO, RU, RW_RW, SK, SL, SQ, SR, SV, SW, TA, TE, TH, TR, UK, UR, UZ, VI, ZH_CN, ZH_HK, ZH_TW, ZU
description: Additional information for error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: template_not_found
message: Template not found.
resolution: Verify that the parameters are correct.
title: TemplateNotFoundErrorTitle
properties:
errorCode:
type: string
title: template_not_found
example: template_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Template not found.
example: Template not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FailedToCreateCommentErrorTitle
properties:
errorCode:
type: string
title: failed_to_create_comment
example: failed_to_create_comment
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to create a comment.
example: Failed to create a comment.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Creates a comment for a template
tags:
- KakaoTalk Templates
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/verify:
post:
description: |2-
Verifies sender with the OTP code received after triggering registration.
operationId: SendersController_verifySender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: plusFriendId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
requestBody:
required: true
description: Verify sender data
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkInputVerifySenderDto'
examples:
input:
summary: Body request
description: |2-
Example body request to verify.
value:
code: 123456
responses:
'200':
description: Sender
content:
application/json:
schema:
$ref: '#/components/schemas/KakaotalkSenderDto'
examples:
response:
summary: Verify response
description: |2-
Response when successfully verified a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
plusFriendId: 5WY5zKfY3pB56EmDVUPQ
state: ACTIVE
details:
adminPhoneNo: '+48777777777'
name: Test Name
logoImage: https://example-logo-image.com
topLevelCategoryCode: '019'
midLevelCategoryCode: '0006'
subLevelCategoryCode: '0001'
created: '2023-02-23T11:28:51.194Z'
modified: '2023-02-23T11:28:51.194Z'
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: project_not_initialized
message: Project not initialized for KakaoTalk.
resolution: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
title: ProjectNotInitializedErrorTitle
properties:
errorCode:
type: string
title: project_not_initialized
example: project_not_initialized
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not initialized for KakaoTalk.
example: Project not initialized for KakaoTalk.
description: Human readable message.
resolution:
type: string
title: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: not_allowed_verify
message: Sender not allowed to be verified.
resolution: Sender has to be in "VERIFYING" state to be verified.
title: NotAllowedVerifyErrorTitle
properties:
errorCode:
type: string
title: not_allowed_verify
example: not_allowed_verify
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not allowed to be verified.
example: Sender not allowed to be verified.
description: Human readable message.
resolution:
type: string
title: Sender has to be in "VERIFYING" state to be verified.
example: Sender has to be in "VERIFYING" state to be verified.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Verify sender for project
tags:
- KakaoTalk Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/conversation/apps/{conversationAppId}/instagram:
get:
description: |2-
Returns the information for an Instagram channel linked to a Conversation API App.
operationId: InstagramController_get_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: conversationAppId
required: true
in: path
description: The unique ID of the app. You can find this on the Sinch Dashboard.
schema:
type: string
responses:
'200':
description: Instagram information.
content:
application/json:
schema:
$ref: '#/components/schemas/ConversationInstagramInfoDto'
examples:
example:
summary: Example sender information response
description: |2-
The information for the Instagram page connected to the Conversation API App.
value:
id: '1234567890'
username: Sinch
status: ACTIVE
followersCount: 1
followsCount: 3
mediaCount: 0
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: conversation_app_id_invalid
message: Conversation app id not valid.
resolution: Verify the id is correct.
title: ConversationAppIdInvalidErrorTitle
properties:
errorCode:
type: string
title: conversation_app_id_invalid
example: conversation_app_id_invalid
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app id not valid.
example: Conversation app id not valid.
description: Human readable message.
resolution:
type: string
title: Verify the id is correct.
example: Verify the id is correct.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ConversationAppNotFoundErrorTitle
properties:
errorCode:
type: string
title: conversation_app_not_found
example: conversation_app_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app not found.
example: Conversation app not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: ConversationAppNoInstagramChannelErrorTitle
properties:
errorCode:
type: string
title: conversation_app_no_instagram_channel
example: conversation_app_no_instagram_channel
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app has no initialized Instagram channel.
example: Conversation app has no initialized Instagram channel.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FacebookApiErrorErrorTitle
properties:
errorCode:
type: string
title: facebook_api_error
example: facebook_api_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Facebook API returned error.
example: Facebook API returned error.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get Instagram channel information
tags:
- Conversation
x-tagAfterOperationSummary:
color: white
background: red
label: Closed Beta
/v1/projects/{projectId}/conversation/apps/{conversationAppId}/messenger:
get:
description: |2-
Returns the information for a Facebook Messenger channel linked to a Conversation API App.
operationId: MessengerController_get_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: conversationAppId
required: true
in: path
description: The unique ID of the app. You can find this on the Sinch Dashboard.
schema:
type: string
responses:
'200':
description: Facebook Messenger information.
content:
application/json:
schema:
$ref: '#/components/schemas/ConversationMessengerInfoDto'
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: conversation_app_id_invalid
message: Conversation app id not valid.
resolution: Verify the id is correct.
title: ConversationAppIdInvalidErrorTitle
properties:
errorCode:
type: string
title: conversation_app_id_invalid
example: conversation_app_id_invalid
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app id not valid.
example: Conversation app id not valid.
description: Human readable message.
resolution:
type: string
title: Verify the id is correct.
example: Verify the id is correct.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ConversationAppNotFoundErrorTitle
properties:
errorCode:
type: string
title: conversation_app_not_found
example: conversation_app_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app not found.
example: Conversation app not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: ConversationAppNoMessengerChannelErrorTitle
properties:
errorCode:
type: string
title: conversation_app_no_messenger_channel
example: conversation_app_no_messenger_channel
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app has no initialized Messenger channel.
example: Conversation app has no initialized Messenger channel.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FacebookApiErrorErrorTitle
properties:
errorCode:
type: string
title: facebook_api_error
example: facebook_api_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Facebook API returned error.
example: Facebook API returned error.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get Facebook Messenger channel information
tags:
- Conversation
x-tagAfterOperationSummary:
color: white
background: red
label: Closed Beta
/v1/projects/{projectId}/conversation/apps/{conversationAppId}/telegram:
get:
description: |2-
Returns the information for a Telegram Bot channel linked to a Conversation API App.
operationId: TelegramController_get_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: conversationAppId
required: true
in: path
description: The unique ID of the app. You can find this on the Sinch Dashboard.
schema:
type: string
responses:
'200':
description: Telegram Bot information.
content:
application/json:
schema:
$ref: '#/components/schemas/ConversationTelegramBotInfoDto'
examples:
example:
summary: Example sender information response
description: |2-
The information for the Telegram sender connected to the Conversation API App.
value:
status: ACTIVE
name: Sinch
username: sinch_bot
canJoinGroups: true
canReadAllGroupMessages: false
supportsInlineQueries: false
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: conversation_app_id_invalid
message: Conversation app id not valid.
resolution: Verify the id is correct.
title: ConversationAppIdInvalidErrorTitle
properties:
errorCode:
type: string
title: conversation_app_id_invalid
example: conversation_app_id_invalid
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app id not valid.
example: Conversation app id not valid.
description: Human readable message.
resolution:
type: string
title: Verify the id is correct.
example: Verify the id is correct.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ConversationAppNotFoundErrorTitle
properties:
errorCode:
type: string
title: conversation_app_not_found
example: conversation_app_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app not found.
example: Conversation app not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: ConversationAppNoTelegramChannelErrorTitle
properties:
errorCode:
type: string
title: conversation_app_no_telegram_channel
example: conversation_app_no_telegram_channel
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app has no initialized Telegram channel.
example: Conversation app has no initialized Telegram channel.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: TelegramApiErrorErrorTitle
properties:
errorCode:
type: string
title: telegram_api_error
example: telegram_api_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'Telegram API returned error: 400, description: Bad Request: PHOTO_CROP_SIZE_SMALL.'
example: 'Telegram API returned error: 400, description: Bad Request: PHOTO_CROP_SIZE_SMALL.'
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get Telegram Bot channel information
tags:
- Conversation
x-tagAfterOperationSummary:
color: white
background: red
label: Closed Beta
/v1/projects/{projectId}/conversation/apps/{conversationAppId}/viber:
get:
description: |2-
Returns the information for a Viber Bot channel linked to a Conversation API App.
operationId: ViberController_get_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: conversationAppId
required: true
in: path
description: The unique ID of the app. You can find this on the Sinch Dashboard.
schema:
type: string
responses:
'200':
description: Viber Bot information.
content:
application/json:
schema:
$ref: '#/components/schemas/ConversationViberBotInfoDto'
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ConversationAppNotFoundErrorTitle
properties:
errorCode:
type: string
title: conversation_app_not_found
example: conversation_app_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app not found.
example: Conversation app not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: ConversationAppNoViberChannelErrorTitle
properties:
errorCode:
type: string
title: conversation_app_no_viber_channel
example: conversation_app_no_viber_channel
description: Error code allows to programatically handle errors.
message:
type: string
title: Conversation app has no initialized Viber channel.
example: Conversation app has no initialized Viber channel.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: ViberApiErrorErrorTitle
properties:
errorCode:
type: string
title: viber_api_error
example: viber_api_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Viber API returned error.
example: Viber API returned error.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get Viber Bot channel information
tags:
- Conversation
x-tagAfterOperationSummary:
color: white
background: red
label: Closed Beta
/v1/projects/{projectId}/rcs/activities:
get:
description: |2-
Paginated list of activities for account. Ordered from the most recent one to the oldest one.
operationId: RcsAccountsController_listActivities_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
responses:
'200':
description: Recent activities on account
content:
application/json:
schema:
$ref: '#/components/schemas/RcsAccountNotificationListDto'
examples:
response:
summary: List account activities response
description: |2-
Response for all account activities.
value:
totalSize: 2
pageSize: 50
notifications:
- type: CREATED
created: '2023-02-10T11:41:14.202Z'
author: Provisioning API user
- type: COMMENT_ADDED
created: '2023-02-10T11:41:14.202Z'
comment: Example comment
author: Provisioning API user
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: account_not_found
message: Account not found.
resolution: Verify that the parameters are correct.
title: AccountNotFoundErrorTitle
properties:
errorCode:
type: string
title: account_not_found
example: account_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Account not found.
example: Account not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Lists activities on account
tags:
- RCS Accounts
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/comments:
post:
callbacks:
Comment:
'{$request.body#webhooks.target}':
post:
summary: Comment on account
description: |2-
Received when a comment has been added to the account.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `RCS_ACCOUNT_COMMENT_ADDED`.
type: string
comment:
description: Comment for account.
type: string
required:
- type
- comment
example:
type: RCS_ACCOUNT_COMMENT_ADDED
comment: Example comment
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
description: |2-
Creates a comment for an account.
operationId: RcsAccountsController_createComment_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Comment data
content:
application/json:
schema:
$ref: '#/components/schemas/RcsCommentInputDto'
examples:
input:
summary: Body request
description: |2-
Example body request to create a comment.
value:
comment: Example comment.
responses:
'201':
description: Created comment for an account.
content:
application/json:
schema:
$ref: '#/components/schemas/RcsCommentDto'
examples:
created:
summary: Create response
description: |2-
Response when successfully creating a comment.
value:
type: CREATED
comment: Example comment
created: '2023-01-19T13:11:08.204Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- comment must be longer than or equal to 1 characters
description: Additional information for error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: account_not_found
message: Account not found.
resolution: Verify that the parameters are correct.
title: AccountNotFoundErrorTitle
properties:
errorCode:
type: string
title: account_not_found
example: account_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Account not found.
example: Account not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FailedToCreateCommentErrorTitle
properties:
errorCode:
type: string
title: failed_to_create_comment
example: failed_to_create_comment
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to create a comment.
example: Failed to create a comment.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Creates a comment for an account
tags:
- RCS Accounts
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/questionnaire/{useCase}:
get:
description: |2-
Returns questionnaire questions for a use case.
The launch questionnaire is based on information required by different Suppliers and Operators. As such, especially the country specific, may be subject to change.
operationId: QuestionnaireController_getQuestions_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: useCase
required: true
in: path
description: Use case.
schema:
$ref: '#/components/schemas/RcsInputSenderUseCasesEnum'
- name: countries
required: false
in: query
description: Optional query for sender countries.
schema:
type: array
items:
$ref: '#/components/schemas/RcsInputCountryCodesEnum'
responses:
'200':
description: Questionnaire questions
content:
application/json:
schema:
$ref: '#/components/schemas/RcsSenderDetailsQuestionnaireBaseDto'
examples:
response:
summary: Get response
description: |2-
Response with questionnaire questions.
value:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: QuestionnaireInvalidUseCaseErrorTitle
properties:
errorCode:
type: string
title: questionnaire_invalid_use_case
example: questionnaire_invalid_use_case
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid use case value.
example: Invalid use case value.
description: Human readable message.
resolution:
type: string
title: Verify that the use case value is supported by the Provisioning API.
example: Verify that the use case value is supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validUseCases: MULTIUSE, OTP, PROMOTIONAL, TRANSACTIONAL
description: Additional information for error.
- title: QuestionnaireInvalidCountryErrorTitle
properties:
errorCode:
type: string
title: questionnaire_invalid_country
example: questionnaire_invalid_country
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid country.
example: Invalid country.
description: Human readable message.
resolution:
type: string
title: Use the supported values for the countries parameter.
example: Use the supported values for the countries parameter.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedValues: AT, BE, BR, CA, CZ, DK, FI, FR, DE, IT, MX, NL, NO, PL, PT, SG, SK, ES, SE, US, GB
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get questionnaire questions for project and use case
tags:
- RCS Questionnaire
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/senders:
get:
description: |2-
Returns a paginated list of senders for the specified project. If no page token is supplied then the first `50` will be returned.
operationId: RcsSendersController_listSenders_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
- name: filterConversationApiAppId
required: false
in: query
description: Optional query for sender by Conversation API app id.
schema:
type: string
- name: filterSenderIds
required: false
in: query
description: Optional query for sender by sender ids.
schema:
type: string
- name: filterSenderName
required: false
in: query
description: Optional query for sender by name.
schema:
type: string
- name: filterStates
required: false
in: query
description: Optionally query for sender by states.
schema:
type: array
items:
$ref: '#/components/schemas/RcsSenderStatesEnum'
- name: sortColumn
required: false
in: query
description: Optional query for sender sort column.
schema:
$ref: '#/components/schemas/RcsSenderSortColumnsEnum'
- name: sortDirection
required: false
in: query
description: Optional query for sender sort direction.
schema:
$ref: '#/components/schemas/RcsSortDirectionsEnum'
responses:
'200':
description: List of senders
content:
application/json:
schema:
$ref: '#/components/schemas/RcsSenderListDto'
examples:
response:
summary: List response
description: |2-
Response with senders.
value:
totalSize: 2
pageSize: 50
senders:
- id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: IN_TEST
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: NOT_LAUNCHED
operators:
- name: Coriolis Telecom
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: NOT_LAUNCHED
operators:
- name: EE
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: NOT_LAUNCHED
operators:
- name: Tele2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
- id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: PREPARING_LAUNCH
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: PENDING
operators:
- name: Coriolis Telecom
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: REJECTED
remark: Sender was rejected due to operator policy.
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: SUSPENDED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: PENDING
operators:
- name: EE
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: SUSPENDED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: PENDING
operators:
- name: Tele2
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidFilterStatesErrorTitle
properties:
errorCode:
type: string
title: invalid_filter_states
example: invalid_filter_states
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid filterStates.
example: Invalid filterStates.
description: Human readable message.
resolution:
type: string
title: Verify that the filterStates used are supported by the Provisioning API.
example: Verify that the filterStates used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: DRAFT, IN_PROGRESS, IN_TEST, LAUNCHED, LAUNCHING, PREPARING_LAUNCH, UNLAUNCHED, UNKNOWN
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'403':
description: Forbidden
content:
application/json:
schema:
example:
errorCode: rbm_has_not_been_used
message: RBM has not been used.
resolution: Please wait and try again or reach out to support at si-richmessaging@sinch.com
title: RbmHasNotBeenUsedErrorTitle
properties:
errorCode:
type: string
title: rbm_has_not_been_used
example: rbm_has_not_been_used
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM has not been used.
example: RBM has not been used.
description: Human readable message.
resolution:
type: string
title: Please wait and try again or reach out to support at si-richmessaging@sinch.com
example: Please wait and try again or reach out to support at si-richmessaging@sinch.com
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all senders in project
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
post:
callbacks:
StatusUpdate:
'{$request.body#webhooks.target}':
post:
summary: Sender status updated
description: |2-
Received when a Sender status is updated.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `RCS_SENDER_STATUS_UPDATED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/RcsSenderDto'
previousState:
description: The previous state of the sender.
type: string
enum:
- DRAFT
- IN_PROGRESS
- IN_TEST
- LAUNCHED
- LAUNCHING
- PREPARING_LAUNCH
- UNLAUNCHED
- UNKNOWN
currentState:
description: The current state of the sender.
type: string
enum:
- DRAFT
- IN_PROGRESS
- IN_TEST
- LAUNCHED
- LAUNCHING
- PREPARING_LAUNCH
- UNLAUNCHED
- UNKNOWN
comment:
description: Comment for sender.
type: string
required:
- type
- payload
- previousState
- currentState
example:
type: RCS_SENDER_STATUS_UPDATED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: IN_TEST
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: NOT_LAUNCHED
operators:
- name: Coriolis Telecom
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: NOT_LAUNCHED
operators:
- name: EE
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: NOT_LAUNCHED
operators:
- name: Tele2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
previousState: IN_PROGRESS
currentState: IN_TEST
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
OperatorStatusUpdate:
'{$request.body#webhooks.target}':
post:
summary: Sender operator status updated
description: |2-
Received when sender operator status is updated.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `RCS_SENDER_OPERATOR_STATUS_UPDATED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/RcsSenderDto'
operator:
description: Operator.
type: string
enum:
- 1und1
- '3'
- 9 Mobile
- A1
- Africell
- Airtel
- Altan
- AT&T
- Bell
- Bouygues
- BSNL
- C-Spire
- Cell C
- Claro
- Coriolis Telecom
- Cosmote
- Deutsche Telekom
- Dialog Axiata PLC
- Digi
- DISH Wireless
- DNA
- Eastlink
- EE
- Elisa
- Entel
- Ethio Telecom
- Fizz
- Free
- Freedom
- Glo
- Google Fi
- Hrvatski Telecom
- Hutchison 3G
- Iliad
- Indosat Ooredoo Hutchison
- JIO
- KDDI
- Kpn
- Kyivstar
- Lebara Mobile
- lifecell
- Lycamobile
- M1
- Magenta
- MEO
- MobiFone
- Movistar
- MTN
- NOS
- NRJ Mobile
- NTT DoCoMo
- O2
- Odido
- Ooredoo
- Orange
- Personal
- Proximus
- Reliance JIO
- Robi Axiata
- Rogers
- Sasktel
- SFR
- Simba
- Singtel
- Sky
- Smart
- Softbank
- Spectrum
- Starhub
- Swisscom
- T-Mobile
- Telcel
- Tele2
- Telefonica
- Telekom
- Telenet
- Telenor
- Telia
- Telkom
- Telkomsel
- Telus
- Three
- TIM
- TracFone
- US Cellular
- Verizon
- Videotron
- Vivo
- Vodacom
- Vodafone
- Vodafone Idea
- WindTre
- Xfinity
- Yoigo
- Unrecognized
operatorCountry:
description: Two-letter country code in ISO 3166 standard.
type: string
enum:
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BW
- BY
- BZ
- CA
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CW
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GT
- GU
- GW
- GY
- HK
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SX
- SY
- SZ
- TC
- TD
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UM
- US
- UY
- UZ
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XK
- YE
- YT
- ZA
- ZM
- ZW
- UNRECOGNIZED
operatorPreviousStatus:
description: Previous country status.
type: string
enum:
- LAUNCHED
- NOT_LAUNCHED
- PENDING
- PENDING_UNLAUNCHED
- REJECTED
- SUSPENDED
- UNLAUNCHED
- INVALID_IN_GOOGLE_MY_BUSINESS
- UNRECOGNIZED
operatorCurrentStatus:
type: string
description: Country status.
enum:
- LAUNCHED
- NOT_LAUNCHED
- PENDING
- PENDING_UNLAUNCHED
- REJECTED
- SUSPENDED
- UNLAUNCHED
- INVALID_IN_GOOGLE_MY_BUSINESS
- UNRECOGNIZED
comment:
description: Comment for sender.
type: string
required:
- type
- payload
- operator
- operatorCountry
- operatorPreviousStatus
- operatorCurrentStatus
example:
type: RCS_SENDER_OPERATOR_STATUS_UPDATED
operator: Free
operatorCountry: FR
operatorPreviousStatus: PENDING
operatorCurrentStatus: LAUNCHED
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
Comment:
'{$request.body#webhooks.target}':
post:
summary: Comment on sender
description: |2-
Received when a comment has been added to the sender.
parameters:
- in: header
name: x-sinch-webhook-signature
schema:
type: string
format: uuid
example:
- in: header
name: x-sinch-webhook-signature-algorithm
schema:
type: string
enum:
- HmacSHA256
uniqueItems: false
example: HmacSHA256
- in: header
name: x-sinch-webhook-signature-nonce
schema:
type: string
example: 01EAW2BNWCG9DC13RS582V0ZQ3
- in: header
name: x-sinch-webhook-signature-timestamp
schema:
type: string
format: timestamp
example: '1592227387'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
description: Type of event, in this case `RCS_SENDER_COMMENT_ADDED`.
type: string
payload:
description: Sender at time of callback.
allOf:
- $ref: '#/components/schemas/RcsSenderDto'
comment:
description: Comment for sender.
type: string
required:
- type
- payload
example:
type: RCS_SENDER_COMMENT_ADDED
payload:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: IN_PROGRESS
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: NOT_LAUNCHED
operators:
- name: Coriolis Telecom
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: NOT_LAUNCHED
operators:
- name: EE
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: NOT_LAUNCHED
operators:
- name: Tele2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
comment: Example comment
responses:
'200':
description: Response to callback will be ignored. The call will retry if unsuccessful.
description: |2-
Returns a sender for a project.
operationId: RcsSendersController_createSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Sender data
content:
application/json:
schema:
$ref: '#/components/schemas/RcsSenderInputDto'
examples:
input:
summary: Body request for sender
description: |2-
Example body request to create a sender.
value:
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- GB
- FR
questionnaire:
general:
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
responses:
'201':
description: Sender
content:
application/json:
schema:
$ref: '#/components/schemas/RcsSenderDto'
examples:
response:
summary: Create response
description: |2-
Response when successfully creating a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: IN_TEST
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: NOT_LAUNCHED
operators:
- name: Coriolis Telecom
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: NOT_LAUNCHED
operators:
- name: EE
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: NOT_LAUNCHED
operators:
- name: Tele2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- details.brand.email.address must be an email
description: Additional information for error.
- title: FileInvalidMimeTypeErrorTitle
properties:
errorCode:
type: string
title: file_invalid_mime_type
example: file_invalid_mime_type
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.brand.bannerUrl: invalid file mime type.'
example: 'details.brand.bannerUrl: invalid file mime type.'
description: Human readable message.
resolution:
type: string
title: 'Try again with supported mime types: image/jpeg, image/png.'
example: 'Try again with supported mime types: image/jpeg, image/png.'
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidGoogleAgentErrorTitle
properties:
errorCode:
type: string
title: invalid_google_agent
example: invalid_google_agent
description: Error code allows to programatically handle errors.
message:
type: string
title: message
example: message
description: Human readable message.
resolution:
type: string
title: Verify the sender's fields.
example: Verify the sender's fields.
description: Human readable message with an explanation of how to solve the error.
- title: AddTestNumberInvalidErrorTitle
properties:
errorCode:
type: string
title: add_test_number_invalid
example: add_test_number_invalid
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid phone number.
example: Invalid phone number.
description: Human readable message.
resolution:
type: string
title: Please verify that phone number is correct.
example: Please verify that phone number is correct.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'403':
description: Forbidden
content:
application/json:
schema:
oneOf:
- title: RbmHasNotBeenUsedErrorTitle
properties:
errorCode:
type: string
title: rbm_has_not_been_used
example: rbm_has_not_been_used
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM has not been used.
example: RBM has not been used.
description: Human readable message.
resolution:
type: string
title: Please wait and try again or reach out to support at si-richmessaging@sinch.com
example: Please wait and try again or reach out to support at si-richmessaging@sinch.com
description: Human readable message with an explanation of how to solve the error.
- title: RbmWebhookIncorrectSecretErrorTitle
properties:
errorCode:
type: string
title: rbm_webhook_incorrect_secret
example: rbm_webhook_incorrect_secret
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM webhook has incorrect secret
example: RBM webhook has incorrect secret
description: Human readable message.
resolution:
type: string
title: Please wait and try again or reach out to support at si-richmessaging@sinch.com
example: Please wait and try again or reach out to support at si-richmessaging@sinch.com
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: RbmResourcesNotFoundErrorTitle
properties:
errorCode:
type: string
title: rbm_resources_not_found
example: rbm_resources_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM resources not found.
example: RBM resources not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct, and contact support if error persists.
example: Verify that the parameters are correct, and contact support if error persists.
description: Human readable message with an explanation of how to solve the error.
- title: AddTestNumberNotAllowedBeforeLaunchErrorTitle
properties:
errorCode:
type: string
title: add_test_number_not_allowed_before_launch
example: add_test_number_not_allowed_before_launch
description: Error code allows to programatically handle errors.
message:
type: string
title: Adding test number not allowed before launch.
example: Adding test number not allowed before launch.
description: Human readable message.
resolution:
type: string
title: Carrier does not allow test number to be created prior to sender launch.
example: Carrier does not allow test number to be created prior to sender launch.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: AccountDataIsCorruptErrorTitle
properties:
errorCode:
type: string
title: account_data_is_corrupt
example: account_data_is_corrupt
description: Error code allows to programatically handle errors.
message:
type: string
title: Account data is corrupt.
example: Account data is corrupt.
description: Human readable message.
resolution:
type: string
title: Please contact support.
example: Please contact support.
description: Human readable message with an explanation of how to solve the error.
- title: FileNotFoundErrorTitle
properties:
errorCode:
type: string
title: file_not_found
example: file_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.brand.logoUrl: file not found.'
example: 'details.brand.logoUrl: file not found.'
description: Human readable message.
resolution:
type: string
title: Verify that the url is correct.
example: Verify that the url is correct.
description: Human readable message with an explanation of how to solve the error.
- title: FileSizeTooLargeErrorTitle
properties:
errorCode:
type: string
title: file_size_too_large
example: file_size_too_large
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.brand.bannerUrl: file size is too large.'
example: 'details.brand.bannerUrl: file size is too large.'
description: Human readable message.
resolution:
type: string
title: Try again with a smaller file. Max size for `image/jpeg` is 200KB.
example: Try again with a smaller file. Max size for `image/jpeg` is 200KB.
description: Human readable message with an explanation of how to solve the error.
- title: FileHasWrongDimensionsErrorTitle
properties:
errorCode:
type: string
title: file_has_wrong_dimensions
example: file_has_wrong_dimensions
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.brand.logoUrl: image has wrong dimensions.'
example: 'details.brand.logoUrl: image has wrong dimensions.'
description: Human readable message.
resolution:
type: string
title: 'Try again with image dimensions: exact 224 x 224 px.'
example: 'Try again with image dimensions: exact 224 x 224 px.'
description: Human readable message with an explanation of how to solve the error.
- title: FileUnexpectedErrorErrorTitle
properties:
errorCode:
type: string
title: file_unexpected_error
example: file_unexpected_error
description: Error code allows to programatically handle errors.
message:
type: string
title: 'details.brand.logoUrl: file unexpected error.'
example: 'details.brand.logoUrl: file unexpected error.'
description: Human readable message.
resolution:
type: string
title: The file cannot be handled properly. Please try with another one.
example: The file cannot be handled properly. Please try with another one.
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Create sender for project
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/senders/{senderId}:
get:
description: |2-
Returns a sender for a project.
operationId: RcsSendersController_getSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
responses:
'200':
description: Sender
content:
application/json:
schema:
$ref: '#/components/schemas/RcsSenderDto'
examples:
inTest:
summary: Get response inTest
description: |2-
Response with a sender inTest.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: IN_TEST
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: NOT_LAUNCHED
operators:
- name: Coriolis Telecom
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: NOT_LAUNCHED
operators:
- name: EE
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: NOT_LAUNCHED
operators:
- name: Tele2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
preparingLaunch:
summary: Get response preparingLaunch
description: |2-
Response with a sender preparingLaunch.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: PREPARING_LAUNCH
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: PENDING
operators:
- name: Coriolis Telecom
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: REJECTED
remark: Sender was rejected due to operator policy.
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: SUSPENDED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: PENDING
operators:
- name: EE
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: SUSPENDED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: PENDING
operators:
- name: Tele2
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
launching:
summary: Get response launching
description: |2-
Response with a sender launching.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: LAUNCHING
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: PENDING
operators:
- name: Coriolis Telecom
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: REJECTED
remark: Sender was rejected due to operator policy.
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: SUSPENDED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: PENDING
operators:
- name: EE
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: SUSPENDED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: PENDING
operators:
- name: Tele2
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: invalid_id_format
message: Id is not in the expected format.
resolution: senderId param is in the wrong format. Confirm that you're sending the correct value.
title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: senderId param is in the wrong format. Confirm that you're sending the correct value.
example: senderId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'403':
description: Forbidden
content:
application/json:
schema:
example:
errorCode: rbm_has_not_been_used
message: RBM has not been used.
resolution: Please wait and try again or reach out to support at si-richmessaging@sinch.com
title: RbmHasNotBeenUsedErrorTitle
properties:
errorCode:
type: string
title: rbm_has_not_been_used
example: rbm_has_not_been_used
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM has not been used.
example: RBM has not been used.
description: Human readable message.
resolution:
type: string
title: Please wait and try again or reach out to support at si-richmessaging@sinch.com
example: Please wait and try again or reach out to support at si-richmessaging@sinch.com
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get sender for project
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
patch:
description: |2-
Returns updated sender for a project.
operationId: RcsSendersController_updateSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
schema:
type: string
requestBody:
required: true
description: Sender data update
content:
application/json:
schema:
$ref: '#/components/schemas/RcsUpdateSenderInputDto'
examples:
input:
summary: Body request for sender
description: |2-
Example body request to update a sender.
value:
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- GB
- FR
questionnaire:
general:
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
responses:
'200':
description: Sender
content:
application/json:
schema:
$ref: '#/components/schemas/RcsSenderDto'
examples:
response:
summary: Update response
description: |2-
Response when successfully updated a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: IN_TEST
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: NOT_LAUNCHED
operators:
- name: Coriolis Telecom
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: NOT_LAUNCHED
operators:
- name: EE
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: NOT_LAUNCHED
operators:
- name: Tele2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- details.brand.email.address must be an email
description: Additional information for error.
- title: NoFieldsToUpdateErrorTitle
properties:
errorCode:
type: string
title: no_fields_to_update
example: no_fields_to_update
description: Error code allows to programatically handle errors.
message:
type: string
title: No fields to be updated.
example: No fields to be updated.
description: Human readable message.
resolution:
type: string
title: Supply at least one field to be updated.
example: Supply at least one field to be updated.
description: Human readable message with an explanation of how to solve the error.
- title: FieldsNotUpdatableErrorTitle
properties:
errorCode:
type: string
title: fields_not_updatable
example: fields_not_updatable
description: Error code allows to programatically handle errors.
message:
type: string
title: Fields not updatable.
example: Fields not updatable.
description: Human readable message.
resolution:
type: string
title: 'Only `details.countries` and `details.launch` can be updated when in state: LAUNCHING, LAUNCHED.'
example: 'Only `details.countries` and `details.launch` can be updated when in state: LAUNCHING, LAUNCHED.'
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidGoogleAgentErrorTitle
properties:
errorCode:
type: string
title: invalid_google_agent
example: invalid_google_agent
description: Error code allows to programatically handle errors.
message:
type: string
title: message
example: message
description: Human readable message.
resolution:
type: string
title: Verify the sender's fields.
example: Verify the sender's fields.
description: Human readable message with an explanation of how to solve the error.
- title: AddTestNumberInvalidErrorTitle
properties:
errorCode:
type: string
title: add_test_number_invalid
example: add_test_number_invalid
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid phone number.
example: Invalid phone number.
description: Human readable message.
resolution:
type: string
title: Please verify that phone number is correct.
example: Please verify that phone number is correct.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: senderId param is in the wrong format. Confirm that you're sending the correct value.
example: senderId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'403':
description: Forbidden
content:
application/json:
schema:
example:
errorCode: rbm_has_not_been_used
message: RBM has not been used.
resolution: Please wait and try again or reach out to support at si-richmessaging@sinch.com
title: RbmHasNotBeenUsedErrorTitle
properties:
errorCode:
type: string
title: rbm_has_not_been_used
example: rbm_has_not_been_used
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM has not been used.
example: RBM has not been used.
description: Human readable message.
resolution:
type: string
title: Please wait and try again or reach out to support at si-richmessaging@sinch.com
example: Please wait and try again or reach out to support at si-richmessaging@sinch.com
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: RbmResourcesNotFoundErrorTitle
properties:
errorCode:
type: string
title: rbm_resources_not_found
example: rbm_resources_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM resources not found.
example: RBM resources not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct, and contact support if error persists.
example: Verify that the parameters are correct, and contact support if error persists.
description: Human readable message with an explanation of how to solve the error.
- title: AddTestNumberNotAllowedBeforeLaunchErrorTitle
properties:
errorCode:
type: string
title: add_test_number_not_allowed_before_launch
example: add_test_number_not_allowed_before_launch
description: Error code allows to programatically handle errors.
message:
type: string
title: Adding test number not allowed before launch.
example: Adding test number not allowed before launch.
description: Human readable message.
resolution:
type: string
title: Carrier does not allow test number to be created prior to sender launch.
example: Carrier does not allow test number to be created prior to sender launch.
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Update sender for project
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/senders/{senderId}/activities:
get:
description: |2-
Paginated list of activities for sender. Ordered from the most recent one to the oldest one.
operationId: RcsSendersController_listActivities_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
responses:
'200':
description: Recent activities on sender
content:
application/json:
schema:
$ref: '#/components/schemas/RcsSenderNotificationListDto'
examples:
response:
summary: List sender activities response
description: |2-
Response for all sender activities.
value:
totalSize: 2
pageSize: 50
notifications:
- type: CREATED
created: '2023-02-10T11:41:14.202Z'
author: Provisioning API user
- type: COMMENT_ADDED
created: '2023-02-10T11:41:14.202Z'
comment: Example comment
author: Provisioning API user
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: senderId param is in the wrong format. Confirm that you're sending the correct value.
example: senderId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Lists activities on sender
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/senders/{senderId}/comments:
post:
description: |2-
Creates a comment for a sender in project.
operationId: SendersController_createSenderComment_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
requestBody:
required: true
description: Comment data.
content:
application/json:
schema:
$ref: '#/components/schemas/RcsCommentInputDto'
examples:
input:
summary: Body request
description: |2-
Example body request to create a comment.
value:
comment: Example comment.
responses:
'201':
description: Created comment for a sender in project
content:
application/json:
schema:
$ref: '#/components/schemas/RcsCommentDto'
examples:
created:
summary: Create response
description: |2-
Response when successfully creating a comment.
value:
type: CREATED
comment: Example comment
created: '2023-01-19T13:11:08.204Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- comment must be longer than or equal to 1 characters
description: Additional information for error.
- title: InvalidPayloadErrorTitle
properties:
errorCode:
type: string
title: invalid_payload
example: invalid_payload
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid payload.
example: Invalid payload.
description: Human readable message.
resolution:
type: string
title: Correct payload and submit again.
example: Correct payload and submit again.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: senderId param is in the wrong format. Confirm that you're sending the correct value.
example: senderId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: FailedToCreateCommentErrorTitle
properties:
errorCode:
type: string
title: failed_to_create_comment
example: failed_to_create_comment
description: Error code allows to programatically handle errors.
message:
type: string
title: Failed to create a comment.
example: Failed to create a comment.
description: Human readable message.
resolution:
type: string
title: Please try again later.
example: Please try again later.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Creates a comment for a sender in project
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/senders/{senderId}/launch:
post:
description: |2-
Begins launch process for a sender in project.
Requirements to begin launch process:
- Questionnaire needs to be completed;
- Countries (`details.countries`) must have at least one (1) value;
- At least one contact phone number (`details.brand.phones`) or a contact email (`details.brand.emails`) is required, but both are recommended;
- A brand banner url (`details.brand.bannerUrl`) must be defined;
- A brand logo url (`details.brand.logoUrl`) must be defined;
- A privacy policy url (`details.brand.privacyPolicyUrl`) must be defined;
- A terms of service url (`details.brand.termsOfServiceUrl`) must be defined;
If no video URI was provided in questionnaire, Sender will go into PENDING_LAUNCH while a video is added by Service Implementation.
operationId: SendersController_launchSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
responses:
'200':
description: Launched sender in project
content:
application/json:
schema:
$ref: '#/components/schemas/RcsSenderDto'
examples:
launchingResponse:
summary: Launching response
description: |2-
Response when successfully launching a sender with all required attributes.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: LAUNCHING
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: PENDING
operators:
- name: Coriolis Telecom
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: REJECTED
remark: Sender was rejected due to operator policy.
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: SUSPENDED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: PENDING
operators:
- name: EE
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: SUSPENDED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: PENDING
operators:
- name: Tele2
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
preparingLaunchResponse:
summary: Preparing launch response
description: |2-
Response when successfully launching a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: PREPARING_LAUNCH
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: PENDING
operators:
- name: Coriolis Telecom
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: REJECTED
remark: Sender was rejected due to operator policy.
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: SUSPENDED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: PENDING
operators:
- name: EE
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: SUSPENDED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: PENDING
operators:
- name: Tele2
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: PENDING
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: VerificationSuspendedInGmbErrorTitle
properties:
errorCode:
type: string
title: verification_suspended_in_gmb
example: verification_suspended_in_gmb
description: Error code allows to programatically handle errors.
message:
type: string
title: Associated Google My Business is suspended
example: Associated Google My Business is suspended
description: Human readable message.
resolution:
type: string
title: Reverify Google My Business.
example: Reverify Google My Business.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: senderId param is in the wrong format. Confirm that you're sending the correct value.
example: senderId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'403':
description: Forbidden
content:
application/json:
schema:
example:
errorCode: rbm_has_not_been_used
message: RBM has not been used.
resolution: Please wait and try again or reach out to support at si-richmessaging@sinch.com
title: RbmHasNotBeenUsedErrorTitle
properties:
errorCode:
type: string
title: rbm_has_not_been_used
example: rbm_has_not_been_used
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM has not been used.
example: RBM has not been used.
description: Human readable message.
resolution:
type: string
title: Please wait and try again or reach out to support at si-richmessaging@sinch.com
example: Please wait and try again or reach out to support at si-richmessaging@sinch.com
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: RbmResourcesNotFoundErrorTitle
properties:
errorCode:
type: string
title: rbm_resources_not_found
example: rbm_resources_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM resources not found.
example: RBM resources not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct, and contact support if error persists.
example: Verify that the parameters are correct, and contact support if error persists.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: LaunchInvalidAgentStateErrorTitle
properties:
errorCode:
type: string
title: launch_invalid_agent_state
example: launch_invalid_agent_state
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender can't be launched.
example: Sender can't be launched.
description: Human readable message.
resolution:
type: string
title: 'Launch are only supported by senders with state: IN_TEST, LAUNCHING, LAUNCHED, UNLAUNCHED.'
example: 'Launch are only supported by senders with state: IN_TEST, LAUNCHING, LAUNCHED, UNLAUNCHED.'
description: Human readable message with an explanation of how to solve the error.
- title: LaunchInvalidVerificationStateErrorTitle
properties:
errorCode:
type: string
title: launch_invalid_verification_state
example: launch_invalid_verification_state
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender verification can't be updated.
example: Sender verification can't be updated.
description: Human readable message.
resolution:
type: string
title: 'Sender verification update are only supported by verifications with state: VERIFICATION_STATE_PENDING.'
example: 'Sender verification update are only supported by verifications with state: VERIFICATION_STATE_PENDING.'
description: Human readable message with an explanation of how to solve the error.
'412':
description: PreconditionFailed
content:
application/json:
schema:
example:
errorCode: launch_precondition_failed
message: Launch precondition failed.
resolution: Correct the precondition errors and launch again.
additionalInformation:
validationErrors:
- validation.error
title: LaunchPreconditionFailedErrorTitle
properties:
errorCode:
type: string
title: launch_precondition_failed
example: launch_precondition_failed
description: Error code allows to programatically handle errors.
message:
type: string
title: Launch precondition failed.
example: Launch precondition failed.
description: Human readable message.
resolution:
type: string
title: Correct the precondition errors and launch again.
example: Correct the precondition errors and launch again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- validation.error
description: Additional information for error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Begin launch process for sender
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/senders/{senderId}/testNumbers:
post:
description: |2-
Returns updated test number states of sender for a project.
Please note that if you re-add verified number, state will be changed to unverified and an invite to become a tester will be sent again.
operationId: SendersController_addTestNumbers_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
schema:
type: string
requestBody:
required: true
description: Test numbers to add
content:
application/json:
schema:
$ref: '#/components/schemas/RcsTestNumbersInputDto'
examples:
input:
summary: Body request for add test numbers
description: |2-
Example body request to add test numbers.
value:
testNumbers:
- +48 777-777-777
responses:
'200':
description: Test number states
content:
application/json:
schema:
$ref: '#/components/schemas/RcsTestNumbersDto'
examples:
response:
summary: Test number states
description: |2-
Test number states.
value:
testNumbers:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- each value in testNumbers must be a string
description: Additional information for error.
- title: NoGoogleSupplierErrorTitle
properties:
errorCode:
type: string
title: no_google_supplier
example: no_google_supplier
description: Error code allows to programatically handle errors.
message:
type: string
title: No google supplier in sender.
example: No google supplier in sender.
description: Human readable message.
resolution:
type: string
title: Verify that the sender has google supplier.
example: Verify that the sender has google supplier.
description: Human readable message with an explanation of how to solve the error.
- title: AddTestNumberInvalidErrorTitle
properties:
errorCode:
type: string
title: add_test_number_invalid
example: add_test_number_invalid
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid phone number.
example: Invalid phone number.
description: Human readable message.
resolution:
type: string
title: Please verify that phone number is correct.
example: Please verify that phone number is correct.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: senderId param is in the wrong format. Confirm that you're sending the correct value.
example: senderId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: AddTestNumberNotAllowedBeforeLaunchErrorTitle
properties:
errorCode:
type: string
title: add_test_number_not_allowed_before_launch
example: add_test_number_not_allowed_before_launch
description: Error code allows to programatically handle errors.
message:
type: string
title: Adding test number not allowed before launch.
example: Adding test number not allowed before launch.
description: Human readable message.
resolution:
type: string
title: Carrier does not allow test number to be created prior to sender launch.
example: Carrier does not allow test number to be created prior to sender launch.
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Add test numbers to sender for project
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/senders/{senderId}/testNumbers/{testNumber}:
delete:
description: |2-
Deletes test number for the sender.
Please note that this method is only able to delete test number for the sender in Sinch database, in order to delete it from Google agent you need to use Google console.
operationId: SendersController_deleteTestNumber_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: testNumber
required: true
in: path
description: the user's phone number in E.164 format. For example, for a user with the US phone number +1-222-333-4444, the resulting parameter is '+12223334444'.
schema:
type: string
responses:
'204':
description: Test number deleted
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: NoGoogleSupplierErrorTitle
properties:
errorCode:
type: string
title: no_google_supplier
example: no_google_supplier
description: Error code allows to programatically handle errors.
message:
type: string
title: No google supplier in sender.
example: No google supplier in sender.
description: Human readable message.
resolution:
type: string
title: Verify that the sender has google supplier.
example: Verify that the sender has google supplier.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: senderId param is in the wrong format. Confirm that you're sending the correct value.
example: senderId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: UserIsNotTesterForAgentErrorTitle
properties:
errorCode:
type: string
title: user_is_not_tester_for_agent
example: user_is_not_tester_for_agent
description: Error code allows to programatically handle errors.
message:
type: string
title: Test number not found.
example: Test number not found.
description: Human readable message.
resolution:
type: string
title: Add test number to agent.
example: Add test number to agent.
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Deletes test number for the sender
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/senders/{senderId}/testNumbers/{testNumber}/capabilities:
get:
description: |2-
Returns test number capabilities of sender for a project.
operationId: SendersController_getTestNumberCapabilities_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: testNumber
required: true
in: path
description: the user's phone number in E.164 format. For example, for a user with the US phone number +1-222-333-4444, the resulting parameter is '+12223334444'.
schema:
type: string
responses:
'200':
description: test number capabilities
content:
application/json:
schema:
$ref: '#/components/schemas/RcsTestNumberCapabilitiesDto'
examples:
response:
summary: Get response
description: |2-
Response with test number capabilities.
value:
features:
- REVOCATION
- ACTION_DIAL
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: NoGoogleSupplierErrorTitle
properties:
errorCode:
type: string
title: no_google_supplier
example: no_google_supplier
description: Error code allows to programatically handle errors.
message:
type: string
title: No google supplier in sender.
example: No google supplier in sender.
description: Human readable message.
resolution:
type: string
title: Verify that the sender has google supplier.
example: Verify that the sender has google supplier.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: senderId param is in the wrong format. Confirm that you're sending the correct value.
example: senderId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'403':
description: Forbidden
content:
application/json:
schema:
example:
errorCode: wrong_supplier_configuration
message: Wrong supplier configuration is used, configuration needs to be setup via SI team
resolution: Please reach out to support at si-richmessaging@sinch.com
title: WrongSupplierConfigurationErrorTitle
properties:
errorCode:
type: string
title: wrong_supplier_configuration
example: wrong_supplier_configuration
description: Error code allows to programatically handle errors.
message:
type: string
title: Wrong supplier configuration is used, configuration needs to be setup via SI team
example: Wrong supplier configuration is used, configuration needs to be setup via SI team
description: Human readable message.
resolution:
type: string
title: Please reach out to support at si-richmessaging@sinch.com
example: Please reach out to support at si-richmessaging@sinch.com
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: UserIsNotTesterForAgentErrorTitle
properties:
errorCode:
type: string
title: user_is_not_tester_for_agent
example: user_is_not_tester_for_agent
description: Error code allows to programatically handle errors.
message:
type: string
title: Test number not found.
example: Test number not found.
description: Human readable message.
resolution:
type: string
title: Add test number to agent.
example: Add test number to agent.
description: Human readable message with an explanation of how to solve the error.
- title: UserCannotBeReachedErrorTitle
properties:
errorCode:
type: string
title: user_cannot_be_reached
example: user_cannot_be_reached
description: Error code allows to programatically handle errors.
message:
type: string
title: message
example: message
description: Human readable message.
resolution:
type: string
title: Verify that the user has RCS feature available.
example: Verify that the user has RCS feature available.
description: Human readable message with an explanation of how to solve the error.
- title: UserIsNotTesterForAgentErrorTitle
properties:
errorCode:
type: string
title: user_is_not_tester_for_agent
example: user_is_not_tester_for_agent
description: Error code allows to programatically handle errors.
message:
type: string
title: message
example: message
description: Human readable message.
resolution:
type: string
title: Add user as tester to agent.
example: Add user as tester to agent.
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get test number capabilities of sender for project
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/senders/{senderId}/testNumbers/{testNumber}/retry:
get:
description: |2-
Resend an invite and returns state for test number of sender for a project.
operationId: SendersController_retryTestNumber_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
- name: testNumber
required: true
in: path
description: the user's phone number in E.164 format. For example, for a user with the US phone number +1-222-333-4444, the resulting parameter is '+12223334444'.
schema:
type: string
responses:
'200':
description: test number state
content:
application/json:
schema:
$ref: '#/components/schemas/RcsTestNumberStateDto'
examples:
response:
summary: Get response
description: |2-
Response with test number state.
Please note that if you send an invite to verified number, state will be changed to unverified.
value:
number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: NoGoogleSupplierErrorTitle
properties:
errorCode:
type: string
title: no_google_supplier
example: no_google_supplier
description: Error code allows to programatically handle errors.
message:
type: string
title: No google supplier in sender.
example: No google supplier in sender.
description: Human readable message.
resolution:
type: string
title: Verify that the sender has google supplier.
example: Verify that the sender has google supplier.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: senderId param is in the wrong format. Confirm that you're sending the correct value.
example: senderId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: UserIsNotTesterForAgentErrorTitle
properties:
errorCode:
type: string
title: user_is_not_tester_for_agent
example: user_is_not_tester_for_agent
description: Error code allows to programatically handle errors.
message:
type: string
title: Test number not found.
example: Test number not found.
description: Human readable message.
resolution:
type: string
title: Add test number to agent.
example: Add test number to agent.
description: Human readable message with an explanation of how to solve the error.
- title: AddTestNumberNotAllowedBeforeLaunchErrorTitle
properties:
errorCode:
type: string
title: add_test_number_not_allowed_before_launch
example: add_test_number_not_allowed_before_launch
description: Error code allows to programatically handle errors.
message:
type: string
title: Adding test number not allowed before launch.
example: Adding test number not allowed before launch.
description: Human readable message.
resolution:
type: string
title: Carrier does not allow test number to be created prior to sender launch.
example: Carrier does not allow test number to be created prior to sender launch.
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Resend an invite to test number of sender for project
tags:
- RCS Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/upscales:
get:
description: |2-
Returns a paginated list of all upscales. If no page token is supplied then the first `100` will be returned.
operationId: UpscalesController_listUpscales_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 9007199254740991
description: The page size requested.
- name: filterRcsSenderIds
required: false
in: query
description: Optional query for upscale by rcs sender ids.
schema:
type: string
- name: filterSmsAppIds
required: false
in: query
description: Optional query for upscale by sms app ids.
schema:
type: string
- name: filterSmsCodes
required: false
in: query
description: Optional query for upscale by alphanumerics.
schema:
type: string
- name: filterSmsNumberIds
required: false
in: query
description: Optional query for upscale by sms number ids.
schema:
type: string
- name: filterStates
required: false
in: query
description: Optional query for upscale by states.
schema:
type: array
items:
$ref: '#/components/schemas/RcsPublicUpscaleStatesEnum'
responses:
'200':
description: List of upscales
content:
application/json:
schema:
$ref: '#/components/schemas/RcsRcsUpscaleListDto'
examples:
response:
summary: List response
description: |2-
Response with upscales.
value:
totalSize: 2
pageSize: 100
upscales:
- id: 680b477a26719c7071035135
details:
rcs:
senderId: 8304cda1-c293-4353-a4c3-b7d615ef49d9
sms:
type: NUMERIC
numberId: c8a79e31acc647e69b861f1cd4c4fd33
smsAppId: 68f2d4f6df0c40c3a605ae531ee83904
details:
number: '+48777777777'
countryCode: PL
numberType: LONG_NUMBER
convApp:
appId: 02JSEZCZTCKGBFFJWATQCQKCY5
countryCode: PL
state: UPSCALING
created: '2025-07-21T07:57:04.091Z'
updated: '2025-07-21T07:57:04.091Z'
- id: 680b477a26719c7071035135
details:
rcs:
senderId: 8304cda1-c293-4353-a4c3-b7d615ef49d9
sms:
numberId: c8a79e31acc647e69b861f1cd4c4fd33
smsAppId: 68f2d4f6df0c40c3a605ae531ee83904
details:
number: '+48777777777'
countryCode: PL
numberType: LONG_NUMBER
convApp:
appId: 02JSEZCZTCKGBFFJWATQCQKCY5
countryCode: PL
state: UPSCALING
created: '2025-07-21T07:57:04.091Z'
updated: '2025-07-21T07:57:04.091Z'
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: UpscaleInvalidStateErrorTitle
properties:
errorCode:
type: string
title: upscale_invalid_state
example: upscale_invalid_state
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid state.
example: Invalid state.
description: Human readable message.
resolution:
type: string
title: Use the supported values for the states parameter.
example: Use the supported values for the states parameter.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedValues: DOWNSCALING, DOWNSCALING_FAILED, UPSCALED, UPSCALING, UPSCALING_FAILED
description: Additional information for error.
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all upscales
tags:
- RCS Upscales
x-tagAfterOperationSummary:
color: white
background: orange
label: Open Beta
post:
description: |2-
Returns a upscale.
operationId: UpscalesController_createUpscale_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
requestBody:
required: true
description: Upscale data
content:
application/json:
schema:
$ref: '#/components/schemas/RcsInputRcsUpscaleDto'
examples:
numeric:
summary: Numeric body request for upscale
description: |2-
Example numeric body request to create a upscale.
value:
details:
rcs:
senderId: 8304cda1-c293-4353-a4c3-b7d615ef49d9
sms:
type: NUMERIC
numberId: c8a79e31acc647e69b861f1cd4c4fd33
countryCode: PL
deprecated:
summary: Deprecated body request for upscale
description: |2-
Example deprecated body request to create a upscale.
value:
details:
rcs:
senderId: 8304cda1-c293-4353-a4c3-b7d615ef49d9
sms:
numberId: c8a79e31acc647e69b861f1cd4c4fd33
countryCode: PL
responses:
'201':
description: Upscale
content:
application/json:
schema:
$ref: '#/components/schemas/RcsRcsUpscaleDto'
examples:
numeric:
summary: Create response for sms numeric
description: |2-
Response when successfully creating a sms numeric upscale.
value:
id: 680b477a26719c7071035135
details:
rcs:
senderId: 8304cda1-c293-4353-a4c3-b7d615ef49d9
sms:
type: NUMERIC
numberId: c8a79e31acc647e69b861f1cd4c4fd33
smsAppId: 68f2d4f6df0c40c3a605ae531ee83904
details:
number: '+48777777777'
countryCode: PL
numberType: LONG_NUMBER
convApp:
appId: 02JSEZCZTCKGBFFJWATQCQKCY5
countryCode: PL
state: UPSCALING
created: '2025-07-21T07:57:04.091Z'
updated: '2025-07-21T07:57:04.091Z'
deprecated:
summary: Create response for sms deprecated
description: |2-
Response when successfully creating a sms deprecated upscale.
value:
id: 680b477a26719c7071035135
details:
rcs:
senderId: 8304cda1-c293-4353-a4c3-b7d615ef49d9
sms:
numberId: c8a79e31acc647e69b861f1cd4c4fd33
smsAppId: 68f2d4f6df0c40c3a605ae531ee83904
details:
number: '+48777777777'
countryCode: PL
numberType: LONG_NUMBER
convApp:
appId: 02JSEZCZTCKGBFFJWATQCQKCY5
countryCode: PL
state: UPSCALING
created: '2025-07-21T07:57:04.091Z'
updated: '2025-07-21T07:57:04.091Z'
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: invalid_input
message: Invalid input.
resolution: Correct the validation errors and submit again.
additionalInformation:
validationErrors:
- details.rcs.sender must be uuid
title: InvalidInputErrorTitle
properties:
errorCode:
type: string
title: invalid_input
example: invalid_input
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid input.
example: Invalid input.
description: Human readable message.
resolution:
type: string
title: Correct the validation errors and submit again.
example: Correct the validation errors and submit again.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
validationErrors:
- details.rcs.sender must be uuid
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'403':
description: Forbidden
content:
application/json:
schema:
oneOf:
- title: IncorrectRcsSenderStateErrorTitle
properties:
errorCode:
type: string
title: incorrect_rcs_sender_state
example: incorrect_rcs_sender_state
description: Error code allows to programatically handle errors.
message:
type: string
title: Incorrect RCS sender state.
example: Incorrect RCS sender state.
description: Human readable message.
resolution:
type: string
title: 'RCS sender must be in state: `IN_TEST`, `LAUNCHED`, `LAUNCHING` or `PREPARING_LAUNCH`.'
example: 'RCS sender must be in state: `IN_TEST`, `LAUNCHED`, `LAUNCHING` or `PREPARING_LAUNCH`.'
description: Human readable message with an explanation of how to solve the error.
- title: IncorrectNumberStatusErrorTitle
properties:
errorCode:
type: string
title: incorrect-number-status
example: incorrect-number-status
description: Error code allows to programatically handle errors.
message:
type: string
title: Incorrect number status.
example: Incorrect number status.
description: Human readable message.
resolution:
type: string
title: 'Number must be in status: `ACTIVE`.'
example: 'Number must be in status: `ACTIVE`.'
description: Human readable message with an explanation of how to solve the error.
- title: IncorrectSmsAppStatusErrorTitle
properties:
errorCode:
type: string
title: incorrect-sms-app-status
example: incorrect-sms-app-status
description: Error code allows to programatically handle errors.
message:
type: string
title: Incorrect smsApp status.
example: Incorrect smsApp status.
description: Human readable message.
resolution:
type: string
title: 'SmsApp must be in status: `ACTIVE`.'
example: 'SmsApp must be in status: `ACTIVE`.'
description: Human readable message with an explanation of how to solve the error.
- title: SmsNumberIsAlreadyUpscaledErrorTitle
properties:
errorCode:
type: string
title: sms_number_is_already_upscaled
example: sms_number_is_already_upscaled
description: Error code allows to programatically handle errors.
message:
type: string
title: Sms number is already upscaled.
example: Sms number is already upscaled.
description: Human readable message.
resolution:
type: string
title: Please check if sms numberId is correct.
example: Please check if sms numberId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: SmsCodeIsAlreadyUpscaledErrorTitle
properties:
errorCode:
type: string
title: sms_code_is_already_upscaled
example: sms_code_is_already_upscaled
description: Error code allows to programatically handle errors.
message:
type: string
title: Sms code is already upscaled.
example: Sms code is already upscaled.
description: Human readable message.
resolution:
type: string
title: Please check if sms code is correct.
example: Please check if sms code is correct.
description: Human readable message with an explanation of how to solve the error.
- title: RcsSenderIsAlreadyUpscaledErrorTitle
properties:
errorCode:
type: string
title: rcs_sender_is_already_upscaled
example: rcs_sender_is_already_upscaled
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS sender is already upscaled.
example: RCS sender is already upscaled.
description: Human readable message.
resolution:
type: string
title: Please check if rcs senderId is correct.
example: Please check if rcs senderId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: NotSupportedCountryCodeErrorTitle
properties:
errorCode:
type: string
title: not_supported_country_code
example: not_supported_country_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Not supported country code.
example: Not supported country code.
description: Human readable message.
resolution:
type: string
title: CountryCode must be one of `AT`, `BE`, `BR`, `CA`, `CZ`, `DE`, `DK`, `ES`, `FR`, `GB`, `IT`, `MX`, `NL`, `NO`, `PL`, `PT`, `SE`, `SG`, `SK`, `US` or `UNRECOGNIZED`.
example: CountryCode must be one of `AT`, `BE`, `BR`, `CA`, `CZ`, `DE`, `DK`, `ES`, `FR`, `GB`, `IT`, `MX`, `NL`, `NO`, `PL`, `PT`, `SE`, `SG`, `SK`, `US` or `UNRECOGNIZED`.
description: Human readable message with an explanation of how to solve the error.
- title: NotSupportedSmsAppRegionErrorTitle
properties:
errorCode:
type: string
title: not_supported_sms_app_region
example: not_supported_sms_app_region
description: Error code allows to programatically handle errors.
message:
type: string
title: Not supported smsApp region.
example: Not supported smsApp region.
description: Human readable message.
resolution:
type: string
title: SmsApp region must contain one of `AU`, `BR`, `CA`, `EU`, `US` or `UNRECOGNIZED`.
example: SmsApp region must contain one of `AU`, `BR`, `CA`, `EU`, `US` or `UNRECOGNIZED`.
description: Human readable message with an explanation of how to solve the error.
- title: NotAllowedSharedShortCodeNumberErrorTitle
properties:
errorCode:
type: string
title: not_allowed_shared_short_code_number
example: not_allowed_shared_short_code_number
description: Error code allows to programatically handle errors.
message:
type: string
title: Not allowed shared short code number.
example: Not allowed shared short code number.
description: Human readable message.
resolution:
type: string
title: Short code must be dedicated.
example: Short code must be dedicated.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
oneOf:
- title: NumberNotFoundErrorTitle
properties:
errorCode:
type: string
title: number_not_found
example: number_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Number not found.
example: Number not found.
description: Human readable message.
resolution:
type: string
title: Verify that the numberId is correct.
example: Verify that the numberId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: SmsAppNotFoundErrorTitle
properties:
errorCode:
type: string
title: sms_app_not_found
example: sms_app_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: SmsApp not found.
example: SmsApp not found.
description: Human readable message.
resolution:
type: string
title: Verify that the appId is correct.
example: Verify that the appId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
- title: ProjectNotFoundErrorTitle
properties:
errorCode:
type: string
title: project_not_found
example: project_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Project not found.
example: Project not found.
description: Human readable message.
resolution:
type: string
title: Verify that the projectId is correct.
example: Verify that the projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
oneOf:
- title: ConvAppNotConfiguredForRcsSenderErrorTitle
properties:
errorCode:
type: string
title: conv_app_not_configured_for_rcs_sender
example: conv_app_not_configured_for_rcs_sender
description: Error code allows to programatically handle errors.
message:
type: string
title: ConvApp not configured for RCS sender.
example: ConvApp not configured for RCS sender.
description: Human readable message.
resolution:
type: string
title: Please configure convApp for rcsSender.
example: Please configure convApp for rcsSender.
description: Human readable message with an explanation of how to solve the error.
- title: SmsAppConvAppRegionsMismatchErrorTitle
properties:
errorCode:
type: string
title: sms-app-conv-app-regions-mismatch
example: sms-app-conv-app-regions-mismatch
description: Error code allows to programatically handle errors.
message:
type: string
title: SmsApp region need to be supported for upscaling supported by convApp region.
example: SmsApp region need to be supported for upscaling supported by convApp region.
description: Human readable message.
resolution:
type: string
title: Select a ConvApp with a region that supports upscaling your selected SmsApp.
example: Select a ConvApp with a region that supports upscaling your selected SmsApp.
description: Human readable message with an explanation of how to solve the error.
- title: IncorrectNumberCountryCodeErrorTitle
properties:
errorCode:
type: string
title: incorrect_number_country_code
example: incorrect_number_country_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Incorrect number country code.
example: Incorrect number country code.
description: Human readable message.
resolution:
type: string
title: CountryCode must be the same as number country code.
example: CountryCode must be the same as number country code.
description: Human readable message with an explanation of how to solve the error.
- title: IncorrectRcsSenderCountryCodeErrorTitle
properties:
errorCode:
type: string
title: incorrect_rcs_sender_country_code
example: incorrect_rcs_sender_country_code
description: Error code allows to programatically handle errors.
message:
type: string
title: Incorrect RCS sender country code.
example: Incorrect RCS sender country code.
description: Human readable message.
resolution:
type: string
title: RCS sender must contains provided countryCode.
example: RCS sender must contains provided countryCode.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Create upscale
tags:
- RCS Upscales
x-tagAfterOperationSummary:
color: white
background: orange
label: Open Beta
/v1/projects/{projectId}/rcs/upscales/{upscaleId}:
get:
description: |2-
Returns a upscale.
operationId: UpscalesController_getUpscale_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: upscaleId
required: true
in: path
description: The unique ID of the upscale
schema:
type: string
responses:
'200':
description: Upscale
content:
application/json:
schema:
$ref: '#/components/schemas/RcsRcsUpscaleDto'
examples:
numeric:
summary: Get response for sms numeric
description: |2-
Response with a sms numeric upscale.
value:
id: 680b477a26719c7071035135
details:
rcs:
senderId: 8304cda1-c293-4353-a4c3-b7d615ef49d9
sms:
type: NUMERIC
numberId: c8a79e31acc647e69b861f1cd4c4fd33
smsAppId: 68f2d4f6df0c40c3a605ae531ee83904
details:
number: '+48777777777'
countryCode: PL
numberType: LONG_NUMBER
convApp:
appId: 02JSEZCZTCKGBFFJWATQCQKCY5
countryCode: PL
state: UPSCALING
created: '2025-07-21T07:57:04.091Z'
updated: '2025-07-21T07:57:04.091Z'
deprecated:
summary: Get response for sms deprecated
description: |2-
Response with a sms deprecated upscale.
value:
id: 680b477a26719c7071035135
details:
rcs:
senderId: 8304cda1-c293-4353-a4c3-b7d615ef49d9
sms:
numberId: c8a79e31acc647e69b861f1cd4c4fd33
smsAppId: 68f2d4f6df0c40c3a605ae531ee83904
details:
number: '+48777777777'
countryCode: PL
numberType: LONG_NUMBER
convApp:
appId: 02JSEZCZTCKGBFFJWATQCQKCY5
countryCode: PL
state: UPSCALING
created: '2025-07-21T07:57:04.091Z'
updated: '2025-07-21T07:57:04.091Z'
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: invalid_id_format
message: Id is not in the expected format.
resolution: upscaleId param is in the wrong format. Confirm that you're sending the correct value.
title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: upscaleId param is in the wrong format. Confirm that you're sending the correct value.
example: upscaleId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: upscale_not_found
message: Upscale not found.
resolution: Verify that the parameters are correct.
title: UpscaleNotFoundErrorTitle
properties:
errorCode:
type: string
title: upscale_not_found
example: upscale_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Upscale not found.
example: Upscale not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get upscale
tags:
- RCS Upscales
x-tagAfterOperationSummary:
color: white
background: orange
label: Open Beta
delete:
description: |2-
Delete upscale.
operationId: UpscalesController_deleteUpscale_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: upscaleId
required: true
in: path
description: The unique ID of the upscale
schema:
type: string
responses:
'204':
description: Upscale deleted
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: invalid_id_format
message: Id is not in the expected format.
resolution: upscaleId param is in the wrong format. Confirm that you're sending the correct value.
title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: upscaleId param is in the wrong format. Confirm that you're sending the correct value.
example: upscaleId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: upscale_not_found
message: Upscale not found.
resolution: Verify that the parameters are correct.
title: UpscaleNotFoundErrorTitle
properties:
errorCode:
type: string
title: upscale_not_found
example: upscale_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Upscale not found.
example: Upscale not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: upscale_not_deletable
message: Upscale is not deletable.
resolution: Only `UPSCALED`, `UPSCALING` or `UPSCALING_FAILED` upscales can be deleted.
title: UpscaleNotDeletableErrorTitle
properties:
errorCode:
type: string
title: upscale_not_deletable
example: upscale_not_deletable
description: Error code allows to programatically handle errors.
message:
type: string
title: Upscale is not deletable.
example: Upscale is not deletable.
description: Human readable message.
resolution:
type: string
title: Only `UPSCALED`, `UPSCALING` or `UPSCALING_FAILED` upscales can be deleted.
example: Only `UPSCALED`, `UPSCALING` or `UPSCALING_FAILED` upscales can be deleted.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Delete upscale
tags:
- RCS Upscales
x-tagAfterOperationSummary:
color: white
background: orange
label: Open Beta
/v1/projects/{projectId}/rcs/upscales/{upscaleId}/retry:
post:
description: |2-
Retry upscale.
operationId: UpscalesController_retryUpscale_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: upscaleId
required: true
in: path
description: The unique ID of the upscale
schema:
type: string
responses:
'204':
description: Upscale retried
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: invalid_id_format
message: Id is not in the expected format.
resolution: upscaleId param is in the wrong format. Confirm that you're sending the correct value.
title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: upscaleId param is in the wrong format. Confirm that you're sending the correct value.
example: upscaleId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
example:
errorCode: unauthorized_error
message: Unauthorized error.
resolution: Verify that projectId is correct.
title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: upscale_not_found
message: Upscale not found.
resolution: Verify that the parameters are correct.
title: UpscaleNotFoundErrorTitle
properties:
errorCode:
type: string
title: upscale_not_found
example: upscale_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Upscale not found.
example: Upscale not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'409':
description: Conflict
content:
application/json:
schema:
example:
errorCode: upscale_not_retryable
message: Upscale is not retryable.
resolution: Only `DOWNSCALING_FAILED` or `UPSCALING_FAILED` upscales can be retried.
title: UpscaleNotRetryableErrorTitle
properties:
errorCode:
type: string
title: upscale_not_retryable
example: upscale_not_retryable
description: Error code allows to programatically handle errors.
message:
type: string
title: Upscale is not retryable.
example: Upscale is not retryable.
description: Human readable message.
resolution:
type: string
title: Only `DOWNSCALING_FAILED` or `UPSCALING_FAILED` upscales can be retried.
example: Only `DOWNSCALING_FAILED` or `UPSCALING_FAILED` upscales can be retried.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
example:
errorCode: internal_error
message: Internal server error.
resolution: Please wait and try again, if the error persist please contact support.
title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Retry upscale
tags:
- RCS Upscales
x-tagAfterOperationSummary:
color: white
background: orange
label: Open Beta
/v1/projects/{projectId}/rcs/upscaleSenders:
get:
description: |2-
Returns a paginated list of senders for the specified project. If no page token is supplied then the first `50` will be returned.
operationId: UpscaleSendersController_listUpscaleSenders_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: pageToken
required: false
in: query
schema:
type: string
description: The page token if retrieving the next page from a previous query.
- name: pageSize
required: false
in: query
schema:
type: number
minimum: 1
maximum: 100
description: The page size requested.
- name: filterConversationApiAppId
required: false
in: query
description: Optional query for sender by Conversation API app id.
schema:
type: string
- name: filterSenderIds
required: false
in: query
description: Optional query for sender by sender ids.
schema:
type: string
- name: filterSenderName
required: false
in: query
description: Optional query for sender by name.
schema:
type: string
- name: filterStates
required: false
in: query
description: Optionally query for sender by states.
schema:
type: array
items:
$ref: '#/components/schemas/RcsSenderStatesEnum'
- name: sortColumn
required: false
in: query
description: Optional query for sender sort column.
schema:
$ref: '#/components/schemas/RcsSenderSortColumnsEnum'
- name: sortDirection
required: false
in: query
description: Optional query for sender sort direction.
schema:
$ref: '#/components/schemas/RcsSortDirectionsEnum'
responses:
'200':
description: List of senders with upscale information
content:
application/json:
schema:
$ref: '#/components/schemas/RcsUpscaleSenderListDto'
examples:
response:
summary: List response
description: |2-
Response with senders.
value:
totalSize: 2
pageSize: 50
senders:
- id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: PREPARING_LAUNCH
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: NOT_LAUNCHED
operators:
- name: Coriolis Telecom
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: NOT_LAUNCHED
operators:
- name: EE
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: NOT_LAUNCHED
operators:
- name: Tele2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
isUpscaled: false
- id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: LAUNCHING
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: NOT_LAUNCHED
operators:
- name: Coriolis Telecom
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: NOT_LAUNCHED
operators:
- name: EE
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: NOT_LAUNCHED
operators:
- name: Tele2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
isUpscaled: false
'400':
description: BadRequest
content:
application/json:
schema:
oneOf:
- title: InvalidPageTokenErrorTitle
properties:
errorCode:
type: string
title: invalid_page_token
example: invalid_page_token
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid page token.
example: Invalid page token.
description: Human readable message.
resolution:
type: string
title: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
example: The page token to use is provided in the previous query response, for new queries simply leave this field undefined.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidPageSizeErrorTitle
properties:
errorCode:
type: string
title: invalid_page_size
example: invalid_page_size
description: Error code allows to programatically handle errors.
message:
type: string
title: Page size must be numeric.
example: Page size must be numeric.
description: Human readable message.
resolution:
type: string
title: Use a integer value for pageSize parameter.
example: Use a integer value for pageSize parameter.
description: Human readable message with an explanation of how to solve the error.
- title: InvalidFilterStatesErrorTitle
properties:
errorCode:
type: string
title: invalid_filter_states
example: invalid_filter_states
description: Error code allows to programatically handle errors.
message:
type: string
title: Invalid filterStates.
example: Invalid filterStates.
description: Human readable message.
resolution:
type: string
title: Verify that the filterStates used are supported by the Provisioning API.
example: Verify that the filterStates used are supported by the Provisioning API.
description: Human readable message with an explanation of how to solve the error.
additionalInformation:
type: object
title: additionalInformation
example:
supportedCodes: DRAFT, IN_PROGRESS, IN_TEST, LAUNCHED, LAUNCHING, PREPARING_LAUNCH, UNLAUNCHED, UNKNOWN
description: Additional information for error.
'401':
description: Unauthorized
content:
application/json:
schema:
oneOf:
- title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'403':
description: Forbidden
content:
application/json:
schema:
example:
errorCode: rbm_has_not_been_used
message: RBM has not been used.
resolution: Please wait and try again or reach out to support at si-richmessaging@sinch.com
title: RbmHasNotBeenUsedErrorTitle
properties:
errorCode:
type: string
title: rbm_has_not_been_used
example: rbm_has_not_been_used
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM has not been used.
example: RBM has not been used.
description: Human readable message.
resolution:
type: string
title: Please wait and try again or reach out to support at si-richmessaging@sinch.com
example: Please wait and try again or reach out to support at si-richmessaging@sinch.com
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: List all senders in project with upscale information
tags:
- RCS Upscale Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
/v1/projects/{projectId}/rcs/upscaleSenders/{senderId}:
get:
description: |2-
Returns a sender for a project.
operationId: UpscaleSendersController_getUpscaleSender_v1
parameters:
- name: projectId
required: true
in: path
description: The unique ID of the project. You can find this on the Sinch Dashboard.
schema:
type: string
- name: senderId
required: true
in: path
description: The unique ID of the sender.
schema:
type: string
responses:
'200':
description: Sender with upscale information
content:
application/json:
schema:
$ref: '#/components/schemas/RcsUpscaleSenderDto'
examples:
response:
summary: Get response
description: |2-
Response with a sender.
value:
id: cf11794a-6a5e-4a12-b103-da79bd378bf1
state: IN_TEST
testNumberStates:
- number: '+46123123111'
state: UNVERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123222'
state: VERIFIED
submitted: '2023-01-19t13:11:08.204Z'
- number: '+46123123333'
state: DECLINED
submitted: '2023-01-19t13:11:08.204Z'
countryStatus:
- country: FR
status: NOT_LAUNCHED
operators:
- name: Coriolis Telecom
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Lycamobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Bouygues
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Free
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: NRJ Mobile
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: SFR
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Orange
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: GB
status: NOT_LAUNCHED
operators:
- name: EE
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Sky
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: O2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Vodafone
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- country: SE
status: NOT_LAUNCHED
operators:
- name: Tele2
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telenor
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Telia
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
- name: Three
status: NOT_LAUNCHED
modified: '2023-01-19t13:11:08.204Z'
details:
brand:
emails:
- label: label
address: test@test.com
- label: label-1
address: test-1@test.com
- label: label-2
address: test-2@test.com
phones:
- label: label
number: +48 777-777-777
- label: label-1
number: '48888888888'
- label: label-2
number: +48 999-999-999
websites:
- label: label
url: https://example.com
- label: label-1
url: https://example-1.com
- label: label-2
url: https://example-2.com
color: '#000000'
description: Test description
bannerUrl: https://example-banner-url.com
logoUrl: https://example-logo-url.com
privacyPolicyUrl: https://example-private-policy-url.com
termsOfServiceUrl: https://example-terms-of-service-url.com
name: Test name
testNumbers:
- +48 777-777-777
countries:
- FR
- GB
- SE
questionnaire:
general:
questions:
optInDescription:
question: How do users agree to receive messages from your business through the agent?
suggestedAnswers:
- By subscribing to our loyalty program
- By making a purchase in-store or online
- By subscribing to a newsletter
- By creating an account on our website or app
triggerDescription:
question: When does your business send messages to users through the agent?
suggestedAnswers:
- User actions (e.g. after making a purchase)
interactionsDescription:
question: How will users interact with your business through the agent?
suggestedAnswers:
- Online Payment
- Password reset
- OTP/2FA for account login
optOutDescription:
question: What message does your business send when a user opts out?
suggestedAnswers:
- Thank you for opting out
- Thank you for unsubscribing
- We have registered your opt out request
videoUris:
question: ''
suggestedAnswers: []
screenshotUris:
question: ''
suggestedAnswers: []
answers:
optInDescription: By subscribing to a newsletter
triggerDescription: User actions (e.g. after making a purchase)
interactionsDescription: Billing or payment reminders,aef Order updates,aef Upon package delivery
interactionsDescriptionMetadata:
ignore: ',aef'
optOutDescription: We have registered your opt out request
videoUris:
- https://example-video-url.com
screenshotUris:
- https://example-screenshot-url.com
verification:
questions:
name:
question: What is the name of your verification contact?
suggestedAnswers: []
email:
question: What is the email of your verification contact?
suggestedAnswers: []
title:
question: What is the title of your verification contact?
suggestedAnswers: []
website:
question: What is the website of your verification contact?
suggestedAnswers: []
answers:
name: Exam Ple
email: email@example.com
title: Head Example
website: https://example.com
gb:
questions:
brandIndustry:
question: What sector or industry does your business operate in?
suggestedAnswers:
- Automotive
- Beauty, spa and salon
- Clothing
- Education
- Entertainment
- Event planning and service
- Finance and banking
- Food and groceries
- Public service
- Hotel and lodging
- Medical and health
- Charity
- Professional services
- Shopping and retail
- Travel and transportation
- Restaurant
companyLegalName:
question: What is the registered legal name of your company?
suggestedAnswers: []
companyRegistrationNumber:
question: What is the registration number of your company?
suggestedAnswers: []
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
messagesVolume:
question: What is the total volume of messages expected to be sent by your agent?
suggestedAnswers:
- 0 - 10K messages
- 10K - 100K messages
- 100K - 1M messages
- 1M+ messages
messagesFrequency:
question: How often do you expect to send messages?
suggestedAnswers:
- Once per day
- Once per week
- Once per month
- Once per 3 months
- Once per 6 months
campaignLength:
question: What will be the length of the RCS campaign?
suggestedAnswers:
- 1 day or less
- 2 to 7 days
- 8 to 21 days
- 1 month
- 3 months
- 6 months
- Continuous / ongoing
answers:
brandIndustry: Automotive
companyLegalName: Example company legal name
companyRegistrationNumber: 123-123456789
fullCompanyAddress: Skeppsbron 1 Malmö, 123 12, Sweden
messagesVolume: 10K - 100K messages
messagesFrequency: Once per month
fr:
questions:
fullCompanyAddress:
question: Full Company Address
suggestedAnswers: []
usersAmount:
question: How many users are your agent expected to reach?
suggestedAnswers:
- 0 - 1K users
- 1K - 10K users
- 10k - 100K users
- 100K+ users
startDate:
question: When will your agent start sending messages to your users?
suggestedAnswers:
- Today
- In a week
- In a month
- Within 3 months
siren:
question: What is your Company directory identification system number (SIREN)?
suggestedAnswers: []
answers:
fullCompanyAddress: Skeppsbron 1-split-211 20-split-Malmö
fullCompanyAddressMetadata:
ignore: '-split-'
siren: '123456789'
region: EU
billingCategory: BASIC_MESSAGE
useCase: OTP
hostingRegion: EUROPE
authName: yurwN6123asd
authToken: ejiiqJtDyurwN6jLze8v
conversationApiApp: 4CF9CE97504C4A468F4610919D17ECC1
conversationApiAppDetails:
id: 4CF9CE97504C4A468F4610919D17ECC1
projectId: ea026751-3edf-40a9-ad93-1b382bd60a78
region: EU
created: '2023-01-19t13:11:08.204Z'
modified: '2023-01-19t13:11:08.204Z'
launched: '2023-01-19t13:11:08.204Z'
supplierDetails:
google:
agentId: agentId
isUpscaled: false
'400':
description: BadRequest
content:
application/json:
schema:
example:
errorCode: invalid_id_format
message: Id is not in the expected format.
resolution: senderId param is in the wrong format. Confirm that you're sending the correct value.
title: InvalidIdFormatErrorTitle
properties:
errorCode:
type: string
title: invalid_id_format
example: invalid_id_format
description: Error code allows to programatically handle errors.
message:
type: string
title: Id is not in the expected format.
example: Id is not in the expected format.
description: Human readable message.
resolution:
type: string
title: senderId param is in the wrong format. Confirm that you're sending the correct value.
example: senderId param is in the wrong format. Confirm that you're sending the correct value.
description: Human readable message with an explanation of how to solve the error.
'401':
description: Unauthorized
content:
application/json:
schema:
oneOf:
- title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
- title: UnauthorizedErrorErrorTitle
properties:
errorCode:
type: string
title: unauthorized_error
example: unauthorized_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Unauthorized error.
example: Unauthorized error.
description: Human readable message.
resolution:
type: string
title: Verify that projectId is correct.
example: Verify that projectId is correct.
description: Human readable message with an explanation of how to solve the error.
'403':
description: Forbidden
content:
application/json:
schema:
example:
errorCode: rbm_has_not_been_used
message: RBM has not been used.
resolution: Please wait and try again or reach out to support at si-richmessaging@sinch.com
title: RbmHasNotBeenUsedErrorTitle
properties:
errorCode:
type: string
title: rbm_has_not_been_used
example: rbm_has_not_been_used
description: Error code allows to programatically handle errors.
message:
type: string
title: RBM has not been used.
example: RBM has not been used.
description: Human readable message.
resolution:
type: string
title: Please wait and try again or reach out to support at si-richmessaging@sinch.com
example: Please wait and try again or reach out to support at si-richmessaging@sinch.com
description: Human readable message with an explanation of how to solve the error.
'404':
description: NotFound
content:
application/json:
schema:
example:
errorCode: sender_not_found
message: Sender not found.
resolution: Verify that the parameters are correct.
title: SenderNotFoundErrorTitle
properties:
errorCode:
type: string
title: sender_not_found
example: sender_not_found
description: Error code allows to programatically handle errors.
message:
type: string
title: Sender not found.
example: Sender not found.
description: Human readable message.
resolution:
type: string
title: Verify that the parameters are correct.
example: Verify that the parameters are correct.
description: Human readable message with an explanation of how to solve the error.
'429':
description: TooManyRequests
content:
application/json:
schema:
example:
errorCode: rbm_too_many_requests
message: RCS Business Messaging too many requests.
resolution: Please wait and try again.
title: RbmTooManyRequestsErrorTitle
properties:
errorCode:
type: string
title: rbm_too_many_requests
example: rbm_too_many_requests
description: Error code allows to programatically handle errors.
message:
type: string
title: RCS Business Messaging too many requests.
example: RCS Business Messaging too many requests.
description: Human readable message.
resolution:
type: string
title: Please wait and try again.
example: Please wait and try again.
description: Human readable message with an explanation of how to solve the error.
'500':
description: InternalServerError
content:
application/json:
schema:
oneOf:
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
- title: InternalErrorErrorTitle
properties:
errorCode:
type: string
title: internal_error
example: internal_error
description: Error code allows to programatically handle errors.
message:
type: string
title: Internal server error.
example: Internal server error.
description: Human readable message.
resolution:
type: string
title: Please wait and try again, if the error persist please contact support.
example: Please wait and try again, if the error persist please contact support.
description: Human readable message with an explanation of how to solve the error.
summary: Get sender for project with upscale information
tags:
- RCS Upscale Senders
x-tagAfterOperationSummary:
color: white
background: green
label: GA
components:
securitySchemes:
BasicAuth:
type: http
scheme: basic
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
WebhookWebhookTriggers:
type: string
enum:
- ALL
- BUNDLE_DONE
- KAKAOTALK_SENDER_ACTIVE
- KAKAOTALK_SENDER_COMMENT_ADDED
- KAKAOTALK_SENDER_INACTIVE
- KAKAOTALK_SENDER_REJECTED
- KAKAOTALK_TEMPLATE_APPROVED
- KAKAOTALK_TEMPLATE_COMMENT_ADDED
- KAKAOTALK_TEMPLATE_REJECTED
- RCS_SENDER_COMMENT_ADDED
- RCS_SENDER_OPERATOR_STATUS_UPDATED
- RCS_SENDER_STATUS_UPDATED
- RCS_ACCOUNT_COMMENT_ADDED
- WHATSAPP_ACCOUNT_COMMENT_ADDED
- WHATSAPP_ACCOUNT_ONBOARDED
- WHATSAPP_ACCOUNT_PENDING_VERIFICATION
- WHATSAPP_ACCOUNT_REJECTED
- WHATSAPP_WABA_ACCOUNT_CHANGED
- WHATSAPP_SENDER_ACTIVE
- WHATSAPP_SENDER_COMMENT_ADDED
- WHATSAPP_SENDER_DAILY_LIMIT_CHANGED
- WHATSAPP_SENDER_ERROR
- WHATSAPP_SENDER_INACTIVE
- WHATSAPP_SENDER_PENDING_VERIFICATION
- WHATSAPP_SENDER_QUALITY_RATING_CHANGED
- WHATSAPP_SENDER_REJECTED
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE
- WHATSAPP_TEMPLATE_CATEGORY_UPDATED
- WHATSAPP_TEMPLATE_COMMENT_ADDED
- WHATSAPP_TEMPLATE_DELETED
- WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED
- WHATSAPP_TEMPLATE_REJECTED
- WHATSAPP_TEMPLATE_STATUS_UPDATED
description: List of triggers this webhook is triggered by.
WebhookWebhookDto:
type: object
properties:
id:
type: string
description: The ID of the webhook.
uniqueItems: false
target:
type: string
description: The target url where events will be sent to.
uniqueItems: false
projectId:
type: string
description: The project that this webhook belongs to.
uniqueItems: false
triggers:
type: array
uniqueItems: true
description: List of triggers this webhook is triggered by.
items:
$ref: '#/components/schemas/WebhookWebhookTriggers'
required:
- id
- target
- projectId
- triggers
WebhookWebhookInputDto:
type: object
properties:
target:
type: string
description: A valid target url where events should be sent to.
maxLength: 742
minLength: 1
format: url
uniqueItems: false
secret:
type: string
description: Secret to be used to sign contents of webhooks sent by the provisioning API. You can then use the secret to verify the signature. Please not that secret should have a high entropy to be considered secure.
maxLength: 128
minLength: 1
uniqueItems: false
triggers:
type: array
uniqueItems: true
minItems: 1
description: |-
List of triggers you want to be notified about on your webhook. To be able to listen to all type of events use `ALL`.
- Common: `ALL`
- Bundles: `BUNDLE_DONE`
- WhatsApp Sender: `WHATSAPP_SENDER_ACTIVE`, `WHATSAPP_SENDER_COMMENT_ADDED`, `WHATSAPP_SENDER_DAILY_LIMIT_CHANGED`, `WHATSAPP_SENDER_ERROR`, `WHATSAPP_SENDER_INACTIVE`, `WHATSAPP_SENDER_PENDING_VERIFICATION`, `WHATSAPP_SENDER_QUALITY_RATING_CHANGED` or `WHATSAPP_SENDER_REJECTED`
- WhatsApp Template: `WHATSAPP_TEMPLATE_APPROVED`, `WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE`, `WHATSAPP_TEMPLATE_CATEGORY_UPDATED`, `WHATSAPP_TEMPLATE_COMMENT_ADDED`, `WHATSAPP_TEMPLATE_DELETED`, `WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED`, `WHATSAPP_TEMPLATE_REJECTED` or `WHATSAPP_TEMPLATE_STATUS_UPDATED`
- WhatsApp Account: `WHATSAPP_ACCOUNT_COMMENT_ADDED`, `WHATSAPP_ACCOUNT_ONBOARDED`, `WHATSAPP_ACCOUNT_PENDING_VERIFICATION`, `WHATSAPP_ACCOUNT_REJECTED` or `WHATSAPP_WABA_ACCOUNT_CHANGED`
- RCS Sender: `RCS_SENDER_COMMENT_ADDED`, `RCS_SENDER_OPERATOR_STATUS_UPDATED` or `RCS_SENDER_STATUS_UPDATED`
- KakaoTalk Sender: `KAKAOTALK_SENDER_ACTIVE`, `KAKAOTALK_SENDER_COMMENT_ADDED`, `KAKAOTALK_SENDER_INACTIVE` or `KAKAOTALK_SENDER_REJECTED`
- KakaoTalk Template: `KAKAOTALK_TEMPLATE_APPROVED`, `KAKAOTALK_TEMPLATE_COMMENT_ADDED` or `KAKAOTALK_TEMPLATE_REJECTED`
items:
$ref: '#/components/schemas/WebhookWebhookTriggers'
required:
- target
- secret
- triggers
WebhookUpdateWebhookInputDto:
type: object
properties:
target:
type: object
description: A valid target url where events should be sent to.
maxLength: 742
minLength: 1
format: url
uniqueItems: false
secret:
type: object
description: Secret to be used to sign contents of webhooks sent by the provisioning API. You can then use the secret to verify the signature. Please not that secret should have a high entropy to be considered secure.
maxLength: 128
minLength: 1
uniqueItems: false
triggers:
type: array
uniqueItems: true
minItems: 1
description: |-
List of triggers you want to be notified about on your webhook. To be able to listen to all type of events use `ALL`.
- Common: `ALL`
- Bundles: `BUNDLE_DONE`
- WhatsApp Sender: `WHATSAPP_SENDER_ACTIVE`, `WHATSAPP_SENDER_COMMENT_ADDED`, `WHATSAPP_SENDER_DAILY_LIMIT_CHANGED`, `WHATSAPP_SENDER_ERROR`, `WHATSAPP_SENDER_INACTIVE`, `WHATSAPP_SENDER_PENDING_VERIFICATION`, `WHATSAPP_SENDER_QUALITY_RATING_CHANGED` or `WHATSAPP_SENDER_REJECTED`
- WhatsApp Template: `WHATSAPP_TEMPLATE_APPROVED`, `WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE`, `WHATSAPP_TEMPLATE_CATEGORY_UPDATED`, `WHATSAPP_TEMPLATE_COMMENT_ADDED`, `WHATSAPP_TEMPLATE_DELETED`, `WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED`, `WHATSAPP_TEMPLATE_REJECTED` or `WHATSAPP_TEMPLATE_STATUS_UPDATED`
- WhatsApp Account: `WHATSAPP_ACCOUNT_COMMENT_ADDED`, `WHATSAPP_ACCOUNT_ONBOARDED`, `WHATSAPP_ACCOUNT_PENDING_VERIFICATION`, `WHATSAPP_ACCOUNT_REJECTED` or `WHATSAPP_WABA_ACCOUNT_CHANGED`
- RCS Sender: `RCS_SENDER_COMMENT_ADDED`, `RCS_SENDER_OPERATOR_STATUS_UPDATED` or `RCS_SENDER_STATUS_UPDATED`
- KakaoTalk Sender: `KAKAOTALK_SENDER_ACTIVE`, `KAKAOTALK_SENDER_COMMENT_ADDED`, `KAKAOTALK_SENDER_INACTIVE` or `KAKAOTALK_SENDER_REJECTED`
- KakaoTalk Template: `KAKAOTALK_TEMPLATE_APPROVED`, `KAKAOTALK_TEMPLATE_COMMENT_ADDED` or `KAKAOTALK_TEMPLATE_REJECTED`
items:
$ref: '#/components/schemas/WebhookWebhookTriggers'
WebhookWebhookListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
webhooks:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WebhookWebhookDto'
required:
- totalSize
- pageSize
- webhooks
WhatsappComponentTypeHeader:
type: string
enum:
- HEADER
WhatsappLocationHeaderComponentFormat:
type: string
enum:
- LOCATION
WhatsappLocationHeaderComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappLocationHeaderComponentFormat'
required:
- type
- format
WhatsappTextHeaderComponentFormat:
type: string
enum:
- TEXT
WhatsappTextHeaderComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTextHeaderComponentFormat'
text:
type: string
description: Text to show in the header
uniqueItems: false
example:
type: string
description: Example for the header variable.
uniqueItems: false
required:
- type
- format
WhatsappMediaHeaderComponentFormat:
type: string
enum:
- DOCUMENT
- IMAGE
- VIDEO
WhatsappMediaHeaderExampleDto:
type: object
properties:
url:
type: string
format: url
uniqueItems: false
WhatsappMediaHeaderComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappMediaHeaderComponentFormat'
example:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappMediaHeaderExampleDto'
required:
- type
- format
WhatsappComponentTypeBody:
type: string
enum:
- BODY
WhatsappBodyComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeBody'
text:
type: string
uniqueItems: false
examples:
description: Examples for the body variables.
uniqueItems: false
type: array
items:
type: string
addSecurityRecommendation:
type: boolean
uniqueItems: false
required:
- type
WhatsappComponentTypeFooter:
type: string
enum:
- FOOTER
WhatsappFooterComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeFooter'
text:
type: string
uniqueItems: false
codeExpirationMinutes:
type: number
uniqueItems: false
required:
- type
WhatsappButtonTypePhoneNumber:
type: string
enum:
- PHONE_NUMBER
WhatsappPhoneNumberButtonDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypePhoneNumber'
text:
type: string
uniqueItems: false
phoneNumber:
type: string
format: phone number
uniqueItems: false
required:
- type
WhatsappButtonTypeUrl:
type: string
enum:
- URL
WhatsappUrlButtonDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeUrl'
text:
type: string
uniqueItems: false
url:
type: string
format: url
uniqueItems: false
example:
type: string
format: url
uniqueItems: false
required:
- type
WhatsappButtonTypeQuickReply:
type: string
enum:
- QUICK_REPLY
WhatsappQuickReplyButtonDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeQuickReply'
text:
type: string
uniqueItems: false
required:
- type
WhatsappButtonTypeOtp:
type: string
enum:
- OTP
WhatsappOtpType:
type: string
enum:
- COPY_CODE
- ONE_TAP
- ZERO_TAP
- UNRECOGNIZED
WhatsappSupportedAppDto:
type: object
properties:
packageName:
type: string
uniqueItems: false
signatureHash:
type: string
uniqueItems: false
required:
- packageName
- signatureHash
WhatsappOtpButtonDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeOtp'
otpType:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappOtpType'
text:
type: string
uniqueItems: false
autofillText:
type: string
uniqueItems: false
packageName:
type: string
deprecated: true
uniqueItems: false
signatureHash:
type: string
deprecated: true
uniqueItems: false
supportedApps:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappSupportedAppDto'
zeroTapTermsAccepted:
type: boolean
uniqueItems: false
required:
- type
- otpType
WhatsappButtonTypeFlow:
type: string
enum:
- FLOW
WhatsappFlowAction:
type: string
enum:
- DATA_EXCHANGE
- NAVIGATE
- UNKNOWN
- UNRECOGNIZED
description: Flow action
WhatsappFlowButtonDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeFlow'
text:
type: string
description: Text to display on the Flow button
uniqueItems: false
flowId:
type: string
description: Flow ID to launch when button is pressed
uniqueItems: false
flowAction:
description: Flow action
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappFlowAction'
navigateScreen:
type: string
description: The unique ID of the first screen. Required for Navigate action.
uniqueItems: false
required:
- type
- flowId
WhatsappComponentTypeButtons:
type: string
enum:
- BUTTONS
WhatsappButtonsComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeButtons'
buttons:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappPhoneNumberButtonDto'
- $ref: '#/components/schemas/WhatsappUrlButtonDto'
- $ref: '#/components/schemas/WhatsappQuickReplyButtonDto'
- $ref: '#/components/schemas/WhatsappOtpButtonDto'
- $ref: '#/components/schemas/WhatsappFlowButtonDto'
uniqueItems: false
required:
- type
- buttons
WhatsappComponentTypeCarousel:
type: string
enum:
- CAROUSEL
WhatsappCardHeaderComponentFormats:
type: string
enum:
- IMAGE
- VIDEO
description: Card header format.
Whatsappcard_header_component_dto_CardHeaderComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
description: Card header format.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappCardHeaderComponentFormats'
example:
description: Uploaded media asset handle.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappMediaHeaderExampleDto'
required:
- type
- format
Whatsappcard_body_component_dto_CardBodyComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeBody'
examples:
description: Examples for the body variables.
uniqueItems: false
type: array
items:
type: string
text:
type: string
description: Card body text.
uniqueItems: false
required:
- type
Whatsappcard_buttons_component_dto_CardButtonsComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeButtons'
buttons:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappUrlButtonDto'
- $ref: '#/components/schemas/WhatsappQuickReplyButtonDto'
- $ref: '#/components/schemas/WhatsappPhoneNumberButtonDto'
description: Card buttons.
uniqueItems: false
required:
- type
- buttons
Whatsappcard_dto_CardDto:
type: object
properties:
components:
type: array
items:
anyOf:
- $ref: '#/components/schemas/Whatsappcard_header_component_dto_CardHeaderComponentDto'
- $ref: '#/components/schemas/Whatsappcard_body_component_dto_CardBodyComponentDto'
- $ref: '#/components/schemas/Whatsappcard_buttons_component_dto_CardButtonsComponentDto'
description: List of components in the cards.
uniqueItems: false
required:
- components
Whatsappcarousel_component_dto_CarouselComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeCarousel'
cards:
description: Media cards.
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/Whatsappcard_dto_CardDto'
required:
- type
- cards
WhatsappTemplateDetailsDto:
type: object
properties:
components:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappTextHeaderComponentDto'
- $ref: '#/components/schemas/WhatsappMediaHeaderComponentDto'
- $ref: '#/components/schemas/WhatsappBodyComponentDto'
- $ref: '#/components/schemas/WhatsappFooterComponentDto'
- $ref: '#/components/schemas/WhatsappButtonsComponentDto'
- $ref: '#/components/schemas/WhatsappLocationHeaderComponentDto'
- $ref: '#/components/schemas/Whatsappcarousel_component_dto_CarouselComponentDto'
description: List of components in the template. Must contain a BODY component and can only have one entry of each type.
uniqueItems: false
messageSendTtlSeconds:
type: number
description: |2-
Template message delivery retry time-to-live (TTL) override value. If unable to deliver the template message, it will be periodically retry for this period of time. If it is unable to deliver the message for this period of time, the message will be dropped.
| | AUTHENTICATION | MARKETING | UTILITY |
| -- | -- | -- | -- |
| Default | 10 minutes | 30 days | 30 days |
| Customizable range | 10 seconds to 15 minutes | 12 hours to 30 days | 30 seconds to 12 hours |
| Valid values | 10 to 900 seconds | 43200 to 2592000 seconds | 30 to 43200 seconds |
Please note that authentication templates created before October 23, 2024, have a default TTL of 30 days.
uniqueItems: false
required:
- components
WhatsappTemplateChangesDetailsDto:
type: object
properties:
components:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappTextHeaderComponentDto'
- $ref: '#/components/schemas/WhatsappMediaHeaderComponentDto'
- $ref: '#/components/schemas/WhatsappLocationHeaderComponentDto'
- $ref: '#/components/schemas/WhatsappBodyComponentDto'
- $ref: '#/components/schemas/WhatsappFooterComponentDto'
- $ref: '#/components/schemas/WhatsappButtonsComponentDto'
- $ref: '#/components/schemas/Whatsappcarousel_component_dto_CarouselComponentDto'
description: |2
The current status of the changes.
`DRAFT`: The changes has not been submitted.
`IN_PROGRESS`: The changes has been submitted.
uniqueItems: false
messageSendTtlSeconds:
type: number
description: |2-
Template message delivery retry time-to-live (TTL) override value. If unable to deliver the template message, it will be periodically retry for this period of time. If it is unable to deliver the message for this period of time, the message will be dropped.
| | AUTHENTICATION | MARKETING | UTILITY |
| -- | -- | -- | -- |
| Default | 10 minutes | 30 days | 30 days |
| Customizable range | 10 seconds to 15 minutes | 12 hours to 30 days | 30 seconds to 12 hours |
| Valid values | 10 to 900 seconds | 43200 to 2592000 seconds | 30 to 43200 seconds |
Please note that authentication templates created before October 23, 2024, have a default TTL of 30 days.
uniqueItems: false
WhatsappTemplateStatuses:
type: string
enum:
- DRAFT
- IN_PROGRESS
- REJECTED
description: |2
The current status of the changes.
`DRAFT`: The changes has not been submitted.
`IN_PROGRESS`: The changes has been submitted.
WhatsappTemplateChangesDto:
type: object
properties:
status:
description: |2
The current status of the changes.
`DRAFT`: The changes has not been submitted.
`IN_PROGRESS`: The changes has been submitted.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateStatuses'
allowCategoryChange:
type: boolean
description: True if Meta should be allowed to change the category if they determine the category is wrong. If false, Meta might reject the template if they determine the category is wrong based on the template contents. Defaults to false.
uniqueItems: false
details:
oneOf:
- $ref: '#/components/schemas/WhatsappTemplateDetailsDto'
description: For newly created template
- $ref: '#/components/schemas/WhatsappTemplateChangesDetailsDto'
description: For update template
description: Template details and information.
uniqueItems: false
required:
- status
WhatsappTemplateAnalyticsButtonTypes:
type: string
enum:
- QUICK_REPLY
- UNIQUE_URL
- URL
- UNRECOGNIZED
description: Type of button.
WhatsappTemplateAnalyticsButtonsDto:
type: object
properties:
type:
description: Type of button.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateAnalyticsButtonTypes'
content:
type: string
description: Content of the button.
uniqueItems: false
clicks:
type: number
description: Number of times the button has been clicked.
uniqueItems: false
required:
- type
- content
- clicks
WhatsappTemplateAnalyticsDto:
type: object
properties:
sent:
type: number
description: Number of times template has been sent.
uniqueItems: false
delivered:
type: number
description: Number of times template has been delivered.
uniqueItems: false
read:
type: number
description: Number of times template has been read.
uniqueItems: false
start:
type: string
description: The UTC Date Time in ISO 8601 for start of date range.
uniqueItems: false
end:
type: string
description: The UTC Date Time in ISO 8601 for end of date range.
uniqueItems: false
buttons:
type: array
items:
$ref: '#/components/schemas/WhatsappTemplateAnalyticsButtonsDto'
description: Number of times buttons in the template has been clicked.
uniqueItems: false
required:
- sent
- delivered
- read
- start
- end
- buttons
WhatsappTemplateStates:
type: string
enum:
- APPROVED
- DISABLED
- PAUSED
- REJECTED
WhatsappTemplateLanguages:
type: string
enum:
- AF
- AR
- AZ
- BG
- BN
- CA
- CS
- DA
- DE
- EL
- EN
- EN_GB
- EN_US
- ES
- ES_AR
- ES_ES
- ES_MX
- ET
- FA
- FI
- FIL
- FR
- GA
- GU
- HA
- HE
- HI
- HR
- HU
- ID
- IT
- JA
- KA
- KK
- KN
- KO
- KY_KG
- LO
- LT
- LV
- MK
- ML
- MR
- MS
- NB
- NL
- PA
- PL
- PT_BR
- PT_PT
- RO
- RU
- RW_RW
- SK
- SL
- SQ
- SR
- SV
- SW
- TA
- TE
- TH
- TR
- UK
- UR
- UZ
- VI
- ZH_CN
- ZH_HK
- ZH_TW
- ZU
- UNRECOGNIZED
WhatsappTemplateCategory:
type: string
enum:
- AUTHENTICATION
- MARKETING
- UTILITY
- UNRECOGNIZED
WhatsappTemplateRejectionCode:
type: string
enum:
- ABUSIVE_CONTENT
- INCORRECT_CATEGORY
- INVALID_FORMAT
- NONE
- SCAM
- UNRECOGNIZED
description: Rejection code if template is in status 'REJECTED'
WhatsappTemplateQualityScore:
type: string
enum:
- QUALITY_SCORE_GREEN
- QUALITY_SCORE_RED
- QUALITY_SCORE_YELLOW
- QUALITY_SCORE_UNKNOWN
- UNRECOGNIZED
description: Quality score of the HSM.
WhatsappTemplateDto:
type: object
properties:
whatsappId:
type: string
uniqueItems: false
state:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateStates'
name:
type: string
uniqueItems: false
language:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateLanguages'
category:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateCategory'
rejectionCode:
description: Rejection code if template is in status 'REJECTED'
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateRejectionCode'
qualityScore:
description: Quality score of the HSM.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateQualityScore'
changes:
description: Object containing changes on the template. If empty the changes has been approved and applied to the template.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateChangesDto'
details:
description: Template details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDetailsDto'
analytics:
type: array
items:
$ref: '#/components/schemas/WhatsappTemplateAnalyticsDto'
description: Template analytics.
uniqueItems: false
required:
- name
- language
- category
- analytics
WhatsappPartialTextHeaderComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTextHeaderComponentFormat'
text:
type: string
description: Text to show in the header
uniqueItems: false
example:
type: string
description: Example for the header variable.
uniqueItems: false
WhatsappPartialMediaHeaderExampleDto:
type: object
properties:
url:
type: string
format: url
uniqueItems: false
WhatsappPartialMediaHeaderComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappMediaHeaderComponentFormat'
example:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappPartialMediaHeaderExampleDto'
WhatsappPartialBodyComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeBody'
text:
type: string
uniqueItems: false
examples:
description: Examples for the body variables.
uniqueItems: false
type: array
items:
type: string
addSecurityRecommendation:
type: boolean
uniqueItems: false
WhatsappPartialFooterComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeFooter'
text:
type: string
uniqueItems: false
codeExpirationMinutes:
type: number
uniqueItems: false
WhatsappPartialLocationHeaderComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappLocationHeaderComponentFormat'
WhatsappPartialCardHeaderComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
description: Card header format.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappCardHeaderComponentFormats'
example:
description: Uploaded media asset handle.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappPartialMediaHeaderExampleDto'
WhatsappPartialCardBodyComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeBody'
examples:
description: Examples for the body variables.
uniqueItems: false
type: array
items:
type: string
text:
type: string
description: Card body text.
uniqueItems: false
WhatsappPartialUrlButtonDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeUrl'
text:
type: string
uniqueItems: false
url:
type: string
format: url
uniqueItems: false
example:
type: string
format: url
uniqueItems: false
WhatsappPartialQuickReplyButtonDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeQuickReply'
text:
type: string
uniqueItems: false
WhatsappPartialPhoneNumberButtonDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypePhoneNumber'
text:
type: string
uniqueItems: false
phoneNumber:
type: string
format: phone number
uniqueItems: false
WhatsappPartialCardButtonsComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeButtons'
buttons:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappPartialUrlButtonDto'
- $ref: '#/components/schemas/WhatsappPartialQuickReplyButtonDto'
- $ref: '#/components/schemas/WhatsappPartialPhoneNumberButtonDto'
description: Card buttons.
uniqueItems: false
WhatsappPartialCardDto:
type: object
properties:
components:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappPartialCardHeaderComponentDto'
- $ref: '#/components/schemas/WhatsappPartialCardBodyComponentDto'
- $ref: '#/components/schemas/WhatsappPartialCardButtonsComponentDto'
description: List of components in the cards.
uniqueItems: false
WhatsappPartialCarouselComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeCarousel'
cards:
description: Media cards.
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappPartialCardDto'
WhatsappPartialTemplateDetailsDto:
type: object
properties:
messageSendTtlSeconds:
type: number
description: |2-
Template message delivery retry time-to-live (TTL) override value. If unable to deliver the template message, it will be periodically retry for this period of time. If it is unable to deliver the message for this period of time, the message will be dropped.
| | AUTHENTICATION | MARKETING | UTILITY |
| -- | -- | -- | -- |
| Default | 10 minutes | 30 days | 30 days |
| Customizable range | 10 seconds to 15 minutes | 12 hours to 30 days | 30 seconds to 12 hours |
| Valid values | 10 to 900 seconds | 43200 to 2592000 seconds | 30 to 43200 seconds |
Please note that authentication templates created before October 23, 2024, have a default TTL of 30 days.
uniqueItems: false
components:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappPartialTextHeaderComponentDto'
- $ref: '#/components/schemas/WhatsappPartialMediaHeaderComponentDto'
- $ref: '#/components/schemas/WhatsappPartialBodyComponentDto'
- $ref: '#/components/schemas/WhatsappPartialFooterComponentDto'
- $ref: '#/components/schemas/WhatsappPartialButtonsComponentDto'
- $ref: '#/components/schemas/WhatsappPartialLocationHeaderComponentDto'
- $ref: '#/components/schemas/WhatsappPartialCarouselComponentDto'
description: List of components in the template. Must contain a BODY component and can only have one entry of each type.
uniqueItems: false
WhatsappPartialOtpButtonDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeOtp'
otpType:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappOtpType'
text:
type: string
uniqueItems: false
autofillText:
type: string
uniqueItems: false
packageName:
type: string
deprecated: true
uniqueItems: false
signatureHash:
type: string
deprecated: true
uniqueItems: false
supportedApps:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappSupportedAppDto'
zeroTapTermsAccepted:
type: boolean
uniqueItems: false
WhatsappPartialFlowButtonDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeFlow'
text:
type: string
description: Text to display on the Flow button
uniqueItems: false
flowId:
type: string
description: Flow ID to launch when button is pressed
uniqueItems: false
flowAction:
description: Flow action
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappFlowAction'
navigateScreen:
type: string
description: The unique ID of the first screen. Required for Navigate action.
uniqueItems: false
WhatsappPartialButtonsComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeButtons'
buttons:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappPartialPhoneNumberButtonDto'
- $ref: '#/components/schemas/WhatsappPartialUrlButtonDto'
- $ref: '#/components/schemas/WhatsappPartialQuickReplyButtonDto'
- $ref: '#/components/schemas/WhatsappPartialOtpButtonDto'
- $ref: '#/components/schemas/WhatsappPartialFlowButtonDto'
uniqueItems: false
WhatsappPartialTemplateChangesDto:
type: object
properties:
status:
description: |2
The current status of the changes.
`DRAFT`: The changes has not been submitted.
`IN_PROGRESS`: The changes has been submitted.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateStatuses'
allowCategoryChange:
type: boolean
description: True if Meta should be allowed to change the category if they determine the category is wrong. If false, Meta might reject the template if they determine the category is wrong based on the template contents. Defaults to false.
uniqueItems: false
details:
oneOf:
- $ref: '#/components/schemas/WhatsappPartialTemplateDetailsDto'
description: For newly created template
- $ref: '#/components/schemas/WhatsappTemplateChangesDetailsDto'
description: For update template
description: Template details and information.
uniqueItems: false
WhatsappPartialTemplateAnalyticsButtonsDto:
type: object
properties:
type:
description: Type of button.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateAnalyticsButtonTypes'
content:
type: string
description: Content of the button.
uniqueItems: false
clicks:
type: number
description: Number of times the button has been clicked.
uniqueItems: false
WhatsappPartialTemplateAnalyticsDto:
type: object
properties:
sent:
type: number
description: Number of times template has been sent.
uniqueItems: false
delivered:
type: number
description: Number of times template has been delivered.
uniqueItems: false
read:
type: number
description: Number of times template has been read.
uniqueItems: false
start:
type: string
description: The UTC Date Time in ISO 8601 for start of date range.
uniqueItems: false
end:
type: string
description: The UTC Date Time in ISO 8601 for end of date range.
uniqueItems: false
buttons:
type: array
items:
$ref: '#/components/schemas/WhatsappPartialTemplateAnalyticsButtonsDto'
description: Number of times buttons in the template has been clicked.
uniqueItems: false
WhatsappPartialTemplateDto:
type: object
properties:
whatsappId:
type: string
uniqueItems: false
state:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateStates'
name:
type: string
uniqueItems: false
language:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateLanguages'
category:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateCategory'
rejectionCode:
description: Rejection code if template is in status 'REJECTED'
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateRejectionCode'
qualityScore:
description: Quality score of the HSM.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateQualityScore'
changes:
description: Object containing changes on the template. If empty the changes has been approved and applied to the template.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappPartialTemplateChangesDto'
details:
description: Template details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappPartialTemplateDetailsDto'
analytics:
type: array
items:
$ref: '#/components/schemas/WhatsappPartialTemplateAnalyticsDto'
description: Template analytics.
uniqueItems: false
WhatsappTemplateLanguagesEnum:
type: string
enum:
- AF
- AR
- AZ
- BG
- BN
- CA
- CS
- DA
- DE
- EL
- EN
- EN_GB
- EN_US
- ES
- ES_AR
- ES_ES
- ES_MX
- ET
- FA
- FI
- FIL
- FR
- GA
- GU
- HA
- HE
- HI
- HR
- HU
- ID
- IT
- JA
- KA
- KK
- KN
- KO
- KY_KG
- LO
- LT
- LV
- MK
- ML
- MR
- MS
- NB
- NL
- PA
- PL
- PT_BR
- PT_PT
- RO
- RU
- RW_RW
- SK
- SL
- SQ
- SR
- SV
- SW
- TA
- TE
- TH
- TR
- UK
- UR
- UZ
- VI
- ZH_CN
- ZH_HK
- ZH_TW
- ZU
- UNRECOGNIZED
WhatsappTemplateDtoFieldMaskPathsEnum:
type: string
enum:
- whatsappId
- state
- name
- language
- category
- rejectionCode
- qualityScore
- changes
- changes.status
- changes.allowCategoryChange
- changes.details
- changes.details.components
- changes.details.components.0.type
- changes.details.components.0.format
- changes.details.components.0.text
- changes.details.components.0.example
- changes.details.components.0.example.url
- changes.details.components.0.examples
- changes.details.components.0.addSecurityRecommendation
- changes.details.components.0.codeExpirationMinutes
- changes.details.components.0.buttons
- changes.details.components.0.buttons.0.type
- changes.details.components.0.buttons.0.text
- changes.details.components.0.buttons.0.phoneNumber
- changes.details.components.0.buttons.0.url
- changes.details.components.0.buttons.0.example
- changes.details.components.0.buttons.0.otpType
- changes.details.components.0.buttons.0.autofillText
- changes.details.components.0.buttons.0.packageName
- changes.details.components.0.buttons.0.signatureHash
- changes.details.components.0.buttons.0.supportedApps
- changes.details.components.0.buttons.0.supportedApps.0.packageName
- changes.details.components.0.buttons.0.supportedApps.0.signatureHash
- changes.details.components.0.buttons.0.zeroTapTermsAccepted
- changes.details.components.0.buttons.0.flowId
- changes.details.components.0.buttons.0.flowAction
- changes.details.components.0.buttons.0.navigateScreen
- changes.details.messageSendTtlSeconds
- details
- details.components
- details.components.0.type
- details.components.0.format
- details.components.0.text
- details.components.0.example
- details.components.0.example.url
- details.components.0.examples
- details.components.0.addSecurityRecommendation
- details.components.0.codeExpirationMinutes
- details.components.0.buttons
- details.components.0.buttons.0.type
- details.components.0.buttons.0.text
- details.components.0.buttons.0.phoneNumber
- details.components.0.buttons.0.url
- details.components.0.buttons.0.example
- details.components.0.buttons.0.otpType
- details.components.0.buttons.0.autofillText
- details.components.0.buttons.0.packageName
- details.components.0.buttons.0.signatureHash
- details.components.0.buttons.0.supportedApps
- details.components.0.buttons.0.supportedApps.0.packageName
- details.components.0.buttons.0.supportedApps.0.signatureHash
- details.components.0.buttons.0.zeroTapTermsAccepted
- details.components.0.buttons.0.flowId
- details.components.0.buttons.0.flowAction
- details.components.0.buttons.0.navigateScreen
- details.messageSendTtlSeconds
- analytics
- analytics.0.sent
- analytics.0.delivered
- analytics.0.read
- analytics.0.start
- analytics.0.end
- analytics.0.buttons
- analytics.0.buttons.0.type
- analytics.0.buttons.0.content
- analytics.0.buttons.0.clicks
WhatsappTemplateAnalyticsDateRangesEnum:
type: string
enum:
- DAY
- MONTH
- QUARTER
- WEEK
WhatsappTemplateListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
templates:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappTemplateDto'
required:
- totalSize
- pageSize
- templates
WhatsappPartialTemplateListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
templates:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappPartialTemplateDto'
required:
- totalSize
- pageSize
- templates
WhatsappTemplateStatesEnum:
type: string
enum:
- APPROVED
- DISABLED
- PAUSED
- REJECTED
WhatsappTemplateStatusesEnum:
type: string
enum:
- DRAFT
- IN_PROGRESS
- REJECTED
WhatsappLocationHeaderComponentInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappLocationHeaderComponentFormat'
required:
- type
- format
WhatsappTextHeaderComponentInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTextHeaderComponentFormat'
text:
type: string
maxLength: 60
minLength: 1
description: Text to show in the header. Can contain one header variable. Not required for draft.
uniqueItems: false
example:
type: string
minLength: 1
description: Example for the header variable. Required if there is a variable in the text header.
uniqueItems: false
required:
- type
- format
- text
WhatsappInputMediaHeaderExampleSupportedMimeTypes:
type: string
enum:
- IMAGE/JPEG
- IMAGE/PNG
- APPLICATION/PDF
- VIDEO/3GP
- VIDEO/MP4
description: Optional mime type of file if it can not be determined by the file contents.
WhatsappMediaHeaderExampleInputDto:
type: object
properties:
url:
type: string
format: url
description: |-
File Requirements
1) Image
- Images must be 8-bit, RGB or RGBA
- supported mime types: `image/jpeg` or `image/png`
- max file size: `5MB`
2) Video
- Only H.264 video codec and AAC audio codec is supported.
- We support videos with a single audio stream or no audio stream.
- supported mime types: `video/3gp` or `video/mp4`
- max file size: `16MB`
3) Document
- supported mime types: `application/pdf`
- max file size: `100MB`
Not required for draft.
uniqueItems: false
mimeType:
description: Optional mime type of file if it can not be determined by the file contents.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputMediaHeaderExampleSupportedMimeTypes'
required:
- url
WhatsappMediaHeaderComponentInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappMediaHeaderComponentFormat'
example:
description: Not required for draft.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappMediaHeaderExampleInputDto'
required:
- type
- format
- example
WhatsappBodyComponentInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeBody'
text:
type: string
minLength: 1
maxLength: 1024
uniqueItems: false
examples:
description: Examples for the body variables. Requires one example for each variable in the body text. If no variables are used, the examples are optional.
uniqueItems: false
type: array
items:
type: string
minLength: 1
addSecurityRecommendation:
type: boolean
default: false
description: Only valid if template category is AUTHENTICATION. If true, adds a security recommendation to the body. Defaults to false.
uniqueItems: false
required:
- type
WhatsappFooterComponentInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeFooter'
text:
type: string
maxLength: 60
uniqueItems: false
codeExpirationMinutes:
type: number
description: Only valid if template category is AUTHENTICATION. If set will add a text detailing the expiration time.
uniqueItems: false
required:
- type
WhatsappPhoneNumberButtonInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypePhoneNumber'
text:
type: string
minLength: 1
maxLength: 25
description: Not required for draft.
uniqueItems: false
phoneNumber:
type: string
format: phone number
description: Not required for draft.
uniqueItems: false
required:
- type
- text
- phoneNumber
WhatsappUrlButtonInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeUrl'
text:
type: string
minLength: 1
maxLength: 25
description: Not required for draft.
uniqueItems: false
url:
type: string
format: url
description: |2-
The url address. To make it dynamic you can add '{{1}}' to the end of the url eg,
https://www.my-website.com?name={{1}}, and not
https://www.my-{{1}}.com.
Restricted domains: `facebook.com`, `fbcdn.net`, `instagram.com`, `tfbnw.net`, `wa.me` or `whatsapp.com`
Not required for draft.
uniqueItems: false
example:
type: string
format: url
description: |2-
Example of the full url together with the dynamic value. Required if there is a {{1}} in the URL field, eg
If the 'url' field is 'https://www.my-website.com?name={{1}}', then example can have the following value
'example' = 'https://www.my-website.com?name=john'
Not required for draft.
uniqueItems: false
required:
- type
- text
- url
WhatsappQuickReplyButtonInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeQuickReply'
text:
type: string
minLength: 1
maxLength: 25
description: Not required for draft.
uniqueItems: false
required:
- type
- text
WhatsappInputOtpType:
type: string
enum:
- COPY_CODE
- ONE_TAP
- ZERO_TAP
WhatsappSupportedAppInputDto:
type: object
properties:
packageName:
type: string
description: Your Android app's package name.
uniqueItems: false
signatureHash:
type: string
description: Your app signing key hash.
uniqueItems: false
required:
- packageName
- signatureHash
WhatsappOtpButtonInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeOtp'
otpType:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputOtpType'
text:
type: string
minLength: 1
maxLength: 25
description: Not required for draft.
uniqueItems: false
autofillText:
type: string
maxLength: 25
description: One-tap autofill button label text.
uniqueItems: false
packageName:
type: string
deprecated: true
description: Your Android app's package name.
uniqueItems: false
signatureHash:
type: string
deprecated: true
description: Your app signing key hash.
uniqueItems: false
supportedApps:
description: List of supported apps for the OTP button.
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappSupportedAppInputDto'
zeroTapTermsAccepted:
type: boolean
description: Set to true to indicate that you understand that your use of zero-tap authentication is subject to the WhatsApp Business Terms of Service, and that it's your responsibility to ensure your customers expect that the code will be automatically filled in on their behalf when they choose to receive the zero-tap code through WhatsApp.
uniqueItems: false
required:
- type
- otpType
- text
WhatsappInputFlowAction:
type: string
enum:
- DATA_EXCHANGE
- NAVIGATE
description: Flow action
WhatsappFlowButtonInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappButtonTypeFlow'
text:
type: string
minLength: 1
maxLength: 25
description: Text to display on the Flow button
uniqueItems: false
flowId:
type: string
minLength: 1
maxLength: 30
description: Flow ID to launch when button is pressed
format: digits
uniqueItems: false
flowAction:
description: Flow action
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputFlowAction'
navigateScreen:
type: string
minLength: 1
maxLength: 432
description: The unique ID of the first screen. Required for Navigate action.
uniqueItems: false
required:
- type
- text
- flowId
- flowAction
WhatsappButtonsComponentInputDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeButtons'
buttons:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappFlowButtonInputDto'
- $ref: '#/components/schemas/WhatsappOtpButtonInputDto'
- $ref: '#/components/schemas/WhatsappPhoneNumberButtonInputDto'
- $ref: '#/components/schemas/WhatsappQuickReplyButtonInputDto'
- $ref: '#/components/schemas/WhatsappUrlButtonInputDto'
minItems: 1
description: Not required for draft. Each field in (value, text) must have unique values across items.
uniqueItems: true
required:
- type
- buttons
WhatsappInputCardMediaHeaderExampleDto:
type: object
properties:
url:
type: string
format: url
description: |-
File Requirements
1) Image
- Images must be 8-bit, RGB or RGBA
- supported mime types: `image/jpeg` or `image/png`
- max file size: `5MB`
2) Video
- Only H.264 video codec and AAC audio codec is supported.
- We support videos with a single audio stream or no audio stream.
- supported mime types: `video/3gp` or `video/mp4`
- max file size: `16MB`
Not required for draft.
uniqueItems: false
mimeType:
description: Optional mime type of file if it can not be determined by the file contents.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputMediaHeaderExampleSupportedMimeTypes'
required:
- url
WhatsappInputCardHeaderComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeHeader'
format:
description: Card header format.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappCardHeaderComponentFormats'
example:
description: |
Uploaded media asset handle.
Media assets are automatically cropped to a wide ratio based on the WhatsApp user's device.
Not required for draft.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputCardMediaHeaderExampleDto'
required:
- type
- format
- example
WhatsappInputCardBodyComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeBody'
examples:
description: Examples for the body variables. Requires one example for each variable in the body text. If no variables are used, the examples are optional.
uniqueItems: false
type: array
items:
type: string
minLength: 1
text:
type: string
minLength: 1
maxLength: 160
description: Card body text. Supports variables. Not required for draft.
uniqueItems: false
required:
- type
- text
WhatsappInputCardButtonsComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeButtons'
buttons:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappUrlButtonInputDto'
- $ref: '#/components/schemas/WhatsappQuickReplyButtonInputDto'
- $ref: '#/components/schemas/WhatsappPhoneNumberButtonInputDto'
minItems: 1
maxItems: 2
description: |-
Card buttons.
Button combinations can be a mix of quick reply buttons, phone number buttons, and URL buttons.
Not required for draft.
Fields (type, text) must not all share the same value across items.
uniqueItems: true
required:
- type
- buttons
WhatsappInputCardDto:
type: object
properties:
components:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappInputCardHeaderComponentDto'
- $ref: '#/components/schemas/WhatsappInputCardBodyComponentDto'
- $ref: '#/components/schemas/WhatsappInputCardButtonsComponentDto'
description: |-
List of components in the cards.
Each card in the template has an image or video header asset, card body text, and up to two buttons.
All cards defined on a template must have the same components.
Not required for draft.
Field 'type' must have unique values across items.
uniqueItems: true
required:
- components
WhatsappInputCarouselComponentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappComponentTypeCarousel'
cards:
type: array
items:
$ref: '#/components/schemas/WhatsappInputCardDto'
minItems: 1
maxItems: 10
description: |
Media cards.
All cards defined on a template must have the same components.
It is only necessary to define two product cards upon template creation.
An approved template with two product cards can be used to send up to 10 cards in a template message.
Not required for draft.
uniqueItems: false
required:
- type
- cards
WhatsappTemplateDetailsInputDto:
type: object
properties:
components:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappLocationHeaderComponentInputDto'
- $ref: '#/components/schemas/WhatsappTextHeaderComponentInputDto'
- $ref: '#/components/schemas/WhatsappMediaHeaderComponentInputDto'
- $ref: '#/components/schemas/WhatsappBodyComponentInputDto'
- $ref: '#/components/schemas/WhatsappFooterComponentInputDto'
- $ref: '#/components/schemas/WhatsappButtonsComponentInputDto'
- $ref: '#/components/schemas/WhatsappInputCarouselComponentDto'
description: List of components in the template. Must contain a BODY component and can only have one entry of each type. Not required for draft. Field 'type' must have unique values across items.
uniqueItems: true
messageSendTtlSeconds:
type: number
description: |2-
Template message delivery retry time-to-live (TTL) override value. If unable to deliver the template message, it will be periodically retry for this period of time. If it is unable to deliver the message for this period of time, the message will be dropped.
| | AUTHENTICATION | MARKETING | UTILITY |
| -- | -- | -- | -- |
| Default | 10 minutes | 30 days | 30 days |
| Customizable range | 10 seconds to 15 minutes | 12 hours to 30 days | 30 seconds to 12 hours |
| Valid values | 10 to 900 seconds | 43200 to 2592000 seconds | 30 to 43200 seconds |
Please note that authentication templates created before October 23, 2024, have a default TTL of 30 days.
uniqueItems: false
required:
- components
WhatsappActions:
type: string
enum:
- DRAFT
- SUBMIT
description: Create as draft or submit. Defaults to submit.
WhatsappInputTemplateLanguages:
type: string
enum:
- AF
- AR
- AZ
- BG
- BN
- CA
- CS
- DA
- DE
- EL
- EN
- EN_GB
- EN_US
- ES
- ES_AR
- ES_ES
- ES_MX
- ET
- FA
- FI
- FIL
- FR
- GA
- GU
- HA
- HE
- HI
- HR
- HU
- ID
- IT
- JA
- KA
- KK
- KN
- KO
- KY_KG
- LO
- LT
- LV
- MK
- ML
- MR
- MS
- NB
- NL
- PA
- PL
- PT_BR
- PT_PT
- RO
- RU
- RW_RW
- SK
- SL
- SQ
- SR
- SV
- SW
- TA
- TE
- TH
- TR
- UK
- UR
- UZ
- VI
- ZH_CN
- ZH_HK
- ZH_TW
- ZU
WhatsappTemplateInputCategory:
type: string
enum:
- AUTHENTICATION
- MARKETING
- UTILITY
WhatsappTemplateInputDto:
type: object
properties:
status:
description: Create as draft or submit. Defaults to submit.
default: SUBMIT
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappActions'
name:
type: string
pattern: ^[a-z0-9][a-z0-9_]*[a-z0-9]$
maxLength: 512
uniqueItems: false
language:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputTemplateLanguages'
category:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateInputCategory'
saveDraftOnFailure:
type: boolean
default: false
description: Flag to save template as draft if submission fails. Defaults to false.
uniqueItems: false
allowCategoryChange:
type: boolean
default: false
description: True if Meta should be allowed to change the category if they determine the category is wrong. If false, Meta might reject the template if they determine the category is wrong based on the template contents. Defaults to false.
uniqueItems: false
details:
description: '''Template input details and information.'' Not required for draft.'
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateDetailsInputDto'
required:
- name
- language
- category
- details
WhatsappUpdateTemplateDetailsInputDto:
type: object
properties:
components:
type: array
items:
anyOf:
- $ref: '#/components/schemas/WhatsappLocationHeaderComponentInputDto'
- $ref: '#/components/schemas/WhatsappTextHeaderComponentInputDto'
- $ref: '#/components/schemas/WhatsappMediaHeaderComponentInputDto'
- $ref: '#/components/schemas/WhatsappBodyComponentInputDto'
- $ref: '#/components/schemas/WhatsappFooterComponentInputDto'
- $ref: '#/components/schemas/WhatsappButtonsComponentInputDto'
- $ref: '#/components/schemas/WhatsappInputCarouselComponentDto'
description: List of components in the template. Must contain a BODY component and can only have one entry of each type. Not required for draft. Field 'type' must have unique values across items.
uniqueItems: true
messageSendTtlSeconds:
type: number
description: |2-
Template message delivery retry time-to-live (TTL) override value. If unable to deliver the template message, it will be periodically retry for this period of time. If it is unable to deliver the message for this period of time, the message will be dropped.
| | AUTHENTICATION | MARKETING | UTILITY |
| -- | -- | -- | -- |
| Default | 10 minutes | 30 days | 30 days |
| Customizable range | 10 seconds to 15 minutes | 12 hours to 30 days | 30 seconds to 12 hours |
| Valid values | 10 to 900 seconds | 43200 to 2592000 seconds | 30 to 43200 seconds |
Please note that authentication templates created before October 23, 2024, have a default TTL of 30 days.
uniqueItems: false
WhatsappUpdateTemplateInputDto:
type: object
properties:
status:
default: DRAFT
description: Create as draft or submit. Defaults to draft.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappActions'
category:
description: Works if status template is DRAFT or it was rejected with INCORRECT_CATEGORY.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateInputCategory'
allowCategoryChange:
type: boolean
default: false
description: Works if status template is DRAFT or it was rejected with INCORRECT_CATEGORY True if Meta should be allowed to change the category if they determine the category is wrong. If false, Meta might reject the template if they determine the category is wrong based on the template contents. Defaults to false.
uniqueItems: false
details:
description: '''Template input details and information.'' Not required for draft.'
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappUpdateTemplateDetailsInputDto'
WhatsappCommentType:
type: string
enum:
- CREATED
WhatsappCommentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappCommentType'
comment:
type: string
uniqueItems: false
created:
type: string
uniqueItems: false
required:
- type
- comment
WhatsappCommentInputDto:
type: object
properties:
comment:
type: string
minLength: 1
maxLength: 65535
uniqueItems: false
required:
- comment
WhatsappTemplateNotificationType:
type: string
enum:
- COMMENT_ADDED
- CREATED
- DRAFT
- EDITED
- IN_PROGRESS
- REJECTED
WhatsappTemplateNotificationDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateNotificationType'
created:
type: string
uniqueItems: false
author:
type: string
uniqueItems: false
comment:
type: string
uniqueItems: false
required:
- type
WhatsappTemplateNotificationListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
notifications:
type: array
items:
$ref: '#/components/schemas/WhatsappTemplateNotificationDto'
uniqueItems: false
required:
- totalSize
- pageSize
- notifications
WhatsappTemplateCompareBlockReasons:
type: string
enum:
- NO_LONGER_NEEDED
- NO_REASON
- NO_REASON_GIVEN
- NO_SIGN_UP
- OFFENSIVE_MESSAGES
- OTHER
- OTP_DID_NOT_REQUEST
- SPAM
- UNKNOWN_BLOCK_REASON
- UNRECOGNIZED
description: Block reason
WhatsappTemplateCompareIdentifierDto:
type: object
properties:
name:
type: string
description: Template name
uniqueItems: false
language:
description: Template language
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateLanguages'
blockOrder:
type: number
description: Order of block rate
uniqueItems: false
messageSends:
type: number
description: Message send number
uniqueItems: false
topBlockReason:
description: Block reason
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateCompareBlockReasons'
required:
- name
- language
- blockOrder
- messageSends
- topBlockReason
WhatsappTemplateCompareDto:
type: object
properties:
templates:
type: array
items:
$ref: '#/components/schemas/WhatsappTemplateCompareIdentifierDto'
description: List of templates
uniqueItems: false
required:
- templates
WhatsappInputTemplateCompareIdentifierDto:
type: object
properties:
templateName:
type: string
pattern: ^[a-z0-9][a-z0-9_]*[a-z0-9]$
description: Template name
uniqueItems: false
templateLanguage:
description: Template language
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappTemplateLanguages'
required:
- templateName
- templateLanguage
WhatsappInputTemplateCompareTimeframes:
type: string
enum:
- '30'
- '60'
- '7'
- '90'
description: Timeframes are limited to 7, 30, 60 and 90 day lookbacks from the time of the request
WhatsappInputTemplateCompareDto:
type: object
properties:
templates:
type: array
items:
$ref: '#/components/schemas/WhatsappInputTemplateCompareIdentifierDto'
minItems: 1
maxItems: 1
description: List of templates
uniqueItems: false
timeframe:
default: '7'
description: Timeframes are limited to 7, 30, 60 and 90 day lookbacks from the time of the request
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputTemplateCompareTimeframes'
endTimestamp:
type: number
format: timestamp
default: 1759761503479
description: End of timeframe
uniqueItems: false
required:
- templates
WhatsappSenderStates:
type: string
enum:
- ACTIVE
- IN_PROGRESS
- INACTIVE
- PENDING_VERIFICATION
- SUSPENDED
- ERROR
description: The current state of the sender.
WhatsappSenderWhatsAppVertical:
type: string
enum:
- ALCOHOL
- AUTOMOTIVE
- BEAUTY_SPA_SALON
- CLOTHING_AND_APPAREL
- EDUCATION
- ENTERTAINMENT
- EVENT_PLANNING_AND_SERVICE
- FINANCE_AND_BANKING
- FOOD_AND_GROCERY
- HOTEL_AND_LODGING
- MEDICAL_AND_HEALTH
- NON_PROFIT
- ONLINE_GAMBLING
- OTC_DRUGS
- OTHER
- PHYSICAL_GAMBLING
- PROFESSIONAL_SERVICES
- PUBLIC_SERVICE
- RESTAURANT
- SHOPPING_AND_RETAIL
- TRAVEL_AND_TRANSPORTATION
- UNRECOGNIZED
description: Category of the sender displayed in the Business Info within WhatsApp.
WhatsappSenderDetailsDto:
type: object
properties:
displayName:
type: string
description: Sender display name within WhatsApp.
uniqueItems: false
description:
type: string
description: Description of the sender displayed in the Business Info within WhatsApp.
uniqueItems: false
vertical:
description: Category of the sender displayed in the Business Info within WhatsApp.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderWhatsAppVertical'
email:
type: string
description: Contact email displayed in the Business Info within WhatsApp.
uniqueItems: false
address:
type: string
description: Business address displayed in the Business Info within WhatsApp.
uniqueItems: false
websiteOne:
type: string
description: Business website displayed in the Business Info within WhatsApp.
uniqueItems: false
websiteTwo:
type: string
description: Second business website displayed in the Business Info within WhatsApp.
uniqueItems: false
about:
type: string
description: |-
About text displayed in the Business Info within WhatsApp.
- Hyperlinks can be included but will not render as clickable links.
- Markdown is not supported.
uniqueItems: false
photoUrl:
type: string
description: |-
URL to the sender image displayed in WhatsApp.
- Supported mime types: `image/jpeg`, `image/png` or `image/webp`.
- Maximum file size: 5MB.
- Minimum image dimensions: 192 x 192 px.
- Maximum image dimensions: 640 x 640 px.
- Image will be cropped to maximum image dimensions.
- If you submit a PNG image with a transparent background, the background will be rendered as black.
uniqueItems: false
required:
- displayName
- vertical
WhatsappSenderChangesDetailsDto:
type: object
properties:
displayName:
type: string
description: Sender display name within WhatsApp.
uniqueItems: false
description:
type: string
description: Description of the sender displayed in the Business Info within WhatsApp.
uniqueItems: false
vertical:
description: Category of the sender displayed in the Business Info within WhatsApp.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderWhatsAppVertical'
email:
type: string
description: Contact email displayed in the Business Info within WhatsApp.
uniqueItems: false
address:
type: string
description: Business address displayed in the Business Info within WhatsApp.
uniqueItems: false
websiteOne:
type: string
description: Business website displayed in the Business Info within WhatsApp.
uniqueItems: false
websiteTwo:
type: string
description: Second business website displayed in the Business Info within WhatsApp.
uniqueItems: false
about:
type: string
description: |-
About text displayed in the Business Info within WhatsApp.
- Hyperlinks can be included but will not render as clickable links.
- Markdown is not supported.
uniqueItems: false
photoUrl:
type: string
description: |-
URL to the sender image displayed in WhatsApp.
- Supported mime types: `image/jpeg`, `image/png` or `image/webp`.
- Maximum file size: 5MB.
- Minimum image dimensions: 192 x 192 px.
- Maximum image dimensions: 640 x 640 px.
- Image will be cropped to maximum image dimensions.
- If you submit a PNG image with a transparent background, the background will be rendered as black.
uniqueItems: false
WhatsappSenderStatuses:
type: string
enum:
- DRAFT
- ERROR
- IN_PROGRESS
- REJECTED
description: Current status of the pending changes.
WhatsappSenderErrorCode:
type: string
enum:
- CANNOT_ASSIGN_CREDIT_LINE
- CANNOT_ASSIGN_SYSTEM_USER
- CANNOT_CREATE_NEW_WHATSAPP_SENDER
- CANNOT_CREATE_WABA_FOR_BUSINESS
- CANNOT_GET_DETAILS_FOR_CLOUD_API
- CANNOT_GET_WABA_DETAILS
- CANNOT_REGISTER_NEW_WHATSAPP_SENDER
- CANNOT_REGISTER_TO_CLOUD_API
- CANNOT_SUBSCRIBE_TO_CLOUD_API
- CANNOT_SUBSCRIBE_TO_WEBHOOK
- DUPLICATES_ON_SENDER_PHONE_NUMBER
- FAILED_TO_FETCH_APPROVED_MESSAGE_TEMPLATES
- MULTIPLE_WABA_FOR_PROJECT_ID
- NO_CERTIFICATE_AVAILABLE
- NO_NOVA_ACCOUNT_ID
- NO_PRICING_PLAN
- NO_PROJECT_ID
- NO_VERIFIED_PHONE_NUMBER
- NOT_VERIFIED_REQUESTED_PHONE_NUMBER
- NOT_VERIFY_BUSINESS_VIA_WHATSAPP
- NOVA_ACCOUNT_ID_CONFLICT
- PROJECT_ID_CONFLICT
- SENDER_HAS_BEEN_DELETED
- WABA_CONNECTED_TO_ANOTHER_PROJECT
- UNKNOWN_ERROR
- UNRECOGNIZED
description: Error code if sender is in state `ERROR`.
WhatsappSenderChangesDto:
type: object
properties:
status:
description: Current status of the pending changes.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderStatuses'
details:
oneOf:
- $ref: '#/components/schemas/WhatsappSenderDetailsDto'
description: For newly created sender
- $ref: '#/components/schemas/WhatsappSenderChangesDetailsDto'
description: For update sender
description: The pending changes to sender details and information
uniqueItems: false
errorReason:
type: string
description: Error reason if sender is in state `ERROR`.
uniqueItems: false
errorCode:
description: Error code if sender is in state `ERROR`.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderErrorCode'
required:
- status
WhatsappSenderBotRegion:
type: string
enum:
- BR
- EU
- US
- UNRECOGNIZED
description: Region sender is provisioned in.
WhatsappSenderMetaLocalStorages:
type: string
enum:
- AE
- AU
- BH
- BR
- CA
- CH
- DE
- GB
- ID
- IN
- JP
- KR
- SG
- US
- ZA
- UNRECOGNIZED
- UNSPECIFIED
description: Region sender store the data in Meta.
WhatsappConversationApiAppRegionsEnum:
type: string
enum:
- BR
- EU
- US
- UNRECOGNIZED
description: App region.
WhatsappConversationApiAppDto:
type: object
properties:
id:
type: string
description: ID of the app
uniqueItems: false
projectId:
type: string
description: ID of the app project
uniqueItems: false
region:
description: App region.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappConversationApiAppRegionsEnum'
required:
- id
- projectId
- region
WhatsappQualityRating:
type: string
enum:
- GREEN
- RED
- YELLOW
- UNKNOWN
- UNRECOGNIZED
description: Current quality rating of the sender.
WhatsappDailyLimit:
type: string
enum:
- NOT_SET
- TIER_100K
- TIER_10K
- TIER_1K
- TIER_250
- TIER_50
- TIER_UNLIMITED
- UNRECOGNIZED
description: Current daily message limit of the sender.
WhatsappSenderNumberProviderType:
type: string
enum:
- CUSTOMER
- SINCH
- UNRECOGNIZED
description: Provider for phone number.
WhatsappBusinessManagers:
type: string
enum:
- SINCH_AMERICA
- SINCH_BR
- SINCH_MX
- SINCH_SEP
- SINCH_UK
- UNRECOGNIZED
description: Business manager.
WhatsappWabaBanStates:
type: string
enum:
- DISABLE
- REINSTATE
- SCHEDULE_FOR_DISABLE
- UNRECOGNIZED
description: Please use get account endpoint for this information.
WhatsappRegions:
type: string
enum:
- br
- eu
- us
description: Conversation API app regions the sender can be used for.
WhatsappSenderDto:
type: object
properties:
id:
type: string
description: The unique ID of the sender.
uniqueItems: false
state:
description: The current state of the sender.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderStates'
changes:
description: Any pending changes to the sender.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderChangesDto'
details:
description: Sender details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderDetailsDto'
region:
description: Region sender is provisioned in.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderBotRegion'
metaLocalStorage:
description: Region sender store the data in Meta.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderMetaLocalStorages'
conversationApiApp:
type: string
description: If set, the Conversation API App ID the sender is connected to.
deprecated: true
uniqueItems: false
conversationApiAppDetails:
description: If set, the details of the Conversation API App the sender is connected to.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappConversationApiAppDto'
maxTps:
type: number
description: Maximum sender TPS.
uniqueItems: false
qualityRating:
description: Current quality rating of the sender.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappQualityRating'
dailyLimit:
description: Current daily message limit of the sender.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappDailyLimit'
bearerToken:
type: string
description: Bearer token of the sender. The bearer token is needed to connect the sender to a Conversation API App.
uniqueItems: false
cloudApi:
type: boolean
description: True if the sender is hosted in WhatsApp Cloud API.
deprecated: true
uniqueItems: false
created:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was created.
uniqueItems: false
modified:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was last modified.
uniqueItems: false
countryCode:
type: string
description: Country code of sender phone number.
uniqueItems: false
phoneNumber:
type: string
description: Sender phone number without country code.
uniqueItems: false
numberProvider:
description: Provider for phone number.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderNumberProviderType'
businessManager:
description: Business manager.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappBusinessManagers'
wabaBanState:
description: Please use get account endpoint for this information.
deprecated: true
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappWabaBanStates'
wabaBanDate:
type: string
description: Please use get account endpoint for this information.
deprecated: true
uniqueItems: false
compatibleRegions:
type: array
uniqueItems: true
description: Conversation API app regions the sender can be used for.
items:
$ref: '#/components/schemas/WhatsappRegions'
required:
- id
- region
- metaLocalStorage
- cloudApi
- businessManager
- compatibleRegions
WhatsappSenderListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
senders:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappSenderDto'
required:
- totalSize
- pageSize
- senders
WhatsappSenderStatesEnum:
type: string
enum:
- ACTIVE
- IN_PROGRESS
- INACTIVE
- PENDING_VERIFICATION
- SUSPENDED
- ERROR
WhatsappSenderStatusesEnum:
type: string
enum:
- DRAFT
- ERROR
- IN_PROGRESS
- REJECTED
WhatsappSenderInputRegion:
type: string
enum:
- BR
- EU
- US
description: Region sender is provisioned in.
WhatsappSenderInputMetaLocalStorages:
type: string
enum:
- AE
- AU
- BH
- BR
- CA
- CH
- DE
- GB
- ID
- IN
- JP
- KR
- SG
- US
- ZA
description: Region sender store the data in Meta.
WhatsappInputBusinessManagersPublicDocumentation:
type: string
enum:
- SINCH_BR
- SINCH_MX
- SINCH_UK
description: Business manager.
WhatsappSenderInputEsDto:
type: object
properties:
region:
description: Region sender is provisioned in.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputRegion'
metaLocalStorage:
description: Region sender store the data in Meta.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputMetaLocalStorages'
wabaId:
type: string
description: WhatsApp Business Account that will be connected to the created sender. If left empty, we will try to find the WhatsApp Business Account using your projectId.
uniqueItems: false
phoneNumberId:
type: string
description: Phone number ID linked to the WhatsApp Business Account.
uniqueItems: false
businessManager:
description: Business manager.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputBusinessManagersPublicDocumentation'
authenticationCode:
type: string
minLength: 1
description: Single-use access code.
uniqueItems: false
required:
- wabaId
- phoneNumberId
WhatsappSenderInputBotRegion:
type: string
enum:
- BR
- EU
- US
description: Region sender is provisioned in.
WhatsappSenderInputNumberProviderType:
type: string
enum:
- CUSTOMER
- SINCH
description: If the phone number is provided by Sinch or the customer.
WhatsappSenderInputWhatsAppVertical:
type: string
enum:
- ALCOHOL
- AUTOMOTIVE
- BEAUTY_SPA_SALON
- CLOTHING_AND_APPAREL
- EDUCATION
- ENTERTAINMENT
- EVENT_PLANNING_AND_SERVICE
- FINANCE_AND_BANKING
- FOOD_AND_GROCERY
- HOTEL_AND_LODGING
- MEDICAL_AND_HEALTH
- NON_PROFIT
- ONLINE_GAMBLING
- OTC_DRUGS
- OTHER
- PHYSICAL_GAMBLING
- PROFESSIONAL_SERVICES
- PUBLIC_SERVICE
- RESTAURANT
- SHOPPING_AND_RETAIL
- TRAVEL_AND_TRANSPORTATION
description: Category of the sender displayed in the Business Info within WhatsApp.
WhatsappSenderInputOboDetailsDto:
type: object
properties:
displayName:
type: string
minLength: 1
maxLength: 128
description: Sender display name within WhatsApp.
uniqueItems: false
description:
type: string
minLength: 1
maxLength: 512
description: Description of the sender displayed in the Business Info within WhatsApp.
uniqueItems: false
vertical:
description: Category of the sender displayed in the Business Info within WhatsApp.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputWhatsAppVertical'
email:
type: string
format: email
maxLength: 128
description: Contact email displayed in the Business Info within WhatsApp.
uniqueItems: false
address:
type: string
minLength: 1
maxLength: 256
description: Business address displayed in the Business Info within WhatsApp.
uniqueItems: false
websiteOne:
type: string
format: url
maxLength: 256
description: Business website displayed in the Business Info within WhatsApp.
uniqueItems: false
websiteTwo:
type: string
format: url
maxLength: 256
description: Second business website displayed in the Business Info within WhatsApp.
uniqueItems: false
about:
type: string
minLength: 1
maxLength: 139
description: |-
About text displayed in the Business Info within WhatsApp.
- Hyperlinks can be included but will not render as clickable links.
- Markdown is not supported.
uniqueItems: false
photoUrl:
type: string
format: url
maxLength: 256
description: |-
URL to the sender image displayed in WhatsApp.
- Supported mime types: `image/jpeg`, `image/png` or `image/webp`.
- Maximum file size: 5MB.
- Minimum image dimensions: 192 x 192 px.
- Maximum image dimensions: 640 x 640 px.
- Image will be cropped to maximum image dimensions.
- If you submit a PNG image with a transparent background, the background will be rendered as black.
uniqueItems: false
countryCode:
type: string
format: country code
description: Numeric country codes (eg. 48 for PL, 44 for UK).
uniqueItems: false
phoneNumber:
type: string
format: numeric phone number
maxLength: 32
description: |-
Numeric phone number without numeric country code eg. 444555666. Cannot exist already such a sender with that phone number.
If provided by Sinch.
uniqueItems: false
required:
- displayName
- vertical
- countryCode
WhatsappSenderInputOboDtoDeprecated:
type: object
properties:
status:
description: Create as draft or submit. Defaults to submit.
default: SUBMIT
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappActions'
region:
description: Region sender is provisioned in.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputBotRegion'
metaLocalStorage:
description: Region sender store the data in Meta.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputMetaLocalStorages'
phoneNumberProvider:
description: If the phone number is provided by Sinch or the customer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputNumberProviderType'
saveDraftOnFailure:
type: boolean
default: false
description: Flag to save sender as draft if submission fails. Defaults to false.
uniqueItems: false
details:
description: Sender input details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputOboDetailsDto'
description: SenderInputOboDto is deprecated as Meta officially has declared End-Of-Life (EOL) on September 30, 2025.
required:
- phoneNumberProvider
- details
WhatsappSenderInputDetailsDto:
type: object
properties:
displayName:
type: string
minLength: 1
maxLength: 128
description: Sender display name within WhatsApp.
uniqueItems: false
description:
type: string
minLength: 1
maxLength: 512
description: Description of the sender displayed in the Business Info within WhatsApp.
uniqueItems: false
vertical:
description: Category of the sender displayed in the Business Info within WhatsApp.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputWhatsAppVertical'
email:
type: string
format: email
maxLength: 128
description: Contact email displayed in the Business Info within WhatsApp.
uniqueItems: false
address:
type: string
minLength: 1
maxLength: 256
description: Business address displayed in the Business Info within WhatsApp.
uniqueItems: false
websiteOne:
type: string
format: url
maxLength: 256
description: Business website displayed in the Business Info within WhatsApp.
uniqueItems: false
websiteTwo:
type: string
format: url
maxLength: 256
description: Second business website displayed in the Business Info within WhatsApp.
uniqueItems: false
about:
type: string
minLength: 1
maxLength: 139
description: |-
About text displayed in the Business Info within WhatsApp.
- Hyperlinks can be included but will not render as clickable links.
- Markdown is not supported.
uniqueItems: false
photoUrl:
type: string
format: url
maxLength: 256
description: |-
URL to the sender image displayed in WhatsApp.
- Supported mime types: `image/jpeg`, `image/png` or `image/webp`.
- Maximum file size: 5MB.
- Minimum image dimensions: 192 x 192 px.
- Maximum image dimensions: 640 x 640 px.
- Image will be cropped to maximum image dimensions.
- If you submit a PNG image with a transparent background, the background will be rendered as black.
uniqueItems: false
required:
- displayName
- vertical
WhatsappSenderInputDtoDeprecated:
type: object
properties:
region:
description: Region sender is provisioned in.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputRegion'
metaLocalStorage:
description: Region sender store the data in Meta.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputMetaLocalStorages'
businessManager:
description: Business manager.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputBusinessManagersPublicDocumentation'
wabaId:
type: string
description: WhatsApp Business Account that will be connected to the created sender. If left empty, we will try to find the WhatsApp Business Account using your projectId.
uniqueItems: false
phoneNumberId:
type: string
description: Phone number ID linked to the WhatsApp Business Account.
uniqueItems: false
facebookAccessToken:
type: string
format: uri
minLength: 1
description: Long-Lived User access token. Mandatory if `facebookCode` is not provided.
uniqueItems: false
facebookCode:
type: string
format: uri
minLength: 1
description: Single-use access code. Mandatory if `facebookAccessToken` is not provided.
uniqueItems: false
name:
type: string
minLength: 1
maxLength: 128
description: Sender name.
uniqueItems: false
details:
description: Sender input details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputDetailsDto'
description: SenderInputDto is deprecated. Please use SenderInputEsDto.
required:
- name
- details
WhatsappSenderRegistrationMethod:
type: string
enum:
- SMS
- VOICE
- UNRECOGNIZED
description: Registration Method of the sender.
WhatsappSenderRegisterDto:
type: object
properties:
id:
type: string
description: The unique ID of the sender.
uniqueItems: false
method:
description: Registration Method of the sender.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderRegistrationMethod'
accepted:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was accepted.
uniqueItems: false
required:
- id
- method
- accepted
WhatsappSenderInputRegistrationMethod:
type: string
enum:
- SMS
- VOICE
description: Registration Method of the sender.
WhatsappSenderInputRegisterDto:
type: object
properties:
method:
description: Registration Method of the sender.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputRegistrationMethod'
required:
- method
WhatsappSenderInputVerifyDto:
type: object
properties:
code:
type: string
format: otp
example: '123456'
description: OTP code to verify the sender. Must be exact 6 characters without spaces.
uniqueItems: false
required:
- code
WhatsappSenderNotificationType:
type: string
enum:
- ACTIVE
- COMMENT_ADDED
- CREATED
- DRAFT
- EDITED
- ERROR
- IN_PROGRESS
- INACTIVE
- REGISTERED
- REJECTED
- VERIFIED
WhatsappSenderNotificationDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderNotificationType'
created:
type: string
uniqueItems: false
author:
type: string
uniqueItems: false
comment:
type: string
uniqueItems: false
required:
- type
WhatsappSenderNotificationListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
notifications:
type: array
items:
$ref: '#/components/schemas/WhatsappSenderNotificationDto'
uniqueItems: false
required:
- totalSize
- pageSize
- notifications
WhatsappUpdateSenderInputDetailsDto:
type: object
properties:
displayName:
type: string
minLength: 1
maxLength: 128
description: Sender display name within WhatsApp.
uniqueItems: false
description:
type: string
minLength: 1
maxLength: 512
description: Description of the sender displayed in the Business Info within WhatsApp. If null the value will be deleted.
nullable: true
uniqueItems: false
vertical:
description: Category of the sender displayed in the Business Info within WhatsApp.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSenderInputWhatsAppVertical'
email:
type: string
format: email
maxLength: 128
nullable: true
description: Contact email displayed in the Business Info within WhatsApp. If null the value will be deleted.
uniqueItems: false
address:
type: string
minLength: 1
maxLength: 256
nullable: true
description: Business address displayed in the Business Info within WhatsApp. If null the value will be deleted.
uniqueItems: false
websiteOne:
type: string
format: url
maxLength: 256
nullable: true
description: Business website displayed in the Business Info within WhatsApp. If null the value will be deleted.
uniqueItems: false
websiteTwo:
type: string
format: url
maxLength: 256
nullable: true
description: Second business website displayed in the Business Info within WhatsApp. If null the value will be deleted.
uniqueItems: false
about:
type: string
minLength: 1
maxLength: 139
nullable: true
description: |-
About text displayed in the Business Info within WhatsApp.
- Hyperlinks can be included but will not render as clickable links.
- Markdown is not supported.
If null the value will be deleted.
uniqueItems: false
photoUrl:
type: string
format: url
maxLength: 256
nullable: true
description: |-
URL to the sender image displayed in WhatsApp.
- Supported mime types: `image/jpeg`, `image/png` or `image/webp`.
- Maximum file size: 5MB.
- Minimum image dimensions: 192 x 192 px.
- Maximum image dimensions: 640 x 640 px.
- Image will be cropped to maximum image dimensions.
- If you submit a PNG image with a transparent background, the background will be rendered as black. If null the value will be deleted.
uniqueItems: false
WhatsappUpdateSenderInputDto:
type: object
properties:
status:
default: DRAFT
description: Create as draft or submit. Defaults to draft.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappActions'
details:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappUpdateSenderInputDetailsDto'
WhatsappSolutionDetailsDto:
type: object
properties:
name:
type: string
description: The name of the solution.
uniqueItems: false
required:
- name
WhatsappSolutionMetaAppDto:
type: object
properties:
id:
type: number
readOnly: true
description: The unique ID of the Meta App.
uniqueItems: false
name:
type: string
readOnly: true
description: The name of the Meta App.
uniqueItems: false
required:
- id
- name
WhatsappSolutionDto:
type: object
properties:
id:
type: string
readOnly: true
description: The unique ID of the solution
uniqueItems: false
details:
description: Solution details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSolutionDetailsDto'
partnerApp:
readOnly: true
description: The Meta App of the Tech Provider.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSolutionMetaAppDto'
ownerApp:
readOnly: true
description: The Meta App of the Solution Partner (e.g. Sinch).
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSolutionMetaAppDto'
assigned:
type: boolean
readOnly: true
description: If project has been assigned to this solution.
uniqueItems: false
required:
- id
- details
- assigned
WhatsappSolutionListDto:
type: object
properties:
solutions:
type: array
items:
$ref: '#/components/schemas/WhatsappSolutionDto'
description: List of solutions.
uniqueItems: false
required:
- solutions
WhatsappSolutionDetailsInputDto:
type: object
properties:
name:
type: string
description: The name of the solution.
uniqueItems: false
required:
- name
WhatsappSolutionInputDto:
type: object
properties:
details:
description: Solution details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappSolutionDetailsInputDto'
accessToken:
type: string
description: The accessToken received from the authResponse, returned when completing the embedded solution flow.
uniqueItems: false
businessManager:
description: Business manager.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputBusinessManagersPublicDocumentation'
required:
- details
- accessToken
- businessManager
WhatsappWabaNumbersDto:
type: object
properties:
id:
type: string
description: Unique id of the number.
uniqueItems: false
displayPhoneNumber:
type: string
description: The number displayed in E.164 format.
uniqueItems: false
provisioned:
type: boolean
description: True if the number is available for usage, false otherwise.
uniqueItems: false
required:
- id
- displayPhoneNumber
- provisioned
WhatsappWabaDetailsDto:
type: object
properties:
id:
type: string
description: The id of the WhatsApp Business Account.
uniqueItems: false
name:
type: string
description: The name of the WhatsApp Business Account.
uniqueItems: false
numbers:
description: The numbers that are shared to the WhatsApp Business Account.
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappWabaNumbersDto'
required:
- id
- name
- numbers
WhatsappWabaDetailsListDto:
type: object
properties:
wabas:
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappWabaDetailsDto'
required:
- wabas
WhatsappInputBusinessManagers:
type: string
enum:
- SINCH_AMERICA
- SINCH_BR
- SINCH_MX
- SINCH_SEP
- SINCH_UK
description: Business manager.
WhatsappWabaDetailsListInputDto:
type: object
properties:
facebookToken:
type: string
description: Long-Lived User access token.
uniqueItems: false
businessManager:
description: Business manager.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputBusinessManagers'
required:
- facebookToken
WhatsappLongLivedAccessTokenDto:
type: object
properties:
longLivedAccessToken:
type: string
uniqueItems: false
required:
- longLivedAccessToken
WhatsappLongLivedAccessTokenInputDto:
type: object
properties:
facebookToken:
type: string
format: uri
minLength: 1
description: Long-Lived User access token. Mandatory if `facebookCode` is not provided.
uniqueItems: false
facebookCode:
type: string
format: uri
minLength: 1
description: Single-use access code. Mandatory if `facebookToken` is not provided.
uniqueItems: false
businessManager:
description: Business manager.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputBusinessManagers'
WhatsappAccountState:
type: string
enum:
- ONBOARDED
- PENDING_FACEBOOK_VERIFICATION
- REJECTED
description: The current state of your account.
WhatsappAccountDetailsDto:
type: object
properties:
clientBusinessManagerId:
type: string
description: The Business Manager ID for the client.
uniqueItems: false
companyLegalName:
type: string
description: The registered name of the brand who will be engaging with their users.
uniqueItems: false
required:
- clientBusinessManagerId
- companyLegalName
WhatsappAccountChangesDetailsDto:
type: object
properties:
clientBusinessManagerId:
type: string
description: The Business Manager ID for the client.
uniqueItems: false
companyLegalName:
type: string
description: The registered name of the brand who will be engaging with their users.
uniqueItems: false
WhatsappAccountChangeState:
type: string
enum:
- DRAFT
- IN_PROGRESS
- PENDING_FACEBOOK_VERIFICATION
- REJECTED
description: Current status of the pending changes.
WhatsappAccountChangesDto:
type: object
properties:
status:
description: Current status of the pending changes.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappAccountChangeState'
details:
oneOf:
- $ref: '#/components/schemas/WhatsappAccountDetailsDto'
description: For newly created account
- $ref: '#/components/schemas/WhatsappAccountChangesDetailsDto'
description: For update account
description: The pending changes to account details and information
uniqueItems: false
required:
- status
WhatsappCountryCodes:
type: string
enum:
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BW
- BY
- BZ
- CA
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CW
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GT
- GU
- GW
- GY
- HK
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SX
- SY
- SZ
- TC
- TD
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UM
- US
- UY
- UZ
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XK
- YE
- YT
- ZA
- ZM
- ZW
- UNRECOGNIZED
description: Two-letter country code in ISO 3166 standard, specifying the country where business is based
WhatsappAccountDto:
type: object
properties:
state:
description: The current state of your account.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappAccountState'
isEmbeddedSignup:
type: boolean
description: '`true` if the Account was created through Embedded Signup. `false` otherwise.'
uniqueItems: false
businessManager:
description: Business manager.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappBusinessManagers'
wabaId:
type: string
description: WhatsApp Business Manager ID.
uniqueItems: false
changes:
description: Any pending changes to the account.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappAccountChangesDto'
details:
description: Account details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappAccountDetailsDto'
wabaBanState:
description: Ban state when account has been banned.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappWabaBanStates'
wabaBanDate:
type: string
description: The UTC Date Time in ISO 8601 for when account has been banned.
uniqueItems: false
wabaEnabledForInsights:
type: boolean
description: Template analytics status for account.
uniqueItems: false
compatibleRegions:
type: array
uniqueItems: true
description: Conversation API app regions the sender can be used for.
items:
$ref: '#/components/schemas/WhatsappRegions'
primaryBusinessLocation:
description: Two-letter country code in ISO 3166 standard, specifying the country where business is based
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappCountryCodes'
required:
- isEmbeddedSignup
- businessManager
- compatibleRegions
WhatsappAccountInputDto:
type: object
properties:
companyLegalName:
type: string
minLength: 1
maxLength: 255
description: 'The registered name of the brand who will be engaging with their users needs to be specified. This name must match the name associated with the Facebook Business Manager ID below. You can verify the registered name by visiting: https://business.facebook.com/select/?business_id= Ensure that the name shown exactly matches the one you enter here.'
uniqueItems: false
clientBusinessManagerId:
type: string
minLength: 1
maxLength: 255
description: The Business Manager ID for the client to create the account. This can be found in the Meta Business Manager in Business Settings > Business Info below the Business Manager Account Name.
uniqueItems: false
businessManager:
description: Business manager.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappInputBusinessManagers'
required:
- companyLegalName
- clientBusinessManagerId
WhatsappUpdateAccountInputDto:
type: object
properties:
companyLegalName:
type: string
minLength: 1
maxLength: 255
description: 'The registered name of the brand who will be engaging with their users needs to be specified. This name must match the name associated with the Facebook Business Manager ID below. You can verify the registered name by visiting: https://business.facebook.com/select/?business_id= Ensure that the name shown exactly matches the one you enter here.'
uniqueItems: false
clientBusinessManagerId:
type: string
minLength: 1
maxLength: 255
description: The Business Manager ID for the client to create the account. This can be found in the Meta Business Manager in Business Settings > Business Info below the Business Manager Account Name.
uniqueItems: false
WhatsappAccountNotificationType:
type: string
enum:
- COMMENT_ADDED
- CREATED
- DRAFT
- EDITED
- IN_PROGRESS
- PENDING_FACEBOOK_VERIFICATION
- REJECTED
WhatsappAccountNotificationDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappAccountNotificationType'
created:
type: string
uniqueItems: false
author:
type: string
uniqueItems: false
comment:
type: string
uniqueItems: false
required:
- type
WhatsappAccountNotificationListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
notifications:
type: array
items:
$ref: '#/components/schemas/WhatsappAccountNotificationDto'
uniqueItems: false
required:
- totalSize
- pageSize
- notifications
WhatsappWhatsAppFlowStatuses:
type: string
enum:
- FLOW_STATUS_DEPRECATED
- FLOW_STATUS_DRAFT
- FLOW_STATUS_PUBLISHED
- UNRECOGNIZED
description: Flow status.
WhatsappFlowDto:
type: object
properties:
id:
type: string
description: Unique identifier for the flow.
uniqueItems: false
name:
type: string
description: Name of the flow.
uniqueItems: false
status:
description: Flow status.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/WhatsappWhatsAppFlowStatuses'
required:
- id
- name
- status
WhatsappFlowListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
flows:
description: List of flows in the WABA linked to the project.
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappFlowDto'
required:
- totalSize
- pageSize
- flows
WhatsappFlowScreenDto:
type: object
properties:
id:
type: string
description: Unique identifier of the screen which works as a page url.
uniqueItems: false
required:
- id
WhatsappFlowScreenListDto:
type: object
properties:
screens:
description: List of screens for flow.
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/WhatsappFlowScreenDto'
required:
- screens
BundlesBundleServicesState:
type: string
enum:
- DONE
- FAILED
- IN_PROGRESS
description: Current state.
BundlesHttpStatusCode:
type: number
enum:
- 100
- 101
- 102
- 103
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 226
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 421
- 422
- 423
- 424
- 425
- 426
- 428
- 429
- 431
- 451
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 510
- 511
BundlesWebhookDeliveryStatusDto:
type: object
properties:
webhookId:
type: string
uniqueItems: false
httpStatusCode:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesHttpStatusCode'
errorMessage:
type: string
uniqueItems: false
date:
type: string
uniqueItems: false
required:
- webhookId
- httpStatusCode
- date
BundlesBundlesRegion:
type: string
enum:
- BR
- EU
- US
description: Region resources were create in.
BundlesSubprojectStatus:
type: string
enum:
- PENDING
- READY
description: Status of subproject.
BundlesSubprojectDto:
type: object
properties:
id:
type: string
description: Subproject id.
uniqueItems: false
name:
type: string
description: Name of Subproject.
maxLength: 255
uniqueItems: false
labels:
type: object
additionalProperties:
type: string
description: Project labels, if provided.
uniqueItems: false
parentProjectId:
type: string
description: Parent project id which the subproject is associated with.
uniqueItems: false
status:
description: Status of subproject.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesSubprojectStatus'
required:
- id
- name
- parentProjectId
- status
BundlesProvisioningStates:
type: string
enum:
- ACTIVE
- BLOCKED
- DELETED
- DEPROVISIONING
- DEPROVISIONING_FAILED
- FAILED_ADD
- FAILED_BLOCK
- FAILED_DELETE
- FAILED_UNBLOCK
- FAILED_UPDATE
- IN_PROGRESS_ADD
- IN_PROGRESS_BLOCK
- IN_PROGRESS_DELETE
- IN_PROGRESS_UNBLOCK
- IN_PROGRESS_UPDATE
- PENDING_ADD
- PENDING_BLOCK
- PENDING_DELETE
- PENDING_UNBLOCK
- PENDING_UPDATE
- PROVISIONING
- PROVISIONING_ADD
- PROVISIONING_ADD_FAILED
- PROVISIONING_BLOCK
- PROVISIONING_BLOCK_FAILED
- PROVISIONING_FAILED
- PROVISIONING_UNBLOCK
- PROVISIONING_UNBLOCK_FAILED
- PROVISIONING_UPDATE
- PROVISIONING_UPDATE_FAILED
- STATUS_UNSPECIFIED
- UNRECOGNIZED
description: Status of SMS App.
BundlesSmsAppDto:
type: object
properties:
id:
type: string
description: SMS App id.
uniqueItems: false
smsServiceId:
type: string
description: Id of the SMS Service which the SMS App belongs to.
uniqueItems: false
name:
type: string
description: Name of SMS App.
maxLength: 255
uniqueItems: false
status:
description: Status of SMS App.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesProvisioningStates'
accessTokens:
description: SMS App access tokens.
uniqueItems: false
type: array
items:
type: string
required:
- id
- smsServiceId
- name
- status
BundlesWebhooksWebhookTrigger:
type: string
enum:
- BATCH_STATUS_UPDATE
- BILLING_CREDIT_LIMIT_BREACHED
- CAPABILITY
- CHANNEL_EVENT
- CONSENT_BATCH_COMPLETE
- CONTACT_CREATE
- CONTACT_DELETE
- CONTACT_IDENTITIES_DUPLICATION
- CONTACT_MERGE
- CONTACT_UPDATE
- CONVERSATION_DELETE
- CONVERSATION_START
- CONVERSATION_STOP
- EVENT_DELIVERY
- EVENT_INBOUND
- MESSAGE_DELIVERY
- MESSAGE_INBOUND
- MESSAGE_INBOUND_SMART_CONVERSATION_REDACTION
- MESSAGE_SUBMIT
- OPT_IN
- OPT_OUT
- RECORD_NOTIFICATION
- SMART_CONVERSATION
- UNRECOGNIZED
- UNSPECIFIED_TRIGGER
- UNSUPPORTED
description: An array of triggers that should trigger the webhook and result in an event being sent to the target url.
BundlesConversationAppWebhooksDto:
type: object
properties:
id:
type: string
description: The ID of the webhook.
uniqueItems: false
target:
type: string
maxLength: 742
description: The target url where events should be sent to.
uniqueItems: false
triggers:
type: array
maxItems: 20
uniqueItems: true
description: An array of triggers that should trigger the webhook and result in an event being sent to the target url.
items:
$ref: '#/components/schemas/BundlesWebhooksWebhookTrigger'
secret:
type: string
description: Optional secret used to sign contents of webhooks sent by the Conversation API. You can then use the secret to verify the signature.
uniqueItems: false
required:
- id
- target
- triggers
BundlesConversationAppProcessingModes:
type: string
enum:
- CONVERSATION
- DISPATCH
- UNRECOGNIZED
- UNSPECIFIED
description: Conversation API processing mode.
BundlesConversationAppRetentionPolicyTypes:
type: string
enum:
- CONVERSATION_EXPIRE_POLICY
- MESSAGE_EXPIRE_POLICY
- PERSIST_RETENTION_POLICY
- UNRECOGNIZED
description: |-
Conversation API retention policy type.
BundlesConversationAppRetentionPolicyDto:
type: object
properties:
retentionPolicyType:
description: |-
Conversation API retention policy type.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesConversationAppRetentionPolicyTypes'
ttl:
type: number
description: |-
Conversation API retention time in days.
uniqueItems: false
required:
- retentionPolicyType
BundlesConversationAppDto:
type: object
properties:
id:
type: string
description: Conversation App id.
uniqueItems: false
name:
type: string
description: Name of Conversation App.
maxLength: 255
uniqueItems: false
webhooks:
type: array
items:
$ref: '#/components/schemas/BundlesConversationAppWebhooksDto'
maxItems: 5
description: List all webhooks for a given app.
uniqueItems: false
processingMode:
description: Conversation API processing mode.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesConversationAppProcessingModes'
retentionPolicy:
description: Conversation API retention policy for messages and conversations.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesConversationAppRetentionPolicyDto'
required:
- id
- name
- processingMode
BundlesWebhookTriggers:
type: string
enum:
- ALL
- BUNDLE_DONE
- KAKAOTALK_SENDER_ACTIVE
- KAKAOTALK_SENDER_COMMENT_ADDED
- KAKAOTALK_SENDER_INACTIVE
- KAKAOTALK_SENDER_REJECTED
- KAKAOTALK_TEMPLATE_APPROVED
- KAKAOTALK_TEMPLATE_COMMENT_ADDED
- KAKAOTALK_TEMPLATE_REJECTED
- RCS_SENDER_COMMENT_ADDED
- RCS_SENDER_OPERATOR_STATUS_UPDATED
- RCS_SENDER_STATUS_UPDATED
- RCS_ACCOUNT_COMMENT_ADDED
- WHATSAPP_ACCOUNT_COMMENT_ADDED
- WHATSAPP_ACCOUNT_ONBOARDED
- WHATSAPP_ACCOUNT_PENDING_VERIFICATION
- WHATSAPP_ACCOUNT_REJECTED
- WHATSAPP_WABA_ACCOUNT_CHANGED
- WHATSAPP_SENDER_ACTIVE
- WHATSAPP_SENDER_COMMENT_ADDED
- WHATSAPP_SENDER_DAILY_LIMIT_CHANGED
- WHATSAPP_SENDER_ERROR
- WHATSAPP_SENDER_INACTIVE
- WHATSAPP_SENDER_PENDING_VERIFICATION
- WHATSAPP_SENDER_QUALITY_RATING_CHANGED
- WHATSAPP_SENDER_REJECTED
- WHATSAPP_TEMPLATE_APPROVED
- WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE
- WHATSAPP_TEMPLATE_CATEGORY_UPDATED
- WHATSAPP_TEMPLATE_COMMENT_ADDED
- WHATSAPP_TEMPLATE_DELETED
- WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED
- WHATSAPP_TEMPLATE_REJECTED
- WHATSAPP_TEMPLATE_STATUS_UPDATED
description: List of triggers this webhook is triggered by.
BundlesWebhookDto:
type: object
properties:
id:
type: string
description: The ID of the webhook.
uniqueItems: false
target:
type: string
description: The target url where events will be sent to.
uniqueItems: false
projectId:
type: string
description: The project that this webhook belongs to.
uniqueItems: false
triggers:
type: array
uniqueItems: true
description: List of triggers this webhook is triggered by.
items:
$ref: '#/components/schemas/BundlesWebhookTriggers'
required:
- id
- target
- projectId
- triggers
BundlesBundlesDto:
type: object
properties:
id:
type: string
description: Id of bundle created.
uniqueItems: false
projectId:
type: string
description: The project or subproject id where resources have been created.
uniqueItems: false
name:
type: string
description: Name of bundle created. If a name was not specified in the resource blocks then they were created with this name.
maxLength: 255
uniqueItems: false
state:
description: Current state.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesBundleServicesState'
webhookDeliveryStatuses:
description: List delivery statuses for all BUNDLE_DONE webhooks.
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/BundlesWebhookDeliveryStatusDto'
region:
description: Region resources were create in.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesBundlesRegion'
subproject:
description: Subproject created, if requested.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesSubprojectDto'
smsApp:
description: SMS App created, if requested.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesSmsAppDto'
convApp:
description: Conversation App created, if requested.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesConversationAppDto'
webhooks:
description: Webhooks registered, if requested.
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/BundlesWebhookDto'
required:
- id
- projectId
- state
- region
BundlesSubprojectInputDto:
type: object
properties:
name:
type: string
description: |-
Name of subproject to create. If not set, will use `name` from root object. If neither this value or the `name` in the root is set, then the request will fail.
maxLength: 255
uniqueItems: false
labels:
type: object
additionalProperties:
type: string
description: |
Optional labels to attach to the subproject. If provided must be an object with string keys and string values.
uniqueItems: false
BundlesSmsAppInputDto:
type: object
properties:
name:
type: string
description: |
Name of SMS App to create. If not set, will use `name` from root object. If neither this value or the `name` in the root is set, then the request will fail.
maxLength: 255
uniqueItems: false
BundlesWebhooksInputWebhookTrigger:
type: string
enum:
- BATCH_STATUS_UPDATE
- BILLING_CREDIT_LIMIT_BREACHED
- CAPABILITY
- CHANNEL_EVENT
- CONSENT_BATCH_COMPLETE
- CONTACT_CREATE
- CONTACT_DELETE
- CONTACT_IDENTITIES_DUPLICATION
- CONTACT_MERGE
- CONTACT_UPDATE
- CONVERSATION_DELETE
- CONVERSATION_START
- CONVERSATION_STOP
- EVENT_DELIVERY
- EVENT_INBOUND
- MESSAGE_DELIVERY
- MESSAGE_INBOUND
- MESSAGE_INBOUND_SMART_CONVERSATION_REDACTION
- MESSAGE_SUBMIT
- OPT_IN
- OPT_OUT
- RECORD_NOTIFICATION
- SMART_CONVERSATION
- UNSUPPORTED
description: An array of triggers that should trigger the webhook and result in an event being sent to the target url.
BundlesConversationAppWebhooksInputDto:
type: object
properties:
target:
type: string
maxLength: 742
description: The target url where events should be sent to. The conversation-api.*.sinch.com subdomains are forbidden.
uniqueItems: false
triggers:
type: array
uniqueItems: true
maxLength: 20
description: An array of triggers that should trigger the webhook and result in an event being sent to the target url.
items:
$ref: '#/components/schemas/BundlesWebhooksInputWebhookTrigger'
secret:
type: string
description: Optional secret used to sign contents of webhooks sent by the Conversation API. You can then use the secret to verify the signature.
uniqueItems: false
required:
- target
- triggers
BundlesInputConversationAppConversationRetentionPolicyTypes:
type: string
enum:
- CONVERSATION_EXPIRE_POLICY
- MESSAGE_EXPIRE_POLICY
- PERSIST_RETENTION_POLICY
description: |-
Conversation API conversation retention policy type.
BundlesConversationAppConversationRetentionPolicyInputDto:
type: object
properties:
retentionPolicyType:
description: |-
Conversation API conversation retention policy type.
default: MESSAGE_EXPIRE_POLICY
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesInputConversationAppConversationRetentionPolicyTypes'
ttl:
type: number
minimum: 1
maximum: 3650
description: |-
Conversation API conversation retention time in days.
default: 180
uniqueItems: false
BundlesInputConversationAppDispatchRetentionPolicyTypes:
type: string
enum:
- MESSAGE_EXPIRE_POLICY
description: |-
Conversation API dispatch retention policy type.
BundlesConversationAppDispatchRetentionPolicyInputDto:
type: object
properties:
retentionPolicyType:
description: |-
Conversation API dispatch retention policy type.
default: MESSAGE_EXPIRE_POLICY
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesInputConversationAppDispatchRetentionPolicyTypes'
ttl:
type: number
minimum: 0
maximum: 7
description: |-
Conversation API dispatch retention time in days.
default: 7
uniqueItems: false
BundlesInputConversationAppProcessingModes:
type: string
enum:
- CONVERSATION
- DISPATCH
description: |-
Conversation API processing mode. May be changed later by using Conversation App API.
BundlesConversationAppInputDto:
type: object
properties:
name:
type: string
description: |-
Name of Conversation API App to create. If not set, will use `name` from root object. If neither this value or the `name` in the root is set, then the request will fail.
maxLength: 255
uniqueItems: false
webhooks:
type: array
items:
$ref: '#/components/schemas/BundlesConversationAppWebhooksInputDto'
maxItems: 5
description: |
Conversation API webhooks to create for the new App. See Conversation API documentation for all options.
uniqueItems: false
processingMode:
description: |-
Conversation API processing mode. May be changed later by using Conversation App API.
default: DISPATCH
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesInputConversationAppProcessingModes'
retentionPolicy:
oneOf:
- $ref: '#/components/schemas/BundlesConversationAppConversationRetentionPolicyInputDto'
description: |-
Retention policy in CONVERSATION mode.
- $ref: '#/components/schemas/BundlesConversationAppDispatchRetentionPolicyInputDto'
description: |-
Retention policy in DISPATCH mode.
description: |-
Conversation API retention policy for messages and conversations. May be changed later by using Conversation App API.
uniqueItems: false
BundlesWebhookInputDto:
type: object
properties:
target:
type: string
description: A valid target url where events should be sent to.
maxLength: 742
minLength: 1
format: url
uniqueItems: false
secret:
type: string
description: Secret to be used to sign contents of webhooks sent by the provisioning API. You can then use the secret to verify the signature. Please not that secret should have a high entropy to be considered secure.
maxLength: 128
minLength: 1
uniqueItems: false
triggers:
type: array
uniqueItems: true
minItems: 1
description: |-
List of triggers you want to be notified about on your webhook. To be able to listen to all type of events use `ALL`.
- Common: `ALL`
- Bundles: `BUNDLE_DONE`
- WhatsApp Sender: `WHATSAPP_SENDER_ACTIVE`, `WHATSAPP_SENDER_COMMENT_ADDED`, `WHATSAPP_SENDER_DAILY_LIMIT_CHANGED`, `WHATSAPP_SENDER_ERROR`, `WHATSAPP_SENDER_INACTIVE`, `WHATSAPP_SENDER_PENDING_VERIFICATION`, `WHATSAPP_SENDER_QUALITY_RATING_CHANGED` or `WHATSAPP_SENDER_REJECTED`
- WhatsApp Template: `WHATSAPP_TEMPLATE_APPROVED`, `WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE`, `WHATSAPP_TEMPLATE_CATEGORY_UPDATED`, `WHATSAPP_TEMPLATE_COMMENT_ADDED`, `WHATSAPP_TEMPLATE_DELETED`, `WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED`, `WHATSAPP_TEMPLATE_REJECTED` or `WHATSAPP_TEMPLATE_STATUS_UPDATED`
- WhatsApp Account: `WHATSAPP_ACCOUNT_COMMENT_ADDED`, `WHATSAPP_ACCOUNT_ONBOARDED`, `WHATSAPP_ACCOUNT_PENDING_VERIFICATION`, `WHATSAPP_ACCOUNT_REJECTED` or `WHATSAPP_WABA_ACCOUNT_CHANGED`
- RCS Sender: `RCS_SENDER_COMMENT_ADDED`, `RCS_SENDER_OPERATOR_STATUS_UPDATED` or `RCS_SENDER_STATUS_UPDATED`
- KakaoTalk Sender: `KAKAOTALK_SENDER_ACTIVE`, `KAKAOTALK_SENDER_COMMENT_ADDED`, `KAKAOTALK_SENDER_INACTIVE` or `KAKAOTALK_SENDER_REJECTED`
- KakaoTalk Template: `KAKAOTALK_TEMPLATE_APPROVED`, `KAKAOTALK_TEMPLATE_COMMENT_ADDED` or `KAKAOTALK_TEMPLATE_REJECTED`
items:
$ref: '#/components/schemas/BundlesWebhookTriggers'
required:
- target
- secret
- triggers
BundlesBundlesInputRegion:
type: string
enum:
- BR
- EU
- US
description: |-
Region to create resources in.
(Allowed values for staging environment: `EU` or `US`).
BundlesBundlesInputDto:
type: object
properties:
name:
type: string
example: Sample bundle
description: |-
Name of bundle to create. If a name is not specified in the resource blocks then they will be created with this name.
maxLength: 255
uniqueItems: false
region:
example: US
description: |-
Region to create resources in.
(Allowed values for staging environment: `EU` or `US`).
uniqueItems: false
allOf:
- $ref: '#/components/schemas/BundlesBundlesInputRegion'
subproject:
oneOf:
- $ref: '#/components/schemas/BundlesSubprojectInputDto'
- type: boolean
description: Set to `true` to use default values. Set to `false` or omit to not create a subproject.
example: true
description: |-
Subproject resource block.
If set to true, a subproject will be created under the provided projectId with default name from the root object. Optionally a different name can be specified as well as labels on the project.
If not provided or set to false, a subproject will not be created and instead all resources will be created under the projectId provided in the request.
uniqueItems: false
smsApp:
oneOf:
- $ref: '#/components/schemas/BundlesSmsAppInputDto'
- type: boolean
description: Set to `true` to use default values. Set to `false` or omit to not create an SMS app.
example: true
description: |
SMS Application resource block.
If set to true, an SMS Application will be created under the project or subproject specified. Optionally a different name can specified.
If not provided or set to false, an SMS Application will not be created.
uniqueItems: false
convApp:
oneOf:
- $ref: '#/components/schemas/BundlesConversationAppInputDto'
- type: boolean
description: Set to `true` to use default values. Set to `false` or omit to not create a Conversation API app.
description: |
Conversation API Application resource block.
If set to true, a Conversation API Application will be created under the project or subproject specified. All other resources created will be associated with the Conversation Application.
Optionally a different name can specified as well as Conversation API webhooks.
If not provided or set to `false`, a Conversation API Application will not be created.
uniqueItems: false
webhooks:
type: array
items:
$ref: '#/components/schemas/BundlesWebhookInputDto'
uniqueItems: true
minItems: 1
maxItems: 15
description: |
Provisioning API .
Optionally provide webhook targets for the Provisioning API.
Field 'target' must have unique values across items.
required:
- region
KakaotalkSenderCategoryDto:
type: object
properties:
parentCode:
type: string
minLength: 0
maxLength: 4
description: The code of the parent category.
uniqueItems: false
depth:
type: number
maximum: 3
minimum: 1
description: The depth in category tree.
uniqueItems: false
code:
type: string
minLength: 3
maxLength: 4
description: The code of the category.
uniqueItems: false
name:
type: string
description: The name of the category.
uniqueItems: false
subcategories:
type: array
items:
$ref: '#/components/schemas/KakaotalkSenderCategoryDto'
description: List of subcategories.
uniqueItems: false
required:
- parentCode
- depth
- code
- name
- subcategories
KakaotalkSenderCategoryListDto:
type: object
properties:
categories:
type: array
items:
$ref: '#/components/schemas/KakaotalkSenderCategoryDto'
description: List of sender categories.
uniqueItems: false
required:
- categories
KakaotalkTemplateSubcategoryNames:
type: string
enum:
- 인증/비밀번호/로그인
- 회원가입
- 회원정보/회원혜택
- 구매예약/입고알림
- 구매완료
- 구매취소
- 상품가입
- 진행상태
- 예약상태
- 예약알림/리마인드
- 예약완료/예약내역
- 예약취소
- 구매감사/이용확인
- 리마인드
- 방문서비스
- 신청접수
- 이용도구
- 이용안내/공지
- 처리완료
- 피드백 요청
- 거래알림
- 계약/견적
- 뉴스레터
- 안전/피해예방
- 요금청구
- 피드백
- 배송상태
- 배송실패
- 배송예정
- 배송완료
- 개인정보
- 수신동의
- 약관변경
- 휴면 관련
- 내부 업무 알림
- 주문/예약
- 쿠폰/포인트안내
- 쿠폰발급
- 쿠폰사용
- 포인트사용
- 포인트적립
- 기타
- UNRECOGNIZED
description: 하위 카테고리 이름.
KakaotalkTemplateSubcategoryEnglishNames:
type: string
enum:
- Authentication/Password/Login
- Join membership
- Membership information/Member ship benefits
- Pre-order/Stock alerts
- Product subscription
- Purchase cancellation
- Purchase completed
- Purchase status
- Completed reservations/Reservation history
- Notification/Reminder
- Reservation cancellation
- Reservation status
- Application reception
- Feedback request
- Greeting message/Order confirmation
- Information/Notification
- Notification for treated demands
- Reminder message
- Tools for use
- Visiting service
- Billing
- Contract/Quote
- Feedback
- Newsletter
- Safety/Damage prevention
- Transaction notification
- Failed shipment
- Shipping completed
- Shipping estimation
- Shipping status
- Change of terms and conditions
- Consent of reception
- Dormant account related
- Privacy
- Internal business notification
- Order/Reservation
- Coupon issuance
- Earn points
- Information coupon/Points
- Notification for coupon use
- Use of points
- Others
- UNRECOGNIZED
description: English subcategory name.
KakaotalkTemplateSubcategoryDto:
type: object
properties:
code:
type: string
description: Subcategory code (Used when registering/modifying templates).
uniqueItems: false
name:
description: 하위 카테고리 이름.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateSubcategoryNames'
nameEnglish:
description: English subcategory name.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateSubcategoryEnglishNames'
groupName:
type: string
description: Subcategory group name.
uniqueItems: false
inclusion:
type: string
description: Description of templates to which the subcategory applies.
uniqueItems: false
exclusion:
type: string
description: Description of templates to which the subcategory does not apply.
uniqueItems: false
required:
- code
- name
- nameEnglish
- groupName
- inclusion
- exclusion
KakaotalkTemplateCategoryNames:
type: string
enum:
- 구매
- 기타
- 리포팅
- 배송
- 법적고지
- 서비스이용
- 업무알림
- 예약
- 쿠폰/포인트
- 회원
- UNRECOGNIZED
description: 카테고리 이름.
KakaotalkTemplateCategoryEnglishNames:
type: string
enum:
- Business notification
- Coupon/Points
- Customer service
- Legal notification
- Membership
- Others
- Purchase
- Reports
- Reservation
- Shipping
- UNRECOGNIZED
description: English category name.
KakaotalkTemplateCategoryDto:
type: object
properties:
name:
description: 카테고리 이름.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateCategoryNames'
nameEnglish:
description: English category name.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateCategoryEnglishNames'
subcategories:
type: array
items:
$ref: '#/components/schemas/KakaotalkTemplateSubcategoryDto'
description: List of subcategories.
uniqueItems: false
required:
- name
- nameEnglish
- subcategories
KakaotalkTemplateCategoryListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
categories:
type: array
items:
$ref: '#/components/schemas/KakaotalkTemplateCategoryDto'
description: List of template categories.
uniqueItems: false
required:
- totalSize
- pageSize
- categories
KakaotalkTemplateStates:
type: string
enum:
- APPROVED
- REJECTED
description: The current state of the template.
KakaotalkKakaoTalkButtonType:
type: string
enum:
- APP_LINK
- BOT_FOR_CONSULTATION
- BOT_KEYWORD
- BOT_TRANSFER
- BUSINESS_FORM
- BUTTON_TYPE_UNSPECIFIED
- CHANNEL_ID_ADDED
- DELIVERY_SEARCH
- IMAGE_SECURE_TRANSMISSION_PLUGIN_ID
- MESSAGE_DELIVERY
- ONE_CLICK_PAYMENT_PLUGIN
- PERSONAL_INFORMATION_USE_PLUGIN_ID
- WEB_LINK
- UNRECOGNIZED
description: Button type
KakaotalkButtonDto:
type: object
properties:
ordering:
type: number
description: Button sequence
uniqueItems: false
type:
description: Button type
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkKakaoTalkButtonType'
name:
type: string
description: Button name
uniqueItems: false
linkMo:
type: string
format: url
description: Mobile web link
uniqueItems: false
linkPc:
type: string
format: url
description: PC web link
uniqueItems: false
schemeIos:
type: string
description: iOS app link
uniqueItems: false
schemeAndroid:
type: string
description: Android app link
uniqueItems: false
KakaotalkTemplateLanguages:
type: string
enum:
- AF
- AR
- AZ
- BG
- BN
- CA
- CS
- DA
- DE
- EL
- EN
- EN_GB
- EN_US
- ES
- ES_AR
- ES_ES
- ES_MX
- ET
- FA
- FI
- FIL
- FR
- GA
- GU
- HA
- HE
- HI
- HR
- HU
- ID
- IT
- JA
- KA
- KK
- KN
- KO
- KY_KG
- LO
- LT
- LV
- MK
- ML
- MR
- MS
- NB
- NL
- PA
- PL
- PT_BR
- PT_PT
- RO
- RU
- RW_RW
- SK
- SL
- SQ
- SR
- SV
- SW
- TA
- TE
- TH
- TR
- UK
- UR
- UZ
- VI
- ZH_CN
- ZH_HK
- ZH_TW
- ZU
- UNRECOGNIZED
description: Template language
KakaotalkKakaoTalkTemplateMessageType:
type: string
enum:
- AD_INCLUDED
- BASIC
- EXTRA_INFORMATION
- MIXED
- TEMPLATE_MESSAGE_TYPE_UNSPECIFIED
- UNRECOGNIZED
description: Types of template message
KakaotalkKakaoTalkTemplateEmphasizeType:
type: string
enum:
- EMPHASIZE_TYPE_IMAGE
- EMPHASIZE_TYPE_NONE
- EMPHASIZE_TYPE_TEXT
- EMPHASIZE_TYPE_UNSPECIFIED
- UNRECOGNIZED
description: Types of emphasized template
KakaotalkTemplateDetailsDto:
type: object
properties:
language:
description: Template language
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateLanguages'
messageType:
description: Types of template message
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkKakaoTalkTemplateMessageType'
emphasizeType:
description: Types of emphasized template
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkKakaoTalkTemplateEmphasizeType'
categoryCode:
type: string
description: Template category code
uniqueItems: false
securityFlag:
type: boolean
description: Security template
uniqueItems: false
name:
type: string
description: Button name
uniqueItems: false
content:
type: string
description: Template body
uniqueItems: false
extra:
type: string
description: Additional template information
uniqueItems: false
ad:
type: string
description: Request for consent of receiving within template or simple ad phrases
uniqueItems: false
title:
type: string
description: Template title
uniqueItems: false
subtitle:
type: string
description: Auxiliary template phrase
uniqueItems: false
imageName:
type: string
description: Image name (name of uploaded file)
uniqueItems: false
imageUrl:
type: string
format: url
description: Image URL
uniqueItems: false
buttons:
type: array
items:
$ref: '#/components/schemas/KakaotalkButtonDto'
description: List of buttons
uniqueItems: false
required:
- language
- messageType
- emphasizeType
- categoryCode
- securityFlag
- name
- buttons
KakaotalkTemplateChangesDetailsDto:
type: object
properties:
language:
description: Template language
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateLanguages'
messageType:
description: Types of template message
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkKakaoTalkTemplateMessageType'
emphasizeType:
description: Types of emphasized template
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkKakaoTalkTemplateEmphasizeType'
categoryCode:
type: string
description: Template category code
uniqueItems: false
securityFlag:
type: boolean
description: Security template
uniqueItems: false
name:
type: string
description: Button name
uniqueItems: false
content:
type: string
description: Template body
uniqueItems: false
extra:
type: string
description: Additional template information
uniqueItems: false
ad:
type: string
description: Request for consent of receiving within template or simple ad phrases
uniqueItems: false
title:
type: string
description: Template title
uniqueItems: false
subtitle:
type: string
description: Auxiliary template phrase
uniqueItems: false
imageName:
type: string
description: Image name (name of uploaded file)
uniqueItems: false
imageUrl:
type: string
format: url
description: Image URL
uniqueItems: false
buttons:
type: array
items:
$ref: '#/components/schemas/KakaotalkButtonDto'
description: List of buttons
uniqueItems: false
KakaotalkTemplateStatuses:
type: string
enum:
- DRAFT
- IN_PROGRESS
- REJECTED
description: Current status of the pending changes
KakaotalkTemplateChangesDto:
type: object
properties:
status:
description: Current status of the pending changes
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateStatuses'
details:
oneOf:
- $ref: '#/components/schemas/KakaotalkTemplateDetailsDto'
description: For newly created template
- $ref: '#/components/schemas/KakaotalkTemplateChangesDetailsDto'
description: For update template
description: Template details and information.
uniqueItems: false
required:
- status
- details
KakaotalkTemplateDto:
type: object
properties:
id:
type: string
description: The unique ID of the template.
uniqueItems: false
code:
type: string
description: Registered delivery template code
uniqueItems: false
state:
description: The current state of the template.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateStates'
changes:
description: Any pending changes to the template.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateChangesDto'
details:
description: Template details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateDetailsDto'
created:
type: string
description: The UTC Date Time in ISO 8601 for when the template was created.
uniqueItems: false
modified:
type: string
description: The UTC Date Time in ISO 8601 for when the template was last modified.
uniqueItems: false
required:
- code
KakaotalkTemplateListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
templates:
type: array
items:
$ref: '#/components/schemas/KakaotalkTemplateDto'
description: List of templates
uniqueItems: false
required:
- totalSize
- pageSize
- templates
KakaotalkTemplateStatesEnum:
type: string
enum:
- APPROVED
- REJECTED
KakaotalkTemplateStatusesEnum:
type: string
enum:
- DRAFT
- IN_PROGRESS
- REJECTED
KakaotalkActions:
type: string
enum:
- DRAFT
- SUBMIT
description: Create as draft or submit. Defaults to submit.
KakaotalkInputKakaoTalkButtonType:
type: string
enum:
- APP_LINK
- BOT_FOR_CONSULTATION
- BOT_KEYWORD
- BOT_TRANSFER
- BUSINESS_FORM
- CHANNEL_ID_ADDED
- DELIVERY_SEARCH
- IMAGE_SECURE_TRANSMISSION_PLUGIN_ID
- MESSAGE_DELIVERY
- ONE_CLICK_PAYMENT_PLUGIN
- PERSONAL_INFORMATION_USE_PLUGIN_ID
- WEB_LINK
description: Button type
KakaotalkInputButtonDto:
type: object
properties:
ordering:
type: number
minimum: 1
maximum: 5
description: Button sequence
uniqueItems: false
type:
description: Button type
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkInputKakaoTalkButtonType'
name:
type: string
minLength: 1
maxLength: 14
description: Button name Not required for draft.
uniqueItems: false
linkMo:
type: string
format: url
minLength: 1
maxLength: 500
description: Mobile web link
uniqueItems: false
linkPc:
type: string
format: url
minLength: 1
maxLength: 500
description: PC web link
uniqueItems: false
schemeIos:
type: string
format: url
minLength: 1
maxLength: 500
description: iOS app link
uniqueItems: false
schemeAndroid:
type: string
format: url
minLength: 1
maxLength: 500
description: Android app link
uniqueItems: false
required:
- ordering
- type
- name
KakaotalkInputTemplateLanguages:
type: string
enum:
- AF
- AR
- AZ
- BG
- BN
- CA
- CS
- DA
- DE
- EL
- EN
- EN_GB
- EN_US
- ES
- ES_AR
- ES_ES
- ES_MX
- ET
- FA
- FI
- FIL
- FR
- GA
- GU
- HA
- HE
- HI
- HR
- HU
- ID
- IT
- JA
- KA
- KK
- KN
- KO
- KY_KG
- LO
- LT
- LV
- MK
- ML
- MR
- MS
- NB
- NL
- PA
- PL
- PT_BR
- PT_PT
- RO
- RU
- RW_RW
- SK
- SL
- SQ
- SR
- SV
- SW
- TA
- TE
- TH
- TR
- UK
- UR
- UZ
- VI
- ZH_CN
- ZH_HK
- ZH_TW
- ZU
description: Template language
KakaotalkInputKakaoTalkTemplateMessageType:
type: string
enum:
- AD_INCLUDED
- BASIC
- EXTRA_INFORMATION
- MIXED
description: Types of template message
KakaotalkInputKakaoTalkTemplateEmphasizeType:
type: string
enum:
- EMPHASIZE_TYPE_IMAGE
- EMPHASIZE_TYPE_NONE
- EMPHASIZE_TYPE_TEXT
description: Types of emphasized template
KakaotalkInputTemplateDetailsDto:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 150
description: Button name
uniqueItems: false
language:
description: Template language
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkInputTemplateLanguages'
content:
type: string
minLength: 1
maxLength: 1000
description: Template body Not required for draft.
uniqueItems: false
messageType:
default: BASIC
description: Types of template message
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkInputKakaoTalkTemplateMessageType'
emphasizeType:
default: EMPHASIZE_TYPE_NONE
description: Types of emphasized template
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkInputKakaoTalkTemplateEmphasizeType'
categoryCode:
type: string
minLength: 1
maxLength: 6
default: '999999'
description: Template category code
uniqueItems: false
securityFlag:
type: boolean
default: false
description: |-
Security template
Set for security messages such as OTP
If set, message text is unexposed to all devices except for the main device at the time of sending
uniqueItems: false
extra:
type: string
minLength: 1
maxLength: 500
description: Additional template information
uniqueItems: false
title:
type: string
minLength: 1
maxLength: 50
description: |-
Template Title (No more than 50 characters,
Android: To be abbreviated if it exceeds 2 lines with more than 23 characters,
iOS: To be abbreviated if it exceeds 2 lines with more than 27 characters)
uniqueItems: false
subtitle:
type: string
minLength: 1
maxLength: 50
description: |-
Auxiliary Template Phrase (No more than 50 characters,
Android: To be abbreviated if it exceeds 18 characters,
iOS: To be abbreviated if it exceeds 21 characters)
uniqueItems: false
imageName:
type: string
minLength: 1
maxLength: 250
description: Image name (name of uploaded file)
uniqueItems: false
imageUrl:
type: string
format: url
description: |-
Image URL
- Supported mime types: `image/jpeg` or `image/png`.
- Maximum file size: 500KB.
- Minimum image dimensions: 500 x 250 px.
- Aspect ratio: 2 x 1.
uniqueItems: false
buttons:
uniqueItems: true
minItems: 0
maxItems: 5
description: List of buttons Field 'type' must have unique values across items.
type: array
items:
$ref: '#/components/schemas/KakaotalkInputButtonDto'
required:
- name
- language
- content
KakaotalkInputTemplateDto:
type: object
properties:
status:
default: SUBMIT
description: Create as draft or submit. Defaults to submit.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkActions'
details:
description: Template details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkInputTemplateDetailsDto'
saveDraftOnFailure:
type: boolean
default: false
description: Flag to save template as draft if submission fails. Defaults to false.
uniqueItems: false
required:
- details
KakaotalkInputUpdateTemplateDetailsDto:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 150
description: Button name
uniqueItems: false
content:
type: string
minLength: 1
maxLength: 1000
description: Template body
uniqueItems: false
messageType:
description: Types of template message
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkInputKakaoTalkTemplateMessageType'
emphasizeType:
description: Types of emphasized template
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkInputKakaoTalkTemplateEmphasizeType'
categoryCode:
type: string
minLength: 1
maxLength: 6
description: Template category code
uniqueItems: false
securityFlag:
type: boolean
description: |-
Security template
Set for security messages such as OTP
If set, message text is unexposed to all devices except for the main device at the time of sending
uniqueItems: false
extra:
type: string
minLength: 1
maxLength: 500
nullable: true
description: Additional template information
uniqueItems: false
title:
type: string
minLength: 1
maxLength: 50
nullable: true
description: |-
Template Title (No more than 50 characters,
Android: To be abbreviated if it exceeds 2 lines with more than 23 characters,
iOS: To be abbreviated if it exceeds 2 lines with more than 27 characters)
uniqueItems: false
subtitle:
type: string
minLength: 1
maxLength: 50
nullable: true
description: |-
Auxiliary Template Phrase (No more than 50 characters,
Android: To be abbreviated if it exceeds 18 characters,
iOS: To be abbreviated if it exceeds 21 characters)
uniqueItems: false
imageName:
type: string
minLength: 1
maxLength: 250
nullable: true
description: Image name (name of uploaded file)
uniqueItems: false
imageUrl:
type: string
format: url
nullable: true
description: |-
Image URL
- Supported mime types: `image/jpeg` or `image/png`.
- Maximum file size: 500KB.
- Minimum image dimensions: 500 x 250 px.
- Aspect ratio: 2 x 1.
uniqueItems: false
buttons:
uniqueItems: true
minItems: 0
maxItems: 5
nullable: true
description: List of buttons Field 'type' must have unique values across items.
type: array
items:
$ref: '#/components/schemas/KakaotalkInputButtonDto'
KakaotalkInputUpdateTemplateDto:
type: object
properties:
status:
default: DRAFT
description: Create as draft or submit. Defaults to draft.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkActions'
details:
description: Template details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkInputUpdateTemplateDetailsDto'
KakaotalkCommentType:
type: string
enum:
- CREATED
KakaotalkCommentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkCommentType'
comment:
type: string
uniqueItems: false
created:
type: string
uniqueItems: false
required:
- type
- comment
KakaotalkCommentInputDto:
type: object
properties:
comment:
type: string
minLength: 1
maxLength: 65535
uniqueItems: false
required:
- comment
KakaotalkTemplateNotificationType:
type: string
enum:
- COMMENT_ADDED
- CREATED
- DRAFT
- EDITED
- IN_PROGRESS
- REJECTED
KakaotalkTemplateNotificationDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkTemplateNotificationType'
created:
type: string
uniqueItems: false
author:
type: string
uniqueItems: false
comment:
type: string
uniqueItems: false
required:
- type
KakaotalkTemplateNotificationListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
notifications:
type: array
items:
$ref: '#/components/schemas/KakaotalkTemplateNotificationDto'
uniqueItems: false
required:
- totalSize
- pageSize
- notifications
KakaotalkSenderStates:
type: string
enum:
- ACTIVE
- BLOCKED
- INACTIVE
- SUSPENDED
- VERIFYING
description: The current state of the sender.
KakaotalkSenderDetailsDto:
type: object
properties:
adminPhoneNo:
type: string
description: Admin phone
uniqueItems: false
name:
type: string
description: Sender name
uniqueItems: false
logoImage:
type: string
description: Sender logo
uniqueItems: false
topLevelCategoryCode:
type: string
description: Top level category code, must consist of 3 digits (e.g. 001).
uniqueItems: false
midLevelCategoryCode:
type: string
description: Mid level category code, must consist of 4 digits (e.g. 0001).
uniqueItems: false
subLevelCategoryCode:
type: string
description: Sub level category code, must consist of 4 digits (e.g. 0001).
uniqueItems: false
required:
- adminPhoneNo
- name
- topLevelCategoryCode
- midLevelCategoryCode
- subLevelCategoryCode
KakaotalkSenderChangesDetailsDto:
type: object
properties:
adminPhoneNo:
type: string
description: Admin phone
uniqueItems: false
name:
type: string
description: Sender name
uniqueItems: false
logoImage:
type: string
description: Sender logo
uniqueItems: false
topLevelCategoryCode:
type: string
description: Top level category code, must consist of 3 digits (e.g. 001).
uniqueItems: false
midLevelCategoryCode:
type: string
description: Mid level category code, must consist of 4 digits (e.g. 0001).
uniqueItems: false
subLevelCategoryCode:
type: string
description: Sub level category code, must consist of 4 digits (e.g. 0001).
uniqueItems: false
KakaotalkSenderStatuses:
type: string
enum:
- DRAFT
- IN_PROGRESS
- REJECTED
description: Current status of the pending changes.
KakaotalkSenderChangesDto:
type: object
properties:
status:
description: Current status of the pending changes.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkSenderStatuses'
details:
oneOf:
- $ref: '#/components/schemas/KakaotalkSenderDetailsDto'
description: For newly created sender
- $ref: '#/components/schemas/KakaotalkSenderChangesDetailsDto'
description: For update sender
description: Sender details and information.
uniqueItems: false
required:
- status
- details
KakaotalkSenderDto:
type: object
properties:
id:
type: string
description: The unique ID of the sender.
uniqueItems: false
plusFriendId:
type: string
description: PlusFriend ID
uniqueItems: false
state:
description: The current state of the sender.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkSenderStates'
changes:
description: Any pending changes to the sender.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkSenderChangesDto'
details:
description: Sender details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkSenderDetailsDto'
created:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was created.
uniqueItems: false
modified:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was last modified.
uniqueItems: false
required:
- plusFriendId
KakaotalkInputSenderDetailsDto:
type: object
properties:
adminPhoneNo:
type: string
minLength: 1
maxLength: 15
description: Admin phone Not required for draft.
format: phone number
uniqueItems: false
name:
type: string
minLength: 1
maxLength: 512
description: Sender name Not required for draft.
uniqueItems: false
logoImage:
type: string
description: |-
Sender logo
- Supported mime types: `image/jpeg` or `image/png`.
- Maximum file size: 5MB.
format: url
uniqueItems: false
topLevelCategoryCode:
type: string
description: Top level category code, must consist of 3 digits (e.g. 001). Not required for draft.
uniqueItems: false
midLevelCategoryCode:
type: string
description: Mid level category code, must consist of 4 digits (e.g. 0001). Not required for draft.
uniqueItems: false
subLevelCategoryCode:
type: string
description: Sub level category code, must consist of 4 digits (e.g. 0001). Not required for draft.
uniqueItems: false
required:
- adminPhoneNo
- name
- topLevelCategoryCode
- midLevelCategoryCode
- subLevelCategoryCode
KakaotalkInputSenderDto:
type: object
properties:
status:
description: Create as draft or submit. Defaults to submit.
default: SUBMIT
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkActions'
saveDraftOnFailure:
type: boolean
default: false
description: Flag to save template as draft if submission fails. Defaults to false.
uniqueItems: false
plusFriendId:
type: string
description: PlusFriend ID
minLength: 1
maxLength: 30
uniqueItems: false
details:
description: Sender details and information. Not required for draft.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkInputSenderDetailsDto'
required:
- plusFriendId
- details
KakaotalkInputVerifySenderDto:
type: object
properties:
code:
type: number
example: 123456
description: Numeric code to verify the sender.
uniqueItems: false
required:
- code
KakaotalkSenderListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
senders:
type: array
items:
$ref: '#/components/schemas/KakaotalkSenderDto'
description: List of senders.
uniqueItems: false
required:
- totalSize
- pageSize
- senders
KakaotalkSenderStatesEnum:
type: string
enum:
- ACTIVE
- BLOCKED
- INACTIVE
- SUSPENDED
- VERIFYING
KakaotalkSenderStatusesEnum:
type: string
enum:
- DRAFT
- IN_PROGRESS
- REJECTED
KakaotalkSenderNotificationType:
type: string
enum:
- ACTIVE
- COMMENT_ADDED
- CREATED
- DRAFT
- EDITED
- IN_PROGRESS
- INACTIVE
- REJECTED
KakaotalkSenderNotificationDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkSenderNotificationType'
created:
type: string
uniqueItems: false
author:
type: string
uniqueItems: false
comment:
type: string
uniqueItems: false
required:
- type
KakaotalkSenderNotificationListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
notifications:
type: array
items:
$ref: '#/components/schemas/KakaotalkSenderNotificationDto'
uniqueItems: false
required:
- totalSize
- pageSize
- notifications
KakaotalkInputUpdateSenderDetailsDto:
type: object
properties:
adminPhoneNo:
type: string
minLength: 1
maxLength: 15
description: Admin phone
format: phone number
uniqueItems: false
name:
type: string
minLength: 1
maxLength: 512
description: Sender name
uniqueItems: false
logoImage:
type: string
description: Sender logo
format: url
nullable: true
uniqueItems: false
topLevelCategoryCode:
type: string
description: Top level category code, must consist of 3 digits (e.g. 001).
uniqueItems: false
midLevelCategoryCode:
type: string
description: Mid level category code, must consist of 4 digits (e.g. 0001).
uniqueItems: false
subLevelCategoryCode:
type: string
description: Sub level category code, must consist of 4 digits (e.g. 0001).
uniqueItems: false
KakaotalkInputUpdateSenderDto:
type: object
properties:
status:
default: DRAFT
description: Create as draft or submit. Defaults to draft.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkActions'
details:
description: Sender details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/KakaotalkInputUpdateSenderDetailsDto'
ConversationChannelStatus:
type: string
enum:
- ACTIVE
- ERROR
- FAILING
- PENDING
- UNRECOGNIZED
description: Channel integration status.
ConversationTelegramBotInfoDto:
type: object
properties:
status:
description: Channel integration status.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/ConversationChannelStatus'
statusDescription:
type: string
description: Channel integration description if status is ERROR or FAILED.
uniqueItems: false
name:
type: string
description: Name of the bot.
uniqueItems: false
username:
type: string
description: Username of the bot.
uniqueItems: false
canJoinGroups:
type: boolean
description: If the bot can be invited to groups.
uniqueItems: false
canReadAllGroupMessages:
type: boolean
description: If privacy mode is disabled for the bot.
uniqueItems: false
supportsInlineQueries:
type: boolean
description: If the bot supports inline queries.
uniqueItems: false
required:
- status
ConversationAccountLocationDto:
type: object
properties:
lon:
type: number
description: Location longitude
uniqueItems: false
lat:
type: number
description: Location latitude
uniqueItems: false
required:
- lon
- lat
ConversationViberBotInfoDto:
type: object
properties:
status:
description: Channel integration status.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/ConversationChannelStatus'
statusDescription:
type: string
description: Channel integration description if status is ERROR or FAILED.
uniqueItems: false
id:
type: string
description: Account ID
uniqueItems: false
name:
type: string
description: Account name
uniqueItems: false
uri:
type: string
description: Account URI
uniqueItems: false
icon:
type: string
description: Account icon URI
uniqueItems: false
category:
type: string
description: Account category
uniqueItems: false
subcategory:
type: string
description: Account subcategory
uniqueItems: false
location:
description: Account location
uniqueItems: false
allOf:
- $ref: '#/components/schemas/ConversationAccountLocationDto'
country:
type: string
description: Account country name (long)
uniqueItems: false
subscribersCount:
type: number
description: Account subscribers count
uniqueItems: false
required:
- status
ConversationInstagramInfoDto:
type: object
properties:
status:
description: Channel integration status.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/ConversationChannelStatus'
statusDescription:
type: string
description: Channel integration description if status is ERROR or FAILED.
uniqueItems: false
id:
type: string
description: Instagram ID.
uniqueItems: false
name:
type: string
description: Public profile name if set.
uniqueItems: false
username:
type: string
description: Profile username.
uniqueItems: false
biography:
type: string
description: Public profile biography if set.
uniqueItems: false
followersCount:
type: number
description: Total number of Instagram users following the sender.
uniqueItems: false
followsCount:
type: number
description: Total number of Instagram users the sender follows.
uniqueItems: false
mediaCount:
type: number
description: Total number of Instagram Media published on the sender.
uniqueItems: false
profilePictureUrl:
type: string
description: Public profile picture URL if set.
uniqueItems: false
website:
type: string
description: Public profile website URL if set.
uniqueItems: false
required:
- status
ConversationMessengerInfoDto:
type: object
properties:
status:
description: Channel integration status.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/ConversationChannelStatus'
statusDescription:
type: string
description: Channel integration description if status is ERROR or FAILED.
uniqueItems: false
id:
type: string
description: The ID of the page.
uniqueItems: false
name:
type: string
description: The name of the page.
uniqueItems: false
globalBrandPageName:
type: string
description: The name of the Page with country codes appended for Global Pages. Only visible to the Page admin.
uniqueItems: false
required:
- status
RcsAccountNotificationType:
type: string
enum:
- COMMENT_ADDED
- CREATED
RcsAccountNotificationDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsAccountNotificationType'
created:
type: string
uniqueItems: false
author:
type: string
uniqueItems: false
comment:
type: string
uniqueItems: false
required:
- type
RcsAccountNotificationListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
notifications:
type: array
items:
$ref: '#/components/schemas/RcsAccountNotificationDto'
uniqueItems: false
required:
- totalSize
- pageSize
- notifications
RcsCommentType:
type: string
enum:
- CREATED
RcsCommentDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsCommentType'
comment:
type: string
uniqueItems: false
created:
type: string
uniqueItems: false
required:
- type
- comment
RcsCommentInputDto:
type: object
properties:
comment:
type: string
minLength: 1
maxLength: 65535
uniqueItems: false
required:
- comment
RcsOperatorStatus:
type: string
enum:
- LAUNCHED
- NOT_LAUNCHED
- PENDING
- PENDING_UNLAUNCHED
- REJECTED
- SUSPENDED
- UNLAUNCHED
- INVALID_IN_GOOGLE_MY_BUSINESS
- UNRECOGNIZED
description: Operator status.
RcsOperatorDto:
type: object
properties:
name:
type: string
description: Operator name.
uniqueItems: false
status:
description: Operator status.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsOperatorStatus'
remark:
type: string
description: Any comments or notes to the current state.
uniqueItems: false
modified:
type: string
description: Last date the operator changed state.
uniqueItems: false
required:
- name
- status
RcsCountryCodes:
type: string
enum:
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BW
- BY
- BZ
- CA
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CW
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GT
- GU
- GW
- GY
- HK
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SX
- SY
- SZ
- TC
- TD
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UM
- US
- UY
- UZ
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XK
- YE
- YT
- ZA
- ZM
- ZW
- UNRECOGNIZED
description: Two-letter country code in ISO 3166 standard.
RcsCountryStatusDto:
type: object
properties:
country:
description: Two-letter country code in ISO 3166 standard.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsCountryCodes'
status:
description: Country status.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsOperatorStatus'
operators:
type: array
items:
$ref: '#/components/schemas/RcsOperatorDto'
description: Mobile network operators.
uniqueItems: false
required:
- country
- status
- operators
RcsTestNumberStates:
type: string
enum:
- DECLINED
- INVALID
- PENDING
- UNVERIFIED
- VERIFIED
- UNRECOGNIZED
description: Test phone state.
RcsTestNumberStateDto:
type: object
properties:
number:
type: string
format: e.164 phone number
description: Test phone number.
uniqueItems: false
state:
description: Test phone state.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsTestNumberStates'
submitted:
type: string
description: Date of submitting phone number.
uniqueItems: false
required:
- number
- state
- submitted
RcsConversationApiAppRegionsEnum:
type: string
enum:
- BR
- EU
- US
- UNRECOGNIZED
description: App region.
RcsConversationApiAppDto:
type: object
properties:
id:
type: string
description: ID of the app
uniqueItems: false
projectId:
type: string
description: ID of the app project
uniqueItems: false
region:
description: App region.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsConversationApiAppRegionsEnum'
required:
- id
- projectId
- region
RcsSenderStates:
type: string
enum:
- DRAFT
- IN_PROGRESS
- IN_TEST
- LAUNCHED
- LAUNCHING
- PREPARING_LAUNCH
- UNLAUNCHED
- UNKNOWN
description: The current state of the sender.
RcsEmailDto:
type: object
properties:
label:
type: string
description: Contact email label.
uniqueItems: false
address:
type: string
format: email
description: Contact email address.
uniqueItems: false
required:
- label
- address
RcsPhoneDto:
type: object
properties:
label:
type: string
description: Contact phone label.
uniqueItems: false
number:
oneOf:
- type: string
format: e.164 phone number
- type: string
format: numeric phone number
description: Contact phone number.
uniqueItems: false
required:
- label
- number
RcsWebsiteDto:
type: object
properties:
label:
type: string
description: Contact website label.
uniqueItems: false
url:
type: string
format: url
description: Contact website address.
uniqueItems: false
required:
- label
- url
RcsSenderDetailsBrandDto:
type: object
properties:
name:
type: string
description: Brand name.
uniqueItems: false
emails:
type: array
items:
$ref: '#/components/schemas/RcsEmailDto'
description: Contact emails.
uniqueItems: false
phones:
type: array
items:
$ref: '#/components/schemas/RcsPhoneDto'
description: Contact phone numbers.
uniqueItems: false
websites:
type: array
items:
$ref: '#/components/schemas/RcsWebsiteDto'
description: Contact websites.
uniqueItems: false
color:
type: string
format: hex
description: Brand color (HEX code).
uniqueItems: false
description:
type: string
description: Brand description.
uniqueItems: false
bannerUrl:
type: string
format: url
description: Brand banner url.
uniqueItems: false
logoUrl:
type: string
format: url
description: Brand logo url.
uniqueItems: false
privacyPolicyUrl:
type: string
format: url
description: Privacy Policy URL.
uniqueItems: false
termsOfServiceUrl:
type: string
format: url
description: Terms & Conditions URL.
uniqueItems: false
RcsSenderDetailsQuestionnaireQuestionObjectDto:
type: object
properties:
question:
type: string
readOnly: true
description: Human readable question.
uniqueItems: false
suggestedAnswers:
readOnly: true
description: Suggested answers to the question.
uniqueItems: false
type: array
items:
type: string
required:
- question
- suggestedAnswers
RcsSenderDetailsQuestionnaireGeneralQuestionsDto:
type: object
properties:
optInDescription:
readOnly: true
description: How you obtain opt-in to message users.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
triggerDescription:
readOnly: true
description: Actions that triggers messages to users.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
interactionsDescription:
readOnly: true
description: Interactions with users.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
optOutDescription:
readOnly: true
description: The message the sender sends when a user opts out.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
videoUris:
readOnly: true
description: Publicly available URIs for videos of the sender, for review purposes only.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
screenshotUris:
readOnly: true
description: Publicly available URIs for screenshots of the sender, for review purposes only.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
required:
- optInDescription
- triggerDescription
- interactionsDescription
- optOutDescription
- videoUris
- screenshotUris
RcsSenderDetailsQuestionnaireAnswerMetadataDto:
type: object
properties:
ignore:
type: string
description: Ignore given string on launch, e.g. custom delimiter.
uniqueItems: false
RcsSenderDetailsQuestionnaireGeneralAnswersDto:
type: object
properties:
optInDescription:
type: string
description: How you obtain opt-in to message users.
uniqueItems: false
optInDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataDto'
triggerDescription:
type: string
description: Actions that triggers messages to users.
uniqueItems: false
triggerDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataDto'
interactionsDescription:
type: string
description: Interactions with users.
uniqueItems: false
interactionsDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataDto'
optOutDescription:
type: string
description: The message the sender sends when a user opts out.
uniqueItems: false
optOutDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataDto'
videoUris:
minItems: 1
description: Publicly available URIs for videos of the sender, for review purposes only.
uniqueItems: false
type: array
items:
type: string
format: url
screenshotUris:
minItems: 1
description: Publicly available URIs for screenshots of the sender, for review purposes only.
uniqueItems: false
type: array
items:
type: string
format: url
RcsSenderDetailsQuestionnaireGeneralDto:
type: object
properties:
questions:
readOnly: true
description: Launch questions
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGeneralQuestionsDto'
answers:
description: Launch answers
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGeneralAnswersDto'
required:
- questions
- answers
RcsSenderDetailsQuestionnaireVerificationQuestionsDto:
type: object
properties:
name:
readOnly: true
description: Name of verification contact.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
email:
readOnly: true
description: Email of verification contact.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
title:
readOnly: true
description: Title of verification contact.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
website:
readOnly: true
description: Website of verification contact.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
required:
- name
- email
- title
- website
RcsSenderDetailsQuestionnaireVerificationAnswersDto:
type: object
properties:
name:
type: string
description: Name of verification contact.
uniqueItems: false
email:
type: string
format: email
description: Email of verification contact.
uniqueItems: false
title:
type: string
description: Title of verification contact.
uniqueItems: false
website:
type: string
format: url
description: Website of verification contact.
uniqueItems: false
RcsSenderDetailsQuestionnaireVerificationDto:
type: object
properties:
questions:
readOnly: true
description: Verification questions.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireVerificationQuestionsDto'
answers:
description: Verification answers.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireVerificationAnswersDto'
required:
- questions
- answers
RcsSenderDetailsQuestionnaireGBQuestionsDto:
type: object
properties:
brandIndustry:
readOnly: true
description: Sector or industry of business.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
companyLegalName:
readOnly: true
description: The registered legal name of the company.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
companyRegistrationNumber:
readOnly: true
description: The company registration number.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
fullCompanyAddress:
readOnly: true
description: Full company address.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
messagesVolume:
readOnly: true
description: Messages volume.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
messagesFrequency:
readOnly: true
description: Messages frequency.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
campaignLength:
readOnly: true
description: Length of campaign.
deprecated: true
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
required:
- brandIndustry
- companyLegalName
- companyRegistrationNumber
- fullCompanyAddress
- messagesVolume
- messagesFrequency
- campaignLength
RcsSenderDetailsQuestionnaireGBAnswersDto:
type: object
properties:
brandIndustry:
type: string
description: Sector or industry of business.
uniqueItems: false
companyLegalName:
type: string
description: The registered legal name of the company.
uniqueItems: false
companyRegistrationNumber:
type: string
description: The company registration number.
uniqueItems: false
fullCompanyAddress:
type: string
description: Full company address.
uniqueItems: false
fullCompanyAddressMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataDto'
messagesVolume:
type: string
description: Messages volume.
uniqueItems: false
messagesFrequency:
type: string
description: Messages frequency.
uniqueItems: false
campaignLength:
type: string
description: Length of campaign.
deprecated: true
uniqueItems: false
RcsSenderDetailsQuestionnaireGBDto:
type: object
properties:
questions:
readOnly: true
description: Launch questions specific for UK.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGBQuestionsDto'
answers:
description: Launch answers specific for UK.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGBAnswersDto'
required:
- questions
- answers
RcsSenderDetailsQuestionnaireFRQuestionsDto:
type: object
properties:
fullCompanyAddress:
readOnly: true
description: Full company address.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
usersAmount:
readOnly: true
deprecated: true
description: No longer required - Will be removed end of August 2025.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
startDate:
readOnly: true
deprecated: true
description: No longer required - Will be removed end of August 2025.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
siren:
readOnly: true
description: Company directory identification system number.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
required:
- fullCompanyAddress
- siren
RcsSenderDetailsQuestionnaireFRAnswersDto:
type: object
properties:
fullCompanyAddress:
type: string
description: Full company address.
uniqueItems: false
fullCompanyAddressMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataDto'
usersAmount:
type: string
deprecated: true
description: No longer required - Will be removed end of August 2025.
uniqueItems: false
startDate:
type: string
deprecated: true
description: No longer required - Will be removed end of August 2025.
uniqueItems: false
siren:
type: string
pattern: ^\d+$
minLength: 9
maxLength: 9
description: Company directory identification system number.
uniqueItems: false
RcsSenderDetailsQuestionnaireFRDto:
type: object
properties:
questions:
readOnly: true
description: Launch questions specific for France.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireFRQuestionsDto'
answers:
description: Launch answers specific for France.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireFRAnswersDto'
required:
- questions
- answers
RcsSenderDetailsQuestionnaireESQuestionsDto:
type: object
properties:
firstMessage:
readOnly: true
description: The first message sent from the sender to the user.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
required:
- firstMessage
RcsSenderDetailsQuestionnaireESAnswersDto:
type: object
properties:
firstMessage:
type: string
description: The first message sent from the sender to the user.
uniqueItems: false
RcsSenderDetailsQuestionnaireESDto:
type: object
properties:
questions:
readOnly: true
description: Launch questions specific for Spain.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireESQuestionsDto'
answers:
description: Launch answers specific for Spain.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireESAnswersDto'
required:
- questions
- answers
RcsSenderDetailsQuestionnaireUSQuestionsDto:
type: object
properties:
companyLegalName:
readOnly: true
description: The registered legal name of the company.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
ein:
readOnly: true
description: 'Employer Identification Number (EIN) nine-digit number assigned by IRS, following format: XX-XXXXXXX.'
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
brandIndustry:
readOnly: true
description: Sector or industry of business.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
fullCompanyAddress:
readOnly: true
description: Full company address.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
smsCampaign:
readOnly: true
description: US SMS campaign used as fallback.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
messagesVolume:
readOnly: true
description: Messages volume.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireQuestionObjectDto'
required:
- companyLegalName
- ein
- brandIndustry
- fullCompanyAddress
- smsCampaign
- messagesVolume
RcsSenderDetailsQuestionnaireUSAnswersDto:
type: object
properties:
companyLegalName:
type: string
description: The registered legal name of the company.
uniqueItems: false
ein:
type: string
description: 'Employer Identification Number (EIN) nine-digit number assigned by IRS, following format: XX-XXXXXXX.'
uniqueItems: false
brandIndustry:
type: string
description: Sector or industry of business.
uniqueItems: false
fullCompanyAddress:
type: string
description: Full company address.
uniqueItems: false
fullCompanyAddressMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataDto'
smsCampaign:
type: string
description: US SMS campaign used as fallback.
uniqueItems: false
messagesVolume:
type: string
description: Messages volume.
uniqueItems: false
RcsSenderDetailsQuestionnaireUSDto:
type: object
properties:
questions:
readOnly: true
description: Launch questions specific for US.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireUSQuestionsDto'
answers:
description: Launch answers specific for US.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireUSAnswersDto'
required:
- questions
- answers
RcsSenderDetailsQuestionnaireDto:
type: object
properties:
general:
description: General launch questions
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGeneralDto'
verification:
description: Verification questions.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireVerificationDto'
gb:
description: Launch questions specific for UK.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGBDto'
fr:
description: Launch questions specific for France.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireFRDto'
es:
description: Launch questions specific for Spain.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireESDto'
us:
description: Launch questions specific for US.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireUSDto'
required:
- general
- verification
RcsSenderDetailsDto:
type: object
properties:
brand:
description: Brand information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsBrandDto'
callbackUrl:
type: string
format: url
description: Use Webhooks instead for sender update events.
deprecated: true
uniqueItems: false
testNumbers:
description: Phone numbers for testing.
uniqueItems: false
type: array
items:
type: string
format: e.164 phone number
countries:
type: array
description: List of two-letter country codes in ISO 3166 standard, specifying the countries to launch RCS sender in.
uniqueItems: false
items:
$ref: '#/components/schemas/RcsCountryCodes'
questionnaire:
description: |2-
Launch questionnaire.
The launch questionnaire is based on information required by different Suppliers and Operators. As such, especially the country specific, may be subject to change.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireDto'
required:
- questionnaire
RcsSenderRegions:
type: string
enum:
- BR
- EU
- US
description: Region sender is provisioned in.
RcsSenderBillingCategories:
type: string
enum:
- BASIC_MESSAGE
- CONVERSATIONAL
- CONVERSATIONAL_LEGACY
- SINGLE_MESSAGE
description: Billing category.
RcsSenderUseCases:
type: string
enum:
- MULTIUSE
- OTP
- PROMOTIONAL
- TRANSACTIONAL
description: Use case.
RcsSenderHostingRegions:
type: string
enum:
- ASIA_PACIFIC
- EUROPE
- NORTH_AMERICA
description: Internal Google hosting region
RcsSupplierDetailsGoogleDto:
type: object
properties:
agentId:
type: string
description: Google agent id.
uniqueItems: false
RcsSupplierDetailsDto:
type: object
properties:
google:
description: Google supplier details.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSupplierDetailsGoogleDto'
RcsSenderDto:
type: object
properties:
id:
type: string
description: The unique ID of the sender.
uniqueItems: false
conversationApiApp:
type: string
description: If set, the Conversation API App ID the sender is connected to.
deprecated: true
uniqueItems: false
conversationApiAppDetails:
description: If set, the details of the Conversation API App the sender is connected to.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsConversationApiAppDto'
state:
description: The current state of the sender.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderStates'
testNumberStates:
type: array
items:
$ref: '#/components/schemas/RcsTestNumberStateDto'
description: Test phone numbers states.
uniqueItems: false
countryStatus:
type: array
items:
$ref: '#/components/schemas/RcsCountryStatusDto'
description: Countries status.
uniqueItems: false
details:
description: Sender details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsDto'
region:
description: Region sender is provisioned in.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderRegions'
billingCategory:
description: Billing category.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderBillingCategories'
useCase:
description: Use case.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderUseCases'
hostingRegion:
description: Internal Google hosting region
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderHostingRegions'
authName:
type: string
description: The name is needed to connect the sender to a Conversation API App.
uniqueItems: false
authToken:
type: string
description: The token is needed to connect the sender to a Conversation API App.
uniqueItems: false
created:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was created.
uniqueItems: false
modified:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was last modified.
uniqueItems: false
supplierDetails:
description: Supplier details.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSupplierDetailsDto'
launched:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was last launched.
uniqueItems: false
required:
- id
- region
- billingCategory
- useCase
- hostingRegion
RcsSenderListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
senders:
type: array
items:
$ref: '#/components/schemas/RcsSenderDto'
description: List of senders.
uniqueItems: false
required:
- totalSize
- pageSize
- senders
RcsSenderStatesEnum:
type: string
enum:
- DRAFT
- IN_PROGRESS
- IN_TEST
- LAUNCHED
- LAUNCHING
- PREPARING_LAUNCH
- UNLAUNCHED
- UNKNOWN
RcsSenderSortColumnsEnum:
type: string
enum:
- CREATED
- MODIFIED
- NAME
- STATE
RcsSortDirectionsEnum:
type: string
enum:
- ASC
- DESC
RcsInputSenderRegions:
type: string
enum:
- BR
- EU
- US
description: Region sender is provisioned in.
RcsInputSenderBillingCategories:
type: string
enum:
- BASIC_MESSAGE
- CONVERSATIONAL
- CONVERSATIONAL_LEGACY
- SINGLE_MESSAGE
description: Billing category.
RcsInputSenderUseCases:
type: string
enum:
- MULTIUSE
- OTP
- PROMOTIONAL
- TRANSACTIONAL
description: Use case.
RcsEmailInputDto:
type: object
properties:
label:
type: string
minLength: 0
maxLength: 25
description: Contact email label.
uniqueItems: false
address:
type: string
format: email
description: Contact email address.
uniqueItems: false
required:
- label
- address
RcsPhoneInputDto:
type: object
properties:
label:
type: string
minLength: 0
maxLength: 25
description: Contact phone label.
uniqueItems: false
number:
type: string
minLength: 6
maxLength: 15
description: Contact phone number. Must be a phone number without country code and without separators, or a valid e.164 phone number.
uniqueItems: false
required:
- label
- number
RcsWebsiteInputDto:
type: object
properties:
label:
type: string
minLength: 0
maxLength: 25
description: Contact website label.
uniqueItems: false
url:
type: string
format: url
maxLength: 255
description: Contact website address.
uniqueItems: false
required:
- label
- url
RcsSenderDetailsBrandInputDto:
type: object
properties:
name:
type: string
minLength: 0
maxLength: 40
description: Brand name.
uniqueItems: false
emails:
minItems: 1
maxItems: 3
description: Contact emails. Field 'address' must have unique values across items.
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/RcsEmailInputDto'
phones:
minItems: 1
maxItems: 3
description: Contact phone numbers. Field 'number' must have unique values across items.
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/RcsPhoneInputDto'
websites:
minItems: 1
maxItems: 3
description: Contact websites. Field 'url' must have unique values across items.
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/RcsWebsiteInputDto'
color:
type: string
format: hex
description: Brand color (HEX code).
default: '#000000'
uniqueItems: false
description:
type: string
minLength: 0
maxLength: 100
description: Brand description.
uniqueItems: false
bannerUrl:
type: string
format: url
description: |-
Brand banner url.
- Supported mime types: `image/jpeg` or `image/png`.
- Maximum file size: 200KB.
- Exact image dimensions: 1440 x 448 px.
uniqueItems: false
logoUrl:
type: string
format: url
description: |-
Brand logo url.
- Supported mime types: `image/jpeg` or `image/png`.
- Maximum file size: 50KB.
- Exact image dimensions: 224 x 224 px.
uniqueItems: false
privacyPolicyUrl:
type: string
format: url
description: Privacy Policy URL.
uniqueItems: false
termsOfServiceUrl:
type: string
format: url
description: Terms & Conditions URL.
uniqueItems: false
RcsInputCountryCodes:
type: string
enum:
- AT
- BE
- BR
- CA
- CZ
- DK
- FI
- FR
- DE
- IT
- MX
- NL
- 'NO'
- PL
- PT
- SG
- SK
- ES
- SE
- US
- GB
description: List of two-letter country codes in ISO 3166 standard, specifying the countries to launch RCS sender in.
RcsSenderDetailsQuestionnaireAnswerMetadataInputDto:
type: object
properties:
ignore:
type: string
description: Ignore given string on launch, e.g. custom delimiter.
uniqueItems: false
RcsSenderDetailsQuestionnaireGeneralAnswersInputDto:
type: object
properties:
optInDescription:
type: string
description: How you obtain opt-in to message users.
uniqueItems: false
optInDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataInputDto'
triggerDescription:
type: string
description: Actions that triggers messages to users.
uniqueItems: false
triggerDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataInputDto'
interactionsDescription:
type: string
description: Interactions with users.
uniqueItems: false
interactionsDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataInputDto'
optOutDescription:
type: string
description: The message the sender sends when a user opts out.
uniqueItems: false
optOutDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataInputDto'
videoUris:
minItems: 1
description: Publicly available URIs for videos of the sender, for review purposes only.
uniqueItems: false
type: array
items:
type: string
format: url
screenshotUris:
minItems: 1
description: Publicly available URIs for screenshots of the sender, for review purposes only.
uniqueItems: false
type: array
items:
type: string
format: url
RcsSenderDetailsQuestionnaireGeneralInputDto:
type: object
properties:
answers:
description: Launch answers
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGeneralAnswersInputDto'
required:
- answers
RcsSenderDetailsQuestionnaireVerificationAnswersInputDto:
type: object
properties:
name:
type: string
description: Name of verification contact.
uniqueItems: false
email:
type: string
format: email
description: Email of verification contact.
uniqueItems: false
title:
type: string
description: Title of verification contact.
uniqueItems: false
website:
type: string
format: url
description: Website of verification contact.
uniqueItems: false
RcsSenderDetailsQuestionnaireVerificationInputDto:
type: object
properties:
answers:
description: Verification answers.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireVerificationAnswersInputDto'
required:
- answers
RcsSenderDetailsQuestionnaireGBAnswersInputDto:
type: object
properties:
brandIndustry:
type: string
description: Sector or industry of business.
uniqueItems: false
companyLegalName:
type: string
description: The registered legal name of the company.
uniqueItems: false
companyRegistrationNumber:
type: string
description: The company registration number.
uniqueItems: false
fullCompanyAddress:
type: string
description: Full company address.
uniqueItems: false
fullCompanyAddressMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataDto'
messagesVolume:
type: string
description: Messages volume.
uniqueItems: false
messagesFrequency:
type: string
description: Messages frequency.
uniqueItems: false
campaignLength:
type: string
description: Length of campaign.
deprecated: true
uniqueItems: false
RcsSenderDetailsQuestionnaireGBInputDto:
type: object
properties:
answers:
description: Launch answers specific for UK.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGBAnswersInputDto'
required:
- answers
RcsSenderDetailsQuestionnaireFRAnswersInputDto:
type: object
properties:
fullCompanyAddress:
type: string
description: Full company address.
uniqueItems: false
fullCompanyAddressMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataInputDto'
usersAmount:
type: string
deprecated: true
description: No longer required - Will be removed end of August 2025.
uniqueItems: false
startDate:
type: string
deprecated: true
description: No longer required - Will be removed end of August 2025.
uniqueItems: false
siren:
type: string
pattern: ^\d+$
minLength: 9
maxLength: 9
description: Company directory identification system number.
uniqueItems: false
RcsSenderDetailsQuestionnaireFRInputDto:
type: object
properties:
answers:
description: Launch answers specific for France.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireFRAnswersInputDto'
required:
- answers
RcsSenderDetailsQuestionnaireESAnswersInputDto:
type: object
properties:
firstMessage:
type: string
description: The first message sent from the sender to the user.
uniqueItems: false
RcsSenderDetailsQuestionnaireESInputDto:
type: object
properties:
answers:
description: Launch answers specific for Spain.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireESAnswersInputDto'
required:
- answers
RcsSenderDetailsQuestionnaireUSAnswersInputDto:
type: object
properties:
companyLegalName:
type: string
description: The registered legal name of the company.
uniqueItems: false
ein:
type: string
description: 'Employer Identification Number (EIN) nine-digit number assigned by IRS, following format: XX-XXXXXXX.'
uniqueItems: false
brandIndustry:
type: string
description: Sector or industry of business.
uniqueItems: false
fullCompanyAddress:
type: string
description: Full company address.
uniqueItems: false
fullCompanyAddressMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireAnswerMetadataDto'
smsCampaign:
type: string
description: US SMS campaign used as fallback.
uniqueItems: false
messagesVolume:
type: string
description: Messages volume.
uniqueItems: false
RcsSenderDetailsQuestionnaireUSInputDto:
type: object
properties:
answers:
description: Launch answers specific for US.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireUSAnswersInputDto'
required:
- answers
RcsSenderDetailsQuestionnaireInputDto:
type: object
properties:
general:
description: General launch questions
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGeneralInputDto'
verification:
description: Verification questions.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireVerificationInputDto'
gb:
description: Launch questions specific for UK.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGBInputDto'
fr:
description: Launch questions specific for France.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireFRInputDto'
es:
description: Launch questions specific for Spain.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireESInputDto'
us:
description: Launch questions specific for US.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireUSInputDto'
RcsSenderDetailsInputDto:
type: object
properties:
brand:
description: Brand information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsBrandInputDto'
testNumbers:
maxItems: 20
uniqueItems: true
description: Phone numbers for testing.
type: array
items:
type: string
format: e.164 phone number
countries:
type: array
minItems: 1
uniqueItems: true
description: List of two-letter country codes in ISO 3166 standard, specifying the countries to launch RCS sender in.
items:
$ref: '#/components/schemas/RcsInputCountryCodes'
questionnaire:
description: |2-
Launch questionnaire.
The launch questionnaire is based on information required by different Suppliers and Operators. As such, especially the country specific, may be subject to change.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireInputDto'
RcsSenderInputDto:
type: object
properties:
region:
description: Region sender is provisioned in.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsInputSenderRegions'
billingCategory:
description: Billing category.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsInputSenderBillingCategories'
useCase:
description: Use case.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsInputSenderUseCases'
details:
description: Sender details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsInputDto'
required:
- region
- billingCategory
- useCase
RcsUpdateSenderDetailsBrandInputDto:
type: object
properties:
name:
type: string
minLength: 0
maxLength: 40
description: Brand name.
uniqueItems: false
emails:
minItems: 1
maxItems: 3
description: Contact emails. If null the value will be deleted. Field 'address' must have unique values across items.
nullable: true
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/RcsEmailInputDto'
phones:
minItems: 1
maxItems: 3
description: Contact phone numbers. If null the value will be deleted. Field 'number' must have unique values across items.
nullable: true
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/RcsPhoneInputDto'
websites:
minItems: 1
maxItems: 3
description: Contact websites. If null the value will be deleted. Field 'url' must have unique values across items.
nullable: true
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/RcsWebsiteInputDto'
color:
type: string
format: hex
description: Brand color (HEX code).
uniqueItems: false
description:
type: string
minLength: 0
maxLength: 100
description: Brand description.
uniqueItems: false
bannerUrl:
type: string
format: url
description: |-
Brand banner url.
- Supported mime types: `image/jpeg` or `image/png`.
- Maximum file size: 200KB.
- Exact image dimensions: 1440 x 448 px.
uniqueItems: false
logoUrl:
type: string
format: url
description: |-
Brand logo url.
- Supported mime types: `image/jpeg` or `image/png`.
- Maximum file size: 50KB.
- Exact image dimensions: 224 x 224 px.
uniqueItems: false
privacyPolicyUrl:
type: string
format: url
description: Privacy Policy URL.
uniqueItems: false
termsOfServiceUrl:
type: string
format: url
description: Terms & Conditions URL.
uniqueItems: false
RcsUpdateSenderDetailsQuestionnaireAnswerMetadataInputDto:
type: object
properties:
ignore:
type: string
nullable: true
description: Ignore given string on launch, e.g. custom delimiter. If null the value will be deleted.
uniqueItems: false
RcsUpdateSenderDetailsQuestionnaireGeneralAnswersInputDto:
type: object
properties:
optInDescription:
type: string
nullable: true
description: How you obtain opt-in to message users. If null the value will be deleted.
uniqueItems: false
optInDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireAnswerMetadataInputDto'
triggerDescription:
type: string
nullable: true
description: Actions that triggers messages to users. If null the value will be deleted.
uniqueItems: false
triggerDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireAnswerMetadataInputDto'
interactionsDescription:
type: string
nullable: true
description: Interactions with users. If null the value will be deleted.
uniqueItems: false
interactionsDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireAnswerMetadataInputDto'
optOutDescription:
type: string
nullable: true
description: The message the sender sends when a user opts out. If null the value will be deleted.
uniqueItems: false
optOutDescriptionMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireAnswerMetadataInputDto'
videoUris:
nullable: true
minItems: 1
description: Publicly available URIs for videos of the sender, for review purposes only. If null the value will be deleted.
uniqueItems: false
type: array
items:
type: string
format: url
screenshotUris:
nullable: true
minItems: 1
description: Publicly available URIs for screenshots of the sender, for review purposes only. If null the value will be deleted.
uniqueItems: false
type: array
items:
type: string
format: url
RcsUpdateSenderDetailsQuestionnaireGeneralInputDto:
type: object
properties:
answers:
description: Launch answers
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireGeneralAnswersInputDto'
required:
- answers
RcsUpdateSenderDetailsQuestionnaireVerificationAnswersInputDto:
type: object
properties:
name:
type: string
nullable: true
description: Name of verification contact. If null the value will be deleted.
uniqueItems: false
email:
type: string
format: email
nullable: true
description: Email of verification contact. If null the value will be deleted.
uniqueItems: false
title:
type: string
nullable: true
description: Title of verification contact. If null the value will be deleted.
uniqueItems: false
website:
type: string
format: url
nullable: true
description: Website of verification contact. If null the value will be deleted.
uniqueItems: false
RcsUpdateSenderDetailsQuestionnaireVerificationInputDto:
type: object
properties:
answers:
description: Verification answers.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireVerificationAnswersInputDto'
required:
- answers
RcsUpdateSenderDetailsQuestionnaireGBAnswersInputDto:
type: object
properties:
brandIndustry:
type: string
nullable: true
description: Sector or industry of business. If null the value will be deleted.
uniqueItems: false
companyLegalName:
type: string
nullable: true
description: The registered legal name of the company. If null the value will be deleted.
uniqueItems: false
companyRegistrationNumber:
type: string
nullable: true
description: The company registration number.
uniqueItems: false
fullCompanyAddress:
type: string
nullable: true
description: Full company address. If null the value will be deleted.
uniqueItems: false
fullCompanyAddressMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireAnswerMetadataInputDto'
messagesVolume:
type: string
nullable: true
description: Messages volume. If null the value will be deleted.
uniqueItems: false
messagesFrequency:
type: string
nullable: true
description: Messages frequency. If null the value will be deleted.
uniqueItems: false
campaignLength:
type: string
nullable: true
description: Length of campaign. If null the value will be deleted.
deprecated: true
uniqueItems: false
RcsUpdateSenderDetailsQuestionnaireGBInputDto:
type: object
properties:
answers:
description: Launch answers specific for UK.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireGBAnswersInputDto'
required:
- answers
RcsUpdateSenderDetailsQuestionnaireFRAnswersInputDto:
type: object
properties:
fullCompanyAddress:
type: string
nullable: true
description: Full company address.
uniqueItems: false
fullCompanyAddressMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireAnswerMetadataInputDto'
siren:
type: string
pattern: ^\d+$
minLength: 9
maxLength: 9
nullable: true
description: Company directory identification system number.
uniqueItems: false
RcsUpdateSenderDetailsQuestionnaireFRInputDto:
type: object
properties:
answers:
description: Launch answers specific for France.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireFRAnswersInputDto'
required:
- answers
RcsUpdateSenderDetailsQuestionnaireESAnswersInputDto:
type: object
properties:
firstMessage:
type: string
nullable: true
description: The first message sent from the sender to the user.
uniqueItems: false
RcsUpdateSenderDetailsQuestionnaireESInputDto:
type: object
properties:
answers:
description: Launch answers specific for Spain.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireESAnswersInputDto'
required:
- answers
RcsUpdateSenderDetailsQuestionnaireUSAnswersInputDto:
type: object
properties:
companyLegalName:
type: string
nullable: true
description: The registered legal name of the company.
uniqueItems: false
ein:
type: string
nullable: true
description: 'Employer Identification Number (EIN) nine-digit number assigned by IRS, following format: XX-XXXXXXX.'
uniqueItems: false
brandIndustry:
type: string
nullable: true
description: Sector or industry of business.
uniqueItems: false
fullCompanyAddress:
type: string
nullable: true
description: Full company address.
uniqueItems: false
fullCompanyAddressMetadata:
description: Metadata for specified answer.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireAnswerMetadataInputDto'
smsCampaign:
type: string
nullable: true
description: US SMS campaign used as fallback.
uniqueItems: false
messagesVolume:
type: string
nullable: true
description: Messages volume.
uniqueItems: false
RcsUpdateSenderDetailsQuestionnaireUSInputDto:
type: object
properties:
answers:
description: Launch answers specific for US.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireUSAnswersInputDto'
required:
- answers
RcsUpdateSenderDetailsQuestionnaireInputDto:
type: object
properties:
general:
description: General launch questions
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireGeneralInputDto'
verification:
description: Verification questions.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireVerificationInputDto'
gb:
description: Launch questions specific for UK.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireGBInputDto'
fr:
description: Launch questions specific for France.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireFRInputDto'
es:
description: Launch questions specific for Spain.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireESInputDto'
us:
description: Launch questions specific for US.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireUSInputDto'
RcsUpdateSenderDetailsInputDto:
type: object
properties:
brand:
description: Brand information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsBrandInputDto'
testNumbers:
maxItems: 20
uniqueItems: true
description: Phone numbers for testing. If null the value will be deleted.
nullable: true
type: array
items:
type: string
format: e.164 phone number
countries:
type: array
minItems: 1
uniqueItems: true
description: List of two-letter country codes in ISO 3166 standard, specifying the countries to launch RCS sender in. If null the value will be deleted.
nullable: true
items:
$ref: '#/components/schemas/RcsInputCountryCodes'
questionnaire:
description: |2-
Launch questionnaire.
The launch questionnaire is based on information required by different Suppliers and Operators. As such, especially the country specific, may be subject to change.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsQuestionnaireInputDto'
RcsUpdateSenderInputDto:
type: object
properties:
details:
description: Sender details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpdateSenderDetailsInputDto'
required:
- details
RcsSenderNotificationType:
type: string
enum:
- ACTIVE
- COMMENT_ADDED
- CREATED
- DELETED
- EDITED
- INACTIVE
- TEST
RcsSenderNotificationDto:
type: object
properties:
type:
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderNotificationType'
created:
type: string
uniqueItems: false
author:
type: string
uniqueItems: false
comment:
type: string
uniqueItems: false
required:
- type
RcsSenderNotificationListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
notifications:
type: array
items:
$ref: '#/components/schemas/RcsSenderNotificationDto'
uniqueItems: false
required:
- totalSize
- pageSize
- notifications
RcsTestNumberFeatures:
type: string
enum:
- ACTION_COMPOSE
- ACTION_CREATE_CALENDAR_EVENT
- ACTION_DIAL
- ACTION_OPEN_URL
- ACTION_OPEN_URL_IN_WEBVIEW
- ACTION_SHARE_LOCATION
- ACTION_VIEW_LOCATION
- REVOCATION
- RICHCARD_CAROUSEL
- RICHCARD_STANDALONE
- FEATURE_UNSPECIFIED
- UNRECOGNIZED
description: List of RBM features that this device supports.
RcsTestNumberCapabilitiesDto:
type: object
properties:
features:
type: array
description: List of RBM features that this device supports.
uniqueItems: false
items:
$ref: '#/components/schemas/RcsTestNumberFeatures'
required:
- features
RcsTestNumbersDto:
type: object
properties:
testNumbers:
type: array
items:
$ref: '#/components/schemas/RcsTestNumberStateDto'
description: Test numbers states.
uniqueItems: false
required:
- testNumbers
RcsTestNumbersInputDto:
type: object
properties:
testNumbers:
maxItems: 20
uniqueItems: true
description: Phone numbers for testing.
type: array
items:
type: string
format: e.164 phone number
required:
- testNumbers
RcsSenderDetailsQuestionnaireGeneralBaseDto:
type: object
properties:
questions:
readOnly: true
description: Launch questions
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGeneralQuestionsDto'
required:
- questions
RcsSenderDetailsQuestionnaireVerificationBaseDto:
type: object
properties:
questions:
readOnly: true
description: Verification questions.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireVerificationQuestionsDto'
required:
- questions
RcsSenderDetailsQuestionnaireGBBaseDto:
type: object
properties:
questions:
readOnly: true
description: Launch questions specific for UK.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGBQuestionsDto'
required:
- questions
RcsSenderDetailsQuestionnaireFRBaseDto:
type: object
properties:
questions:
readOnly: true
description: Launch questions specific for France.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireFRQuestionsDto'
required:
- questions
RcsSenderDetailsQuestionnaireESBaseDto:
type: object
properties:
questions:
readOnly: true
description: Launch questions specific for Spain.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireESQuestionsDto'
required:
- questions
RcsSenderDetailsQuestionnaireUSBaseDto:
type: object
properties:
questions:
readOnly: true
description: Launch questions specific for US.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireUSQuestionsDto'
required:
- questions
RcsSenderDetailsQuestionnaireBaseDto:
type: object
properties:
general:
description: General launch questions
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGeneralBaseDto'
verification:
description: Verification questions.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireVerificationBaseDto'
gb:
description: Launch questions specific for UK.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireGBBaseDto'
fr:
description: Launch questions specific for France.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireFRBaseDto'
es:
description: Launch questions specific for Spain.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireESBaseDto'
us:
description: Launch questions specific for US.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsQuestionnaireUSBaseDto'
required:
- general
- verification
RcsInputSenderUseCasesEnum:
type: string
enum:
- MULTIUSE
- OTP
- PROMOTIONAL
- TRANSACTIONAL
RcsInputCountryCodesEnum:
type: string
enum:
- AT
- BE
- BR
- CA
- CZ
- DK
- FI
- FR
- DE
- IT
- MX
- NL
- 'NO'
- PL
- PT
- SG
- SK
- ES
- SE
- US
- GB
RcsUpscaleSenderDto:
type: object
properties:
id:
type: string
description: The unique ID of the sender.
uniqueItems: false
conversationApiApp:
type: string
description: If set, the Conversation API App ID the sender is connected to.
deprecated: true
uniqueItems: false
conversationApiAppDetails:
description: If set, the details of the Conversation API App the sender is connected to.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsConversationApiAppDto'
state:
description: The current state of the sender.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderStates'
testNumberStates:
type: array
items:
$ref: '#/components/schemas/RcsTestNumberStateDto'
description: Test phone numbers states.
uniqueItems: false
countryStatus:
type: array
items:
$ref: '#/components/schemas/RcsCountryStatusDto'
description: Countries status.
uniqueItems: false
details:
description: Sender details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderDetailsDto'
region:
description: Region sender is provisioned in.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderRegions'
billingCategory:
description: Billing category.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderBillingCategories'
useCase:
description: Use case.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderUseCases'
hostingRegion:
description: Internal Google hosting region
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSenderHostingRegions'
authName:
type: string
description: The name is needed to connect the sender to a Conversation API App.
uniqueItems: false
authToken:
type: string
description: The token is needed to connect the sender to a Conversation API App.
uniqueItems: false
created:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was created.
uniqueItems: false
modified:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was last modified.
uniqueItems: false
supplierDetails:
description: Supplier details.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsSupplierDetailsDto'
launched:
type: string
description: The UTC Date Time in ISO 8601 for when the sender was last launched.
uniqueItems: false
isUpscaled:
type: boolean
description: Whether RCS sender is already upscaled.
uniqueItems: false
required:
- id
- region
- billingCategory
- useCase
- hostingRegion
- isUpscaled
RcsUpscaleSenderListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
senders:
type: array
items:
$ref: '#/components/schemas/RcsUpscaleSenderDto'
description: List of senders.
uniqueItems: false
required:
- totalSize
- pageSize
- senders
RcsInternalUpscaleCountryCodes:
type: string
enum:
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BW
- BY
- BZ
- CA
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CW
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GT
- GU
- GW
- GY
- HK
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SX
- SY
- SZ
- TC
- TD
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UM
- US
- UY
- UZ
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XK
- YE
- YT
- ZA
- ZM
- ZW
description: The upscale country code (ISO 3166-1 alpha-2).
RcsPublicUpscaleStates:
type: string
enum:
- DOWNSCALING
- DOWNSCALING_FAILED
- UPSCALED
- UPSCALING
- UPSCALING_FAILED
description: The current state of upscale.
RcsUpscaleSmsResourceTypesNumeric:
type: string
enum:
- NUMERIC
description: NUMERIC
RcsNumberTypes:
type: string
enum:
- LONG_NUMBER
- SHORT_CODE
- TYPE_UNSPECIFIED
- UNRECOGNIZED
description: The number type.
RcsInternalUpscaleDetailsSmsNumericDetailsDto:
type: object
properties:
number:
type: string
description: Readable number (E.164 msisdn format).
uniqueItems: false
countryCode:
description: The number country code (ISO 3166-1 alpha-2).
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsCountryCodes'
numberType:
description: The number type.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsNumberTypes'
required:
- number
- countryCode
- numberType
RcsUpscaleDetailsSmsNumericDto:
type: object
properties:
type:
description: NUMERIC
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpscaleSmsResourceTypesNumeric'
numberId:
type: string
description: The ID of number.
uniqueItems: false
smsAppId:
type: string
description: The ID of sms app.
uniqueItems: false
details:
description: Sms details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsInternalUpscaleDetailsSmsNumericDetailsDto'
required:
- type
- numberId
- smsAppId
- details
RcsUpscaleDetailsSmsDtoDeprecated:
type: object
properties:
numberId:
type: string
description: The ID of number.
uniqueItems: false
smsAppId:
type: string
description: The ID of sms app.
uniqueItems: false
details:
description: Sms details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsInternalUpscaleDetailsSmsNumericDetailsDto'
description: UpscaleDetailsSmsDto is deprecated. Please use UpscaleDetailsSmsByType.
required:
- numberId
- smsAppId
- details
RcsUpscaleDetailsRcsDto:
type: object
properties:
senderId:
type: string
description: The ID of rcs sender.
uniqueItems: false
required:
- senderId
RcsUpscaleDetailsConvAppDto:
type: object
properties:
appId:
type: string
description: The ID of conversation app.
uniqueItems: false
required:
- appId
RcsRcsUpscaleDetailsDto:
type: object
properties:
rcs:
description: RCS details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpscaleDetailsRcsDto'
sms:
oneOf:
- $ref: '#/components/schemas/RcsUpscaleDetailsSmsNumericDto'
- $ref: '#/components/schemas/RcsUpscaleDetailsSmsDtoDeprecated'
description: SMS details and information.
uniqueItems: false
convApp:
description: Conversation app details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpscaleDetailsConvAppDto'
required:
- rcs
- sms
- convApp
RcsRcsUpscaleDto:
type: object
properties:
id:
type: string
description: The ID of upscale.
uniqueItems: false
countryCode:
description: The upscale country code (ISO 3166-1 alpha-2).
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsInternalUpscaleCountryCodes'
created:
type: string
description: The UTC Date Time in ISO 8601 for when the upscale was created.
uniqueItems: false
updated:
type: string
description: The UTC Date Time in ISO 8601 for when the upscale was updated.
uniqueItems: false
terminated:
type: string
description: The UTC Date Time in ISO 8601 for when the upscale was terminated.
uniqueItems: false
state:
description: The current state of upscale.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsPublicUpscaleStates'
details:
description: Upscale details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsRcsUpscaleDetailsDto'
required:
- id
- countryCode
- created
- updated
- state
- details
RcsRcsUpscaleListDto:
type: object
properties:
totalSize:
type: number
description: Total size of the entries matching the search query.
uniqueItems: false
pageSize:
type: number
description: Requested size of the page.
uniqueItems: false
previousPageToken:
type: string
description: Encoded token to use in list request to fetch previous batch of entries.
uniqueItems: false
nextPageToken:
type: string
description: Encoded token to use in list request to fetch next batch of entries.
uniqueItems: false
upscales:
description: List of upscales.
uniqueItems: false
type: array
items:
$ref: '#/components/schemas/RcsRcsUpscaleDto'
required:
- totalSize
- pageSize
- upscales
RcsPublicUpscaleStatesEnum:
type: string
enum:
- DOWNSCALING
- DOWNSCALING_FAILED
- UPSCALED
- UPSCALING
- UPSCALING_FAILED
RcsInputUpscaleCountryCodes:
type: string
enum:
- GB
- DE
- SE
- MX
- US
- IT
- DK
- BR
- ES
- NL
- SG
- PT
- CA
- AT
- BE
- PL
- SK
- CZ
- 'NO'
- FR
description: The upscale country code (ISO 3166-1 alpha-2).
RcsInputUpscaleDetailsSmsNumericDto:
type: object
properties:
type:
description: NUMERIC
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsUpscaleSmsResourceTypesNumeric'
numberId:
type: string
format: uuid without hyphens
description: The ID of number.
uniqueItems: false
required:
- type
- numberId
RcsInputUpscaleDetailsSmsDtoDeprecated:
type: object
properties:
numberId:
type: string
format: uuid without hyphens
description: The ID of number.
uniqueItems: false
description: InputUpscaleDetailsSmsDto is deprecated. Please use InputUpscaleDetailsSmsByType.
required:
- numberId
RcsInputUpscaleDetailsRcsDto:
type: object
properties:
senderId:
type: string
format: uuid
description: The ID of rcs sender.
uniqueItems: false
required:
- senderId
RcsInputRcsUpscaleDetailsDto:
type: object
properties:
rcs:
description: RCS details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsInputUpscaleDetailsRcsDto'
sms:
oneOf:
- $ref: '#/components/schemas/RcsInputUpscaleDetailsSmsNumericDto'
- $ref: '#/components/schemas/RcsInputUpscaleDetailsSmsDtoDeprecated'
description: SMS details and information.
uniqueItems: false
required:
- rcs
- sms
RcsInputRcsUpscaleDto:
type: object
properties:
countryCode:
description: The upscale country code (ISO 3166-1 alpha-2).
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsInputUpscaleCountryCodes'
details:
description: Upscale details and information.
uniqueItems: false
allOf:
- $ref: '#/components/schemas/RcsInputRcsUpscaleDetailsDto'
required:
- countryCode
- details