{"id":15387881,"url":"https://github.com/mishushakov/dialogflow-gateway-docs","last_synced_at":"2026-01-07T14:05:32.483Z","repository":{"id":97807746,"uuid":"181482189","full_name":"mishushakov/dialogflow-gateway-docs","owner":"mishushakov","description":"📄 Docs for Dialogflow Gateway","archived":false,"fork":false,"pushed_at":"2022-08-19T12:02:46.000Z","size":14073,"stargazers_count":22,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T11:22:19.006Z","etag":null,"topics":["dialogflow","documentation"],"latest_commit_sha":null,"homepage":"https://dialogflow.cloud.ushakov.co","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mishushakov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"https://paypal.me/ushakovhq"}},"created_at":"2019-04-15T12:29:29.000Z","updated_at":"2022-08-19T12:02:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"5f6d057b-80e4-4064-9be9-a5d031a70610","html_url":"https://github.com/mishushakov/dialogflow-gateway-docs","commit_stats":{"total_commits":31,"total_committers":2,"mean_commits":15.5,"dds":"0.032258064516129004","last_synced_commit":"569d903b598faa9879f21cd902dc8f1b6703a31d"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mishushakov%2Fdialogflow-gateway-docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mishushakov%2Fdialogflow-gateway-docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mishushakov%2Fdialogflow-gateway-docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mishushakov%2Fdialogflow-gateway-docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mishushakov","download_url":"https://codeload.github.com/mishushakov/dialogflow-gateway-docs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245938229,"owners_count":20697008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dialogflow","documentation"],"created_at":"2024-10-01T14:54:52.881Z","updated_at":"2026-01-07T14:05:32.429Z","avatar_url":"https://github.com/mishushakov.png","language":null,"funding_links":["https://paypal.me/ushakovhq"],"categories":[],"sub_categories":[],"readme":"# Dialogflow Gateway\n\n![Dialogflow Gateway schema](https://svgur.com/i/EHv.svg)\n\nDialogflow 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\"\n\n## Contents\n\n- [API](#api)\n  - [Response Codes](#response-codes)\n  - [Errors](#errors)\n  - [Endpoints](#endpoints)\n    - [Base Endpoint](#base-endpoint)\n    - [Base Endpoint Variables](#base-endpoint-variables)\n    - [Base Endpoint Example](#base-endpoint-example)\n- [Requests](#requests)\n  - [Retrieving Agents](#retrieving-agents)\n    - [Request](#request)\n    - [Request Variables](#request-variables)\n    - [Response Body](#response-body)\n    - [Example Request](#example-request)\n    - [Example Response](#example-response)\n  - [Detecting Intents](#detecting-intents)\n    - [Request](#request-1)\n    - [Request Variables](#request-variables-1)\n    - [Request Body](#request-body)\n    - [Response Body](#response-body-1)\n    - [Example Request](#example-request-1)\n    - [Example Response](#example-response-1)\n- [Realtime API](#realtime-api)\n  - [Close Codes](#close-codes)\n  - [Errors](#errors-1)\n  - [Endpoints](#endpoints)\n    - [Base Endpoint](#base-endpoint-1)\n    - [Base Endpoint Variables](#base-endpoint-variables-1)\n    - [Base Endpoint Example](#base-endpoint-example-1)\n  - [Requests](#requests-1)\n  - [Detecting Intents](#detecting-intents-1)\n    - [Request](#request-2)\n    - [Request Variables](#request-variables-2)\n    - [Request Body](#request-body-1)\n    - [Response Body](#response-body-2)\n    - [Example Request](#example-request-2)\n    - [Example Response](#example-response-2)\n- [Implementations](#implementations)\n- [Contact](#contact)\n\n## API\n\n### Response Codes\n\n| HTTP-Code | Reason                                                                         |\n|-----------|--------------------------------------------------------------------------------|\n| 200       | Request was successful                                                         |\n| 400       | The request body or session ID is invalid and/or missing                       |\n| 403       | The deployment was blocked or the service account key is no longer valid       |\n| 404       | The deployment was not found                                                   |\n| 500       | Internal server error                                                          |\n| 503       | The service is unavailable                                                     |\n\n### Errors\n\nExample JSON response, containing error\n\n```json\n{\"error\": \"Deployment was not found\", \"code\": 404}\n```\n\n### Endpoints\n\n#### Base Endpoint\n\nSingle-Agent scenario\n\n```\nhttps://\u003cPROJECT_ID\u003e.com\n```\n\nMulti-Agent scenario using wildcard subdomain\n\n```\nhttps://\u003cPROJECT_ID\u003e.example.com\n```\n\nMulti-Agent scenario using path parameter\n\n```\nhttps://example.com/\u003cPROJECT_ID\u003e\n```\n\nMulti-Agent scenario using query parameter\n\n```\nhttps://example.com?agent=\u003cPROJECT_ID\u003e\n```\n\n#### Base Endpoint Variables\n\n| Variable   | Description                  |\n|------------|------------------------------|\n| PROJECT_ID | Required, Project Identifier |\n\n#### Base Endpoint Example\n\nMulti-Agent scenario using wildcard subdomain on Dialogflow Gateway by Ushakov (Hosted)\n\n```\nhttps://dialogflow-web-v2.gateway.dialogflow.cloud.ushakov.co\n```\n\n## Requests\n\n#### Retrieving Agents\n\n#### Request\n\n```http\nGET \u003cBASE_ENDPOINT\u003e\n```\n\n#### Request Variables\n\n| Variable      | Description                 |\n|---------------|-----------------------------|\n| BASE_ENDPOINT | Required, Endpoint of Agent |\n\n#### Response Body\n\n[Agent](https://cloud.google.com/dialogflow/docs/reference/rest/v2beta1/projects.agent)\n\n#### Example Request\n\nMulti-Agent scenario using wildcard subdomain on Dialogflow Gateway by Ushakov (Hosted)\n\n```http\nGET https://dialogflow-web-v2.gateway.dialogflow.cloud.ushakov.co\n```\n\n#### Example Response\n\n```json\n{\n  \"parent\": \"projects/dialogflow-web-v2\",\n  \"displayName\": \"DialogflowWebV2\",\n  \"defaultLanguageCode\": \"en\",\n  \"supportedLanguageCodes\": [\n    \"ru\"\n  ],\n  \"timeZone\": \"Europe/Madrid\",\n  \"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\",\n  \"avatarUri\": \"https://storage.googleapis.com/cloudprod-apiai/ce408f19-7966-487d-8614-f5b1f0474ba6_x.png\",\n  \"enableLogging\": true,\n  \"matchMode\": \"MATCH_MODE_HYBRID\",\n  \"classificationThreshold\": 0.3\n}\n```\n\n### Detecting Intents\n\n#### Request\n\n```http\nPOST \u003cBASE_ENDPOINT\u003e\n```\n\n#### Request Variables\n\n| Variable | Description |\n|----------|-------------|\n| BASE_ENDPOINT | Required, Endpoint of Agent |\n\n#### Request Body\n\n[DetectIntentRequest](https://cloud.google.com/dialogflow/docs/reference/rpc/google.cloud.dialogflow.v2#google.cloud.dialogflow.v2.DetectIntentRequest)\n\n#### Response Body\n\n[DetectIntentResponse](https://cloud.google.com/dialogflow/docs/reference/rest/v2beta1/DetectIntentResponse)\n\n#### Example Request\n\nMulti-Agent scenario using wildcard subdomain on Dialogflow Gateway by Ushakov (Hosted)\n\n```http\nPOST https://app-of-the-day-9a9f6.gateway.dialogflow.cloud.ushakov.co\nContent-Type: application/json\n\n{\n  \"session\": \"test\",\n  \"queryInput\": {\n    \"text\": {\n      \"text\": \"Hello\",\n      \"languageCode\": \"en\"\n    }\n  }\n}\n```\n\n#### Example Response\n\n```json\n{\n  \"responseId\": \"85c3d6bd-6f8c-4000-a1ec-fdd6f636b2e8\",\n  \"queryResult\": {\n    \"queryText\": \"Hello\",\n    \"action\": \"input.welcome\",\n    \"parameters\": {},\n    \"allRequiredParamsPresent\": true,\n    \"fulfillmentText\": \"Cannot display response in Dialogflow simulator. Please test on the Google Assistant simulator instead.\",\n    \"fulfillmentMessages\": [...],\n    \"webhookPayload\": {...},\n    \"intent\": {\n      \"name\": \"projects/app-of-the-day-9a9f6/agent/intents/1e00bd68-62f0-4b8e-9cdd-a81c19f73855\",\n      \"displayName\": \"Default Welcome Intent\"\n    },\n    \"intentDetectionConfidence\": 1,\n    \"diagnosticInfo\": {\n      \"end_conversation\": true,\n      \"webhook_latency_ms\": 187\n    },\n    \"languageCode\": \"en\"\n  },\n  \"webhookStatus\": {\n    \"message\": \"Webhook execution successful\"\n  }\n}\n```\n\n## Realtime API\n\nRealtime API implements [Secure WebSocket](https://en.wikipedia.org/wiki/WebSocket) communication between Dialogflow Gateway and the clients\n\n### Close Codes\n\n| Code | Reason                                                                          |\n|-----------|----------------------------------------------------------------------------|\n| 4400      | The request body or session ID is invalid and/or missing                   |\n| 4403      | The deployment was blocked or the service account key is no longer valid   |\n| 4404      | The deployment was not found                                               |\n| 4500      | Internal server error                                                      |\n\n### Errors\n\nExample error:\n\n```\n4404 'Deployment was not found'\n```\n\n### Endpoints\n\n#### Base Endpoint\n\nSingle-Agent scenario\n\n```\nwss://\u003cPROJECT_ID\u003e.com\n```\n\nMulti-Agent scenario using wildcard subdomain\n\n```\nwss://\u003cPROJECT_ID\u003e.example.com\n```\n\nMulti-Agent scenario using path parameter\n\n```\nwss://example.com/\u003cPROJECT_ID\u003e\n```\n\nMulti-Agent scenario using query parameter\n\n```\nwss://example.com?agent=\u003cPROJECT_ID\u003e\n```\n\n#### Base Endpoint Variables\n\n| Variable   | Description                  |\n|------------|------------------------------|\n| PROJECT_ID | Required, Project Identifier |\n\n#### Base Endpoint Example\n\nMulti-Agent scenario using wildcard subdomain on Dialogflow Gateway by Ushakov (Hosted)\n\n```\nwss://dialogflow-web-v2.gateway.dialogflow.cloud.ushakov.co\n```\n\n## Requests\n\n### Detecting Intents\n\n#### Request\n\n```http\nPOST \u003cBASE_ENDPOINT\u003e\n```\n\n#### Request Variables\n\n| Variable | Description |\n|----------|-------------|\n| BASE_ENDPOINT | Required, Endpoint of Agent |\n\n#### Request Body\n\n[DetectIntentRequest](https://cloud.google.com/dialogflow/docs/reference/rpc/google.cloud.dialogflow.v2#google.cloud.dialogflow.v2.DetectIntentRequest)\n\n#### Response Body\n\n[DetectIntentResponse](https://cloud.google.com/dialogflow/docs/reference/rest/v2beta1/DetectIntentResponse)\n\n#### Example Request\n\nNote: The examples are using NodeJS\n\nMulti-Agent scenario using wildcard subdomain on Dialogflow Gateway by Ushakov (Hosted)\n\n```js\nconst WebSocket = require('ws')\nconst ws = new WebSocket('ws://app-of-the-day-9a9f6.gateway.dialogflow.cloud.ushakov.co')\n\nws.send(\n  JSON.stringify({\n    session: \"123\",\n    queryInput: {\n      text: {\n        text: \"Hello\",\n        languageCode: \"en\"\n      }\n    }\n  })\n)\n\nws.on('message', data =\u003e {\n  console.log(data)\n})\n\nws.on('close', (code, error) =\u003e {\n  console.log(code, error)\n})\n```\n\n#### Example Response\n\n```json\n{\n  \"responseId\": \"85c3d6bd-6f8c-4000-a1ec-fdd6f636b2e8\",\n  \"queryResult\": {\n    \"queryText\": \"Hello\",\n    \"action\": \"input.welcome\",\n    \"parameters\": {},\n    \"allRequiredParamsPresent\": true,\n    \"fulfillmentText\": \"Cannot display response in Dialogflow simulator. Please test on the Google Assistant simulator instead.\",\n    \"fulfillmentMessages\": [...],\n    \"webhookPayload\": {...},\n    \"intent\": {\n      \"name\": \"projects/app-of-the-day-9a9f6/agent/intents/1e00bd68-62f0-4b8e-9cdd-a81c19f73855\",\n      \"displayName\": \"Default Welcome Intent\"\n    },\n    \"intentDetectionConfidence\": 1,\n    \"diagnosticInfo\": {\n      \"end_conversation\": true,\n      \"webhook_latency_ms\": 187\n    },\n    \"languageCode\": \"en\"\n  },\n  \"webhookStatus\": {\n    \"message\": \"Webhook execution successful\"\n  }\n}\n```\n\n## Implementations\n\n| Title                                   | Developer | Status                      | Homepage                                                     | Features                                                                                                               | Cloud-based? |\n|-----------------------------------------|-----------|-----------------------------|--------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|--------------|\n| 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          |\n| Dialogflow Gateway (Enterprise Edition) | Ushakov   | TBA                         | https://dialogflow.cloud.ushakov.co                          | Self-hosted, premium support, free updates                                                                             | No           |\n| Fulfillment Tester                      | Ushakov   | Testing                     | https://github.com/mishushakov/dialogflow-fulfillment-tester | For testing purposes only                                                                                              | No           |\n\n[Submit your implementation](https://github.com/mishushakov/dialogflow-gateway-docs/pulls)\n\n## Contact\n\nIf you have any questions or troubles regarding the API, please [contact us](https://ushakov.co/#contact)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmishushakov%2Fdialogflow-gateway-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmishushakov%2Fdialogflow-gateway-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmishushakov%2Fdialogflow-gateway-docs/lists"}