Dialogflow Gateway is a backend enabling third-party integrations to securely access the Dialogflow V2 API. Any server, that implements the API (see below) can be refered as "Dialogflow Gateway"
HTTP-Code | Reason |
---|---|
200 | Request was successful |
400 | The request body or session ID is invalid and/or missing |
403 | The deployment was blocked or the service account key is no longer valid |
404 | The deployment was not found |
500 | Internal server error |
503 | The service is unavailable |
Example JSON response, containing error
{"error": "Deployment was not found", "code": 404}
Single-Agent scenario
https://<PROJECT_ID>.com
Multi-Agent scenario using wildcard subdomain
https://<PROJECT_ID>.example.com
Multi-Agent scenario using path parameter
https://example.com/<PROJECT_ID>
Multi-Agent scenario using query parameter
https://example.com?agent=<PROJECT_ID>
Variable | Description |
---|---|
PROJECT_ID | Required, Project Identifier |
Multi-Agent scenario using wildcard subdomain on Dialogflow Gateway by Ushakov (Hosted)
https://dialogflow-web-v2.gateway.dialogflow.cloud.ushakov.co
GET <BASE_ENDPOINT>
Variable | Description |
---|---|
BASE_ENDPOINT | Required, Endpoint of Agent |
Multi-Agent scenario using wildcard subdomain on Dialogflow Gateway by Ushakov (Hosted)
GET https://dialogflow-web-v2.gateway.dialogflow.cloud.ushakov.co
{
"parent": "projects/dialogflow-web-v2",
"displayName": "DialogflowWebV2",
"defaultLanguageCode": "en",
"supportedLanguageCodes": [
"ru"
],
"timeZone": "Europe/Madrid",
"description": "This is a unofficial Progressive Web Application for Dialogflow V2, with support for rich-responses and amazing features you need to check out. Choose your language and send Hello to get started",
"avatarUri": "https://storage.googleapis.com/cloudprod-apiai/ce408f19-7966-487d-8614-f5b1f0474ba6_x.png",
"enableLogging": true,
"matchMode": "MATCH_MODE_HYBRID",
"classificationThreshold": 0.3
}
POST <BASE_ENDPOINT>
Variable | Description |
---|---|
BASE_ENDPOINT | Required, Endpoint of Agent |
Multi-Agent scenario using wildcard subdomain on Dialogflow Gateway by Ushakov (Hosted)
POST https://app-of-the-day-9a9f6.gateway.dialogflow.cloud.ushakov.co
Content-Type: application/json
{
"session": "test",
"queryInput": {
"text": {
"text": "Hello",
"languageCode": "en"
}
}
}
{
"responseId": "85c3d6bd-6f8c-4000-a1ec-fdd6f636b2e8",
"queryResult": {
"queryText": "Hello",
"action": "input.welcome",
"parameters": {},
"allRequiredParamsPresent": true,
"fulfillmentText": "Cannot display response in Dialogflow simulator. Please test on the Google Assistant simulator instead.",
"fulfillmentMessages": [...],
"webhookPayload": {...},
"intent": {
"name": "projects/app-of-the-day-9a9f6/agent/intents/1e00bd68-62f0-4b8e-9cdd-a81c19f73855",
"displayName": "Default Welcome Intent"
},
"intentDetectionConfidence": 1,
"diagnosticInfo": {
"end_conversation": true,
"webhook_latency_ms": 187
},
"languageCode": "en"
},
"webhookStatus": {
"message": "Webhook execution successful"
}
}
Realtime API implements Secure WebSocket communication between Dialogflow Gateway and the clients
Code | Reason |
---|---|
4400 | The request body or session ID is invalid and/or missing |
4403 | The deployment was blocked or the service account key is no longer valid |
4404 | The deployment was not found |
4500 | Internal server error |
Example error:
4404 'Deployment was not found'
Single-Agent scenario
wss://<PROJECT_ID>.com
Multi-Agent scenario using wildcard subdomain
wss://<PROJECT_ID>.example.com
Multi-Agent scenario using path parameter
wss://example.com/<PROJECT_ID>
Multi-Agent scenario using query parameter
wss://example.com?agent=<PROJECT_ID>
Variable | Description |
---|---|
PROJECT_ID | Required, Project Identifier |
Multi-Agent scenario using wildcard subdomain on Dialogflow Gateway by Ushakov (Hosted)
wss://dialogflow-web-v2.gateway.dialogflow.cloud.ushakov.co
POST <BASE_ENDPOINT>
Variable | Description |
---|---|
BASE_ENDPOINT | Required, Endpoint of Agent |
Note: The examples are using NodeJS
Multi-Agent scenario using wildcard subdomain on Dialogflow Gateway by Ushakov (Hosted)
const WebSocket = require('ws')
const ws = new WebSocket('ws://app-of-the-day-9a9f6.gateway.dialogflow.cloud.ushakov.co')
ws.send(
JSON.stringify({
session: "123",
queryInput: {
text: {
text: "Hello",
languageCode: "en"
}
}
})
)
ws.on('message', data => {
console.log(data)
})
ws.on('close', (code, error) => {
console.log(code, error)
})
{
"responseId": "85c3d6bd-6f8c-4000-a1ec-fdd6f636b2e8",
"queryResult": {
"queryText": "Hello",
"action": "input.welcome",
"parameters": {},
"allRequiredParamsPresent": true,
"fulfillmentText": "Cannot display response in Dialogflow simulator. Please test on the Google Assistant simulator instead.",
"fulfillmentMessages": [...],
"webhookPayload": {...},
"intent": {
"name": "projects/app-of-the-day-9a9f6/agent/intents/1e00bd68-62f0-4b8e-9cdd-a81c19f73855",
"displayName": "Default Welcome Intent"
},
"intentDetectionConfidence": 1,
"diagnosticInfo": {
"end_conversation": true,
"webhook_latency_ms": 187
},
"languageCode": "en"
},
"webhookStatus": {
"message": "Webhook execution successful"
}
}
Title | Developer | Status | Homepage | Features | Cloud-based? |
---|---|---|---|---|---|
Dialogflow Gateway (Hosted) | Ushakov | Stable, actively maintained | https://dialogflow.cloud.ushakov.co | Support, free updates, uptime guarantees, disaster recovery, dashboard, built-in integrations, pay-per-use, free quota | Yes |
Dialogflow Gateway (Enterprise Edition) | Ushakov | TBA | https://dialogflow.cloud.ushakov.co | Self-hosted, premium support, free updates | No |
Fulfillment Tester | Ushakov | Testing | https://github.com/mishushakov/dialogflow-fulfillment-tester | For testing purposes only | No |
If you have any questions or troubles regarding the API, please contact us