Skip to main content

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/json
required
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

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "timestamp": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "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/json
required
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

Content type
application/json
{
  • "providerId": "string",
  • "capabilityId": "string",
  • "requestTime": "2019-08-24T14:15:22Z",
  • "chatbotId": "string",
  • "conversationId": "string",
  • "clientData": {
    },
  • "eventType": "Search",
  • "payload": {
    }
}

Response samples

Content type
application/json
{
  • "status": {
    },
  • "context": {
    }
}

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/json
required
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

Content type
application/json
{
  • "bulkOperationType": "ReplaceAll",
  • "capabilities": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "chatbotUuid": "string",
  • "name": "string",
  • "type": "PeopleSoft",
  • "priority": 0,
  • "status": "Enabled",
  • "baseUrl": "string",
  • "apiKey": "string",
  • "authProviderId": "string",
  • "capabilities": [
    ],
  • "settings": {
    },
  • "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/json
required
name
required
string
status
required
string (ChatbotServiceProviderCapabilityStatus)
Enum: "Enabled" "Disabled"
apiVersion
required
string (ChatbotServiceProviderApiVersion)
Value: "V1"
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "status": "Enabled",
  • "apiVersion": "V1",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "chatbotUuid": "string",
  • "name": "string",
  • "type": "PeopleSoft",
  • "priority": 0,
  • "status": "Enabled",
  • "baseUrl": "string",
  • "apiKey": "string",
  • "authProviderId": "string",
  • "capabilities": [
    ],
  • "settings": {
    },
  • "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

Content type
application/json
{
  • "_id": "string",
  • "chatbotUuid": "string",
  • "name": "string",
  • "type": "PeopleSoft",
  • "priority": 0,
  • "status": "Enabled",
  • "baseUrl": "string",
  • "apiKey": "string",
  • "authProviderId": "string",
  • "capabilities": [
    ],
  • "settings": {
    },
  • "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/json
required
status
required
string (ChatbotServiceProviderCapabilityStatus)
Enum: "Enabled" "Disabled"

Responses

Request samples

Content type
application/json
{
  • "status": "Enabled"
}

Response samples

Content type
application/json
{
  • "_id": "string",
  • "chatbotUuid": "string",
  • "name": "string",
  • "type": "PeopleSoft",
  • "priority": 0,
  • "status": "Enabled",
  • "baseUrl": "string",
  • "apiKey": "string",
  • "authProviderId": "string",
  • "capabilities": [
    ],
  • "settings": {
    },
  • "created": null,
  • "updated": null
}