Ocelot API (1.0.0-beta2)
Download OpenAPI specification:Download
Health Check Webhook
This event will be sent to the endpoint
<base-url>/service/healthCheck
.
An example of <base-url>
is https://example.edu
and it is configured
in the Service Provider section of Admin.
Health check endpoint polled every 5 minutes from Ocelot API while service provider capabiliy is enabled or is in retry period.
Request Body schema: application/jsonrequired
id required | string Service provider UUID. |
name required | string Service provider name. |
timestamp required | string <date-time> UTC timestamp at the time when this request was sent. |
Responses
Request samples
- Payload
{- "id": "string",
- "name": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
Response samples
- 200
{- "id": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
Chatbot Webhook Webhook
This event will be sent to the endpoint
<base-url>/webhook/handle
.
An example of <base-url>
is https://example.edu
and it is configured
in the Service Provider section of Admin.
The chatbot webhook allows the implemented event handler to replace or supplement the chatbot response in specific scenarios.
header Parameters
x-ocelot-signature required | string Secure signature for webhook event body See Digital Signature in Making Authenticated API Calls guide for additional details. |
Request Body schema: application/jsonrequired
providerId required | string Provider requested to handle. |
capabilityId required | string Capability requested to handle. |
requestTime required | string <date-time> Timestamp of when request started at conversation server |
chatbotId required | string chatbot UUID |
conversationId required | string Conversation UUID |
required | object (UserMetadata) Metadata about the client |
eventType required | string (WebhookEventType) Enum: "Search" "Form" "Question" The type of webhook event |
required | Search Payload (object) or Form Payload (object) or Question Payload (object) (WebhookPayload) |
Responses
Request samples
- Payload
{- "providerId": "string",
- "capabilityId": "string",
- "requestTime": "2019-08-24T14:15:22Z",
- "chatbotId": "string",
- "conversationId": "string",
- "clientData": {
- "userAgent": "string",
- "hostname": "string",
- "origin": "string"
}, - "eventType": "Search",
- "payload": {
- "userInput": "string",
- "limit": 0,
- "offset": 0
}
}
Response samples
- 200
{- "status": {
- "code": "Success",
- "description": null
}, - "context": {
- "results": [
- {
- "url": "string",
- "title": "string",
- "snippet": "string",
- "score": 0.1
}
], - "total": 0,
- "priority": 0.1,
- "behavior": "Supplement"
}
}
Register or update multiple capabilities
Register or update multiple capabilities for specified service-providers of specified chatbot.
The client must choose between different bulk operation behaviors.
"ReplaceAll" will replace all current capabilities with the specified list of capabilities.
"AddOrUpdate" will update specified capabilities that match current capabilities otherwise will register specified capabilities that are unmatched. Matching is solely by capability name.
"Delete" will deregister specified capabilites that match current capabilities.
Health checks will be automatically enabled when the service-provider is enabled and at least one of its capabilities is also enabled. Health checks will be automatically disabled when none of its capabilities are enabled. An overview of health checks can be found at Client Health Check.
path Parameters
chatbotId required | string Chatbot UUID |
header Parameters
x-api-key required | string Key for Service Provider. See API Key in Making Authenticated API Calls guide for additional details. |
x-ocelot-signature required | string Secure signature for webhook event body See Digital Signature in Making Authenticated API Calls guide for additional details. |
Request Body schema: application/jsonrequired
bulkOperationType required | string (ChatbotServiceProviderCapabilityBulkOperationType) Enum: "ReplaceAll" "AddOrUpdate" "Delete" |
required | Array of Capability Array (objects) or Array of Capability Name Array (strings) Array of capabilities |
Responses
Request samples
- Payload
{- "bulkOperationType": "ReplaceAll",
- "capabilities": [
- {
- "name": "string",
- "status": "Enabled",
- "apiVersion": "V1",
- "description": "string"
}
]
}
Response samples
- 200
{- "_id": "string",
- "chatbotUuid": "string",
- "name": "string",
- "type": "PeopleSoft",
- "priority": 0,
- "status": "Enabled",
- "baseUrl": "string",
- "apiKey": "string",
- "authProviderId": "string",
- "capabilities": [
- {
- "name": "string",
- "description": "string",
- "apiVersion": "V1",
- "status": "Enabled"
}
], - "settings": {
- "enableRequestLogging": true
}, - "created": null,
- "updated": null
}
Register new capability
Register new capability for specified service-provider of specified chatbot.
When a new capability is registered in the enabled status, this end point will appropriately enable one or more callbacks documented in the Callbacks section of the method to Register or update multiple capabilities.
path Parameters
chatbotId required | string Chatbot UUID |
header Parameters
x-api-key required | string Key for Service Provider. See API Key in Making Authenticated API Calls guide for additional details. |
x-ocelot-signature required | string Secure signature for webhook event body See Digital Signature in Making Authenticated API Calls guide for additional details. |
Request Body schema: application/jsonrequired
name required | string |
status required | string (ChatbotServiceProviderCapabilityStatus) Enum: "Enabled" "Disabled" |
apiVersion required | string (ChatbotServiceProviderApiVersion) Value: "V1" |
description | string |
Responses
Request samples
- Payload
{- "name": "string",
- "status": "Enabled",
- "apiVersion": "V1",
- "description": "string"
}
Response samples
- 200
{- "_id": "string",
- "chatbotUuid": "string",
- "name": "string",
- "type": "PeopleSoft",
- "priority": 0,
- "status": "Enabled",
- "baseUrl": "string",
- "apiKey": "string",
- "authProviderId": "string",
- "capabilities": [
- {
- "name": "string",
- "description": "string",
- "apiVersion": "V1",
- "status": "Enabled"
}
], - "settings": {
- "enableRequestLogging": true
}, - "created": null,
- "updated": null
}
Deregister capability
Deregisters capability for specified service-provider of specified chatbot.
When a capability is deregistered, this end point will appropriately disable one or more callbacks documented in the Callbacks section of the method to Register or update multiple capabilities.
path Parameters
chatbotId required | string Chatbot UUID |
name required | string Capability name |
header Parameters
x-api-key required | string Key for Service Provider. See API Key in Making Authenticated API Calls guide for additional details. |
x-ocelot-signature required | string Secure signature for webhook event body See Digital Signature in Making Authenticated API Calls guide for additional details. |
Responses
Response samples
- 200
{- "_id": "string",
- "chatbotUuid": "string",
- "name": "string",
- "type": "PeopleSoft",
- "priority": 0,
- "status": "Enabled",
- "baseUrl": "string",
- "apiKey": "string",
- "authProviderId": "string",
- "capabilities": [
- {
- "name": "string",
- "description": "string",
- "apiVersion": "V1",
- "status": "Enabled"
}
], - "settings": {
- "enableRequestLogging": true
}, - "created": null,
- "updated": null
}
Enable or disable capability
Enable or disable capability for specified chat at client's service provider
When a capability is enabled or disable, this end point will appropriatedly enable or disable the callbacks documented in the Callbacks section of the method to Register or update multiple capabilities.
path Parameters
chatbotId required | string Chatbot UUID |
name required | string Capability name |
header Parameters
x-api-key required | string Key for Service Provider. See API Key in Making Authenticated API Calls guide for additional details. |
x-ocelot-signature required | string Secure signature for webhook event body See Digital Signature in Making Authenticated API Calls guide for additional details. |
Request Body schema: application/jsonrequired
status required | string (ChatbotServiceProviderCapabilityStatus) Enum: "Enabled" "Disabled" |
Responses
Request samples
- Payload
{- "status": "Enabled"
}
Response samples
- 200
{- "_id": "string",
- "chatbotUuid": "string",
- "name": "string",
- "type": "PeopleSoft",
- "priority": 0,
- "status": "Enabled",
- "baseUrl": "string",
- "apiKey": "string",
- "authProviderId": "string",
- "capabilities": [
- {
- "name": "string",
- "description": "string",
- "apiVersion": "V1",
- "status": "Enabled"
}
], - "settings": {
- "enableRequestLogging": true
}, - "created": null,
- "updated": null
}