Skip to content

Conversation Manager APIs

This section provides the requisite APIs needed to create Conversation Manager accounts and to configure conversation workflows. To create the Conversation Manager acccount, use the Conversation APIs in this order when setting up a complete eGain application:

  • Authentication
  • Client Application
  • Participant
  • Channel
  • Orchestration
  • Account

After the account is created you can use the following APIs to send / receive messages.

  • Conversation
  • Asset

Note: You can configure your system to use third party Bots and third party Channels. The API instructions provided here assume you are using eGain's application setup.

Download OpenAPI description
Languages
Servers
Production Server
https://api.egain.cloud/conversation/conversationmgr/v3

Authentication

Use this API to register client callback Authentication methods using oAuth or Basic Authentication.

Operations

Client Application

Use this API to register external client applications where we send and receive messages.

Operations

Participant

Use this API to register Bots. You can register multiple Bots for each client application.

Operations

Create Participant

Request

Overview

This API allow you to register participant New Account API process flow: Authenticiation > Client Application > Participant > Channel > Orchestration > Account

Scope

Client application must have 'app.conversation.conversationmgr.manage' scope assigned.

Security
oAuthClient(Required scopes:
https://api.egain.cloud/auth/.de...
)
Bodyapplication/json

Create participant

namestring[ 1 .. 255 ] charactersrequired

Unique name for participant

typestringrequired

Type of participant. eGain Bot participants are created automatically when bot is created in eGain VA application.

Enum"custom_bot""egain_bot"
descriptionstring[ 1 .. 1023 ] characters
activeboolean
Default true
applicationobjectrequired
application.​idstring= 36 charactersrequired

ID to clientApplication, messages for this participant are sent to call back url registered in this client application

Example: "d987d07a-d59c-11ea-87d0-0242ac130001"
intentsobject(Intents)

Intents supported by bot.

optionsArray of objects(Attribute)[ 1 .. 25 ] items
curl -i -X POST \
  https://api.egain.cloud/conversation/conversationmgr/v3/participants \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "custom_bot_participant",
    "type": "custom_bot",
    "active": true,
    "application": {
      "id": "9d091084-3ca8-4afc-97e1-8b0ad52fc38f"
    },
    "intents": {
      "intent": [
        {
          "value": "order_complaints",
          "displayValue": "Order Complaints"
        },
        {
          "value": "sales_enquiries",
          "displayValue": "Sales Enquiries"
        }
      ]
    }
  }'

Responses

Created

Bodyapplication/json
idstring= 36 characters

UUID generated for the object.

Response
application/json
{ "id": "45a095f4-d0ee-4220-a689-22b541c58f61" }

Get Participants

Request

Overview

Use this API to Get details of all participants.

Scope

Client application must have 'app.conversation.conversationmgr.manage' or 'app.conversation.conversationmgr.read' scope assigned.

Security
oAuthClient(Required scopes:
https://api.egain.cloud/auth/.de...
)
curl -i -X GET \
  https://api.egain.cloud/conversation/conversationmgr/v3/participants \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
paginationInfoobject(PaginationInfo)
participantArray of objects(GetParticipantData)
Example: [{"id":"ae103957-9c82-4fa8-a34e-925be85e06ec","name":"custom_bot_participant_1","type":"custom_bot","active":true,"application":{"id":"9d091084-3ca8-4afc-97e1-8b0ad52fc38f"},"modified":"2021-03-06T21:16:36.838Z","created":"2021-03-06T21:16:36.838Z"},{"id":"b5fc053c-77f4-4445-b6df-2e744aef8f4f","name":"custom_bot_participant_2","type":"custom_bot","active":true,"application":{"id":"9d091084-3ca8-4afc-97e1-8b0ad52fc38f"},"modified":"2021-03-06T21:16:36.838Z","created":"2021-03-21T03:08:57.190Z"}]
Response
application/json
{ "participant": [ {}, {} ] }

Get Participant

Request

Overview

Use this API to Get details of an existing Participant

Scope

Client application must have 'app.conversation.conversationmgr.manage' or 'app.conversation.conversationmgr.read' scope assigned.

Security
oAuthClient(Required scopes:
https://api.egain.cloud/auth/.de...
)
Path
idstring= 36 charactersrequired

id of object

Example: 7b6c5fff-036e-4a40-b68a-a67c592fc079
curl -i -X GET \
  https://api.egain.cloud/conversation/conversationmgr/v3/participants/7b6c5fff-036e-4a40-b68a-a67c592fc079 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
idstring= 36 characters
createdstring(date-time)

Last modified time in GMT

modifiedstring(date-time)

Last modified time in GMT

namestring[ 1 .. 255 ] charactersrequired

Unique name for participant

typestringrequired

Type of participant. eGain Bot participants are created automatically when bot is created in eGain VA application.

Enum"custom_bot""egain_bot"
descriptionstring[ 1 .. 1023 ] characters
activeboolean
Default true
applicationobjectrequired
application.​idstring= 36 charactersrequired

ID to clientApplication, messages for this participant are sent to call back url registered in this client application

Example: "d987d07a-d59c-11ea-87d0-0242ac130001"
intentsobject(Intents)

Intents supported by bot.

optionsArray of objects(Attribute)[ 1 .. 25 ] items
Response
application/json
{ "id": "ae103957-9c82-4fa8-a34e-925be85e06ec", "name": "custom_bot_participant", "type": "custom_bot", "active": true, "application": { "id": "9d091084-3ca8-4afc-97e1-8b0ad52fc38f" }, "created": "2021-03-06T21:16:36.838Z", "modified": "2021-03-06T21:16:36.838Z" }

Update Participant

Request

Overview

Use this API to update an existing participant.

Scope

Client application must have 'app.conversation.conversationmgr.manage' scope assigned.

Security
oAuthClient(Required scopes:
https://api.egain.cloud/auth/.de...
)
Path
idstring= 36 charactersrequired

id of object

Example: 7b6c5fff-036e-4a40-b68a-a67c592fc079
Bodyapplication/json

Update participant

namestring[ 1 .. 255 ] charactersrequired

Unique name for participant

typestringrequired

Type of participant. eGain Bot participants are created automatically when bot is created in eGain VA application.

Enum"custom_bot""egain_bot"
descriptionstring[ 1 .. 1023 ] characters
activeboolean
Default true
applicationobjectrequired
application.​idstring= 36 charactersrequired

ID to clientApplication, messages for this participant are sent to call back url registered in this client application

Example: "d987d07a-d59c-11ea-87d0-0242ac130001"
intentsobject(Intents)

Intents supported by bot.

optionsArray of objects(Attribute)[ 1 .. 25 ] items
modifiedstring(date-time)

Last modified time in GMT

curl -i -X PUT \
  https://api.egain.cloud/conversation/conversationmgr/v3/participants/7b6c5fff-036e-4a40-b68a-a67c592fc079 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "custom_bot_participant",
    "type": "custom_bot",
    "active": true,
    "application": {
      "id": "9d091084-3ca8-4afc-97e1-8b0ad52fc38f"
    },
    "modified": "2021-03-06T21:16:36.838Z"
  }'

Responses

No Content

Response
No content

Delete Participant

Request

Overview

Use this API to delete an existing participant.

Scope

Client application must have 'app.conversation.conversationmgr.manage' scope assigned.

Security
oAuthClient(Required scopes:
https://api.egain.cloud/auth/.de...
)
Path
idstring= 36 charactersrequired

id of object

Example: 7b6c5fff-036e-4a40-b68a-a67c592fc079
curl -i -X DELETE \
  https://api.egain.cloud/conversation/conversationmgr/v3/participants/7b6c5fff-036e-4a40-b68a-a67c592fc079 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

No Content

Response
No content

Channel

Use this API to register and define channel parameters which is used for chat messages.

Operations

Orchestration

Use this API to configure workflows for conversation between participants (Customer/Agent/Bot applications).

Operations

Account

Use this API to create the Conversation Account for Conversation Manager.

Operations

Conversation

Use this API to send messages through the Conversation Manager.

Operations

Assets

Use this API to upload/download Assets like attachments.

Operations