openapi: 3.2.0 info: version: 1.0.0 title: 8x8 Contact Center Dynamic Campaigns Record Management API contact: name: Dynamic Campaigns Team email: ro-rec@8x8.com termsOfService: http://www.8x8.com/terms-and-conditions description: "The 8x8 Contact Center Dynamic Campaigns API:\n* Adds and removes records from an active campaign\n* Sends records to a specified campaign via the API\n* Adds records to a live campaign\n* Removes records from a campaign so they are not dialed again\n* Schedules a callback with a possible maximum of 7 days in advance\n* Schedules uploads for a maximum of 5 million records\n\n## Campaign form\n\nYour campaign with associated tenant is of the form:\n\n**`https://{your tenant url}/api/tstats/campaigns/{campaign-id}`**\n\nFor example:\n\n**`https://vcc-eu5.8x8.com/api/tstats/campaigns/101/`**\n## Add a customer to a campaign\nTo add a customer to a campaign:\n\n**`https://{your tenant url}/api/tstats/campaigns/{campaign-id}/customers`**\n\nFor example:\n\n**`https://vcc-eu5.8x8.com/api/tstats/campaigns/101/customers`**\n\n## Delete a customer from a campaign\nTo delete a customer from a campaign take the following form:\n\n**`https://{your tenant url}/api/tstats/campaigns/{campaign-id}/customers/{customer-id}`**\n\nFor example:\n\n**`https://vcc-eu5.8x8.com/api/tstats/campaigns/101/customers/10000111`**\n\nThe complete list of platform URLs is available on the [8x8 Contact Center - Platform URL Guide.](https://files.mtstatic.com/site_12249/2500/3?Expires=1601933655&Signature=ebyMEramVyRMGdgkVXwJH~2~-ovb7XLq5zV4Q3oWfsRa8l-6ZZq~sK64tHhRPU-GW7W~lYw22~gBmPbCop9l~uy10KC6skH0xvMqrIbBCQGwitAc-83vP8Lu6vBIQxWP5sGqS6JXekSgqcq7stTw-RMLsFDT8fXK4~qyGoMlqNs_&Key-Pair-Id=APKAJ5Y6AV4GI7A555NA) \n\nFor further configuration information refer to [8x8 Contact Center Dynamic Campaign API Configuration.](https://support.8x8.com/cloud-contact-center/virtual-contact-center/developers/8x8-contact-center-dynamic-campaign-api-configuration) " servers: - description: AP1 url: https://vcc-ap1.8x8.com/api/tstats/campaigns - description: AU1 url: https://vcc-au1.8x8.com/api/tstats/campaigns - description: BC2 url: https://odcc2.bell.ca/api/tstats/campaigns - description: CA1 url: https://vcc-ca1.8x8.com/api/tstats/campaigns - description: CA2 url: https://vcc-ca2.8x8.com/api/tstats/campaigns - description: EU2 url: https://vcc-eu2.8x8.com/api/tstats/campaigns - description: EU3 url: https://vcc-eu3.8x8.com/api/tstats/campaigns - description: EU4 url: https://vcc-eu4.8x8.com/api/tstats/campaigns - description: EU5 url: https://vcc-eu5.8x8.com/api/tstats/campaigns - description: EU6 url: https://vcc-eu6.8x8.com/api/tstats/campaigns - description: EU7 url: https://vcc-eu7.8x8.com/api/tstats/campaigns - description: EU9 url: https://vcc-eu9.8x8.com/api/tstats/campaigns - description: EU10 url: https://vcc-eu10.8x8.com/api/tstats/campaigns - description: EU11 url: https://vcc-eu11.8x8.com/api/tstats/campaigns - description: EU12 url: https://vcc-eu12.8x8.com/api/tstats/campaigns - description: NA1 url: https://vcc-na1.8x8.com/api/tstats/campaigns - description: NA2 url: https://vcc-na2.8x8.com/api/tstats/campaigns - description: NA3 url: https://vcc-na3.8x8.com/api/tstats/campaigns - description: NA4 url: https://vcc-na4.8x8.com/api/tstats/campaigns - description: NA5 url: https://vcc-na5.8x8.com/api/tstats/campaigns - description: NA6 url: https://vcc-na6.8x8.com/api/tstats/campaigns - description: NA7 url: https://vcc-na7.8x8.com/api/tstats/campaigns - description: NA8 url: https://vcc-na8.8x8.com/api/tstats/campaigns - description: NA9 url: https://vcc-na9.8x8.com/api/tstats/campaigns - description: NA10 url: https://vcc-na10.8x8.com/api/tstats/campaigns - description: NA11 url: https://vcc-na11.8x8.com/api/tstats/campaigns - description: NA12 url: https://vcc-na12.8x8.com/api/tstats/campaigns - description: NA13 url: https://vcc-na13.8x8.com/api/tstats/campaigns - description: NA14 url: https://vcc-na14.8x8.com/api/tstats/campaigns - description: NA15 url: https://vcc-na15.8x8.com/api/tstats/campaigns - description: NA16 url: https://vcc-na16.8x8.com/api/tstats/campaigns - description: NA17 url: https://vcc-na17.8x8.com/api/tstats/campaigns - description: NA18 url: https://vcc-na18.8x8.com/api/tstats/campaigns - description: NA19 url: https://vcc-na19.8x8.com/api/tstats/campaigns - description: NA20 url: https://vcc-na20.8x8.com/api/tstats/campaigns - description: NA27 url: https://vcc-na27.8x8.com/api/tstats/campaigns - description: NA28 url: https://vcc-na28.8x8.com/api/tstats/campaigns - description: NA29 url: https://vcc-na29.8x8.com/api/tstats/campaigns - description: NA30 url: https://vcc-na30.8x8.com/api/tstats/campaigns - description: NA37 url: https://vcc-na37.8x8.com/api/tstats/campaigns - description: NA38 url: https://vcc-na38.8x8.com/api/tstats/campaigns - description: NA39 url: https://vcc-na39.8x8.com/api/tstats/campaigns - description: NA40 url: https://vcc-na40.8x8.com/api/tstats/campaigns security: - ccActionBasicAuth: [] tags: - name: Record Management description: Add and remove records from campaigns paths: /{campaign-id}/customers: post: tags: - Record Management summary: Add a new customer to an existing campaign operationId: addcustomer description: 'Add a new customer to an existing campaign **Note: the campaign must be have dynamic campaign enabled to leverage this feature**' parameters: - $ref: '#/components/parameters/CampaignId' responses: '207': description: Multi-status result; review the message body to check results for each individual item. content: application/json: schema: $ref: '#/components/schemas/CustomerItemResponseList' '400': description: Multiple errors - review examples content: application/json: schema: $ref: '#/components/schemas/internalServerError' examples: CampaignStopped: value: message: The campaign has stopped. No additional customers can be added. CampaignNew: value: message: The operation is invalid for a campaign that has not started. InvalidCustomer: value: message: The provided customer list is invalid. NotDynamicCampaign: value: message: This is not a dynamic campaign. CampaignNotEnabled: value: message: The campaign is not enabled. '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/internalServerError' examples: CampaignStopped: value: message: Internal server error requestBody: description: Add customer item content: application/json: schema: $ref: '#/components/schemas/CustomerItemList' /{campaign-id}/customers/{customer-id}: delete: tags: - Record Management summary: This method deletes customers from an existing campaign. operationId: deletecustomer description: 'This method deletes a customer from an existing campaign. You can delete new, queued, or scheduled customers. You should not delete customers that have received, completed, or already deleted offers. If the customer has been offered the delete method it will fail and if the agent rejects the call it be re-queued again. The delete method can then be called again. **Note: the campaign must be have dynamic campaign enabled to leverage this feature**' parameters: - $ref: '#/components/parameters/CampaignId' - $ref: '#/components/parameters/CustomerId' responses: '204': description: the customer has been deleted. '400': description: The customer is not available for deletion. content: application/json: schema: $ref: '#/components/schemas/internalServerError' examples: CampaignStopped: value: message: The campaign has stopped. No customers can be deleted. NotDynamicCampaign: value: message: This is not a dynamic campaign. CampaignNotEnabled: value: message: This campaign is not enabled. '404': description: The customer has not been located. '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/internalServerError' examples: CampaignStopped: value: message: Internal server error components: schemas: CustomerItemResponseList: type: array items: $ref: '#/components/schemas/CustomerItemResponse' example: - customer-id: 1000000 schedule-date-time: '2016-08-29T09:00:00.000Z' http-status: 200 - customer-id: 1000001 http-status: 200 - customer-id: 1000999 http-status: 400 message: Duplicate customer - customer-id: 1000777 schedule-date-time: 2016-08-29T 09:00:00.000Z http-status: 400 message: Invalid schedule-date-time format - please use ISO 8601 format - customer-id: null http-status: 400 message: Invalid customer-id - customer-id: 9 http-status: 404 message: The customer-id has not been found. - customer-id: 10000 schedule-date-time: '2016-08-29T09:00:00.000Z' http-status: 400 message: The subject schedule-date-time is in the past. - customer-id: 1000778 schedule-date-time: '2016-08-29T09:00:00.000Z' http-status: 400 message: The subject schedule-date-time is outside the campaign schedule from 2016-08-27T09:00:00.000Z to 2016-08-28T09:00:00.000Z. - customer-id: 100002 schedule-date-time: '2016-08-29T09:00:00.000Z' http-status: 400 message: The subject schedule-date-time must be within 7 days ahead of a future period. CustomerItemList: type: array items: $ref: '#/components/schemas/CustomerItem' example: - customer-id: 1000000 schedule-date-time: '2016-08-29T09:00:00.000Z' - customer-id: 1000999 - customer-id: 1000777 internalServerError: type: object required: - message properties: message: type: string format: string CustomerItemResponse: type: object required: - customer-id - http-status properties: customer-id: type: string format: int32 maximum: 1.0e+22 example: 1000000 schedule-date-time: type: string format: date-time example: '2016-08-29T09:00:00.000Z' http-status: type: string format: int32 example: 200 message: type: string format: string example: Duplicate customer CustomerItem: type: object required: - customer-id properties: customer-id: type: string format: int32 maximum: 1.0e+22 example: 1000000 schedule-date-time: type: string format: date-time example: '2016-08-29T09:00:00.000Z' parameters: CustomerId: name: customer-id in: path description: The customer ID is the id of the record in the 8x8 Local CRM. This is also known as the `ACCOUNTNUM` or Account Number required: true style: simple explode: false schema: type: string format: int32 example: 1000000 CampaignId: name: campaign-id in: path description: The campaign ID is the unique Campaign ID of the campaign as listed in CC Configuration Manager under Campaigns (column can be added if not visible) required: true style: simple explode: false schema: type: integer format: int32 example: 1 securitySchemes: ccActionBasicAuth: type: http scheme: basic description: The username is the tenantId and the password is the CC action-token. x-apigee-id: Dynamic_campaigns x-readme: explorer-enabled: true proxy-enabled: true