Configuration flow
Last updated
Last updated
GET
/external-bots
to provide your bot scenarios to iAdvize
PUT
/bots/:operatorId
to handle creation and modification of your external bot inside the iAdvize admin
GET
/bots/:operatorId
to provide your external bot details
GET
/availability-strategies
to provide the availability strategy of your external bot to iAdvize
Please note that all endpoints are subject to a 10 seconds timeout
A bot gets created when an admin creates a new agent of type “Bot” under the “Automation” section. Several information are required to be able to create a bot:
which scenario it can be associated to
what is the availability strategy associated to the bot
First, you need to implement the GET /external-bots
endpoint to list all the scenarios a new bot can be associated to. This route is called by iAdvize during the bot creation process and the result will appear directly in the scenario select picker.
A scenario can only be associated to only one bot operator, which means if you have two bot operators, you need to provide at least two scenarios.
GET /external-bots
idConnectorVersion
Query
Connector version identifier
UUID
c008849d-7cb1-40ca-9503-d6df2c5cddd8
idWebsite
Query
Project identifier on which your connector is installed on
String
ha-123
idBot
Body
Scenario identifier in integrator environment.
String
✓
my_scenario_id_1
name
Body
Name of the scenario
String
✓
Scenario 1
description
Body
Short description of the scenario
String
This scenario will ask your customers to provide some data about their orders
editorUrl
Body
Url of integrator bot editor interface, useful if you have a UI for editing scenarios
String
✓
You can validate your response data format with the associated json schema
It will look like this in the UI.
This endpoint is being called when a user finalises the bot creation or when bot information are being updated (such as name, scenario association…).
PUT /bots/:operatorId
operatorId
Path
iAdvize bot operator identifier that we associate to your bot scenario
String
ha-456678
idConnectorVersion
Query
Connector version identifier
UUID
c008849d-7cb1-40ca-9503-d6df2c5cddd8
idWebsite
Query
Project identifier on which your connector is installed on
String
ha-123
name
Body
Bot name on your platform
String
My bot
pseudo
Body
Bot pseudo used during the conversation
String
Botty
language
Body
String - ISO 3166-1 alpha-2
fr
distributionRules
Body
Distribution rule that can be used inside transfer replies
Array
distributionRules.id
Body
Distribution rule identifier
UUID
ef4670c3-d715-4a21-8226-ed17f354fc44
distributionRules.label
Body
Distribution rule label
String
Distribution rule label
external.idBot
Body
Existing bot unique identifier for this connector
String
my_scenario_id_1
idOperator
Body
iAdvize bot operator identifier
String
✓
ha-456678
external
Body
Associated scenario
External
✓
external.idBot
Body
Bot identifier on your platform
String
✓
my_scenario_id_1
external.name
Body
Bot name on your platform
String
Scenario 1
external.description
Body
Bot description on your platform
String
In this scenario, the bot will ask your customers to provide some data about their orders
external.editorUrl
Body
Bot edition url on your platform
String - URL
✓
createdAt
Body
Creation date of you bot
String - ISO 8601
✓
2017-11-22T12:04:00Z
updatedAt
Body
Last modification date of your bot
String - ISO 8601
✓
2017-11-22T12:04:00Z
Note: You can validate your response data format with the associated json schema.
When an admin wants to edit a bot user, we have to first load the existing information related to this bot. This endpoints allows you do give back those information to iAdvize.
GET /bots/:operatorId
idOperator
Path
iAdvize bot operator identifier that we associate to your bot scenario
String
ha-456678
idConnectorVersion
Query
Connector version identifier
UUID
c008849d-7cb1-40ca-9503-d6df2c5cddd8
idWebsite
Query
Project identifier on which your connector is installed on
String
ha-123
idOperator
Body
iAdvize bot operator identifier
String
✓
ha-456678
external
Body
Associated scenario
External
✓
external.idBot
Body
Bot identifier on your platform
String
✓
my_scenario_id_1
external.name
Body
Bot name on your platform
String
Scenario 1
external.description
Body
Bot description on your platform
String
In this scenario, the bot will ask your customers to provide some data about their orders
external.editorUrl
Body
Bot edition url on your platform
String - URL
✓
createdAt
Body
Creation date of you bot
String - ISO 8601
✓
2017-11-22T12:04:00Z
updatedAt
Body
Last modification date of your bot
String - ISO 8601
✓
2017-11-22T12:04:00Z
Example
This endpoint will be called on a frequent basis (as of now, every second) and will indicate whether a bot agent is online or not, hence being its availability.
GET /availability-strategies
idOperator
Query
iAdvize bot operator identifier that we associate to your bot scenario
String
ha-456678
idConnectorVersion
Query
Connector version identifier
UUID
c008849d-7cb1-40ca-9503-d6df2c5cddd8
idWebsite
Query
Project identifier on which your connector is installed on
String
ha-123
strategy
Body
How we should aggregate the availability if several distribution rules are provided
One of: atLeastOne
, all
, notAvailable
, customAvailability
✓
atLeastOne
customAvailability
distributionRulesToCheck
Body
All distribution rules we should check for availability. This is subset of DistributionRules returned by the Get bot endpoint.
Array of Uuid
Required if strategy is equal to atLeastOne
or all
ef4670c3-d715-4a21-8226-ed17f354fc44, fab46f63-a61b-4aec-930b-21a438863a6c
availability
Body
Allow the connector to handle the availability of the bot
Boolean
Required if strategy is equal to customAvailability
true
In this case, your external bot will be available only if atLeastOne
iAdvize distribution rules to check returns true
In this case, your external bot will still be considered available.
You can validate your response data format with the associated json schema
Language spoken by the bot