Wildix Developer Documentation

website·Indexed 36 days ago

https://docs.wildix.com/

Developer resources for integrating server applications with Wildix, featuring comprehensive guides on webhooks for calls, messaging, SMS, and presence, as well as generative AI bot integrations and prompt engineering.

Tokens
58.6K
Snippets
206
Records
384
Agent score
61%

What's inside Wildix

  1. Overview of Wildix API Keys

    API Keys are authentication tokens used to securely access Wildix services. They are specifically designed for server-to-server integrations, automated scripts/workflows, third-party applications, and background services.
  2. Overview of Generative AI integration for Wildix voice bots

    Wildix integrates generative AI and Large Language Models (LLMs) into voice bots to move beyond predefined scripts. This integration allows bots to understand nuanced, unstructured user queries and provide personalized, context-aware responses. Configuration and management are handled directly on the Wildix platform, removing the need for developers to manage the underlying AI infrastructure or model updates.
  3. Overview of the @wildix/xbees-connect-react library

    The @wildix/xbees-connect-react library is designed for developers creating UI integration applications for the x-bees platform. It provides a set of React components and hooks built on top of Material-UI (MUI) to ensure that custom interfaces are visually cohesive and align with the x-bees design language. The library includes basic UI elements such as buttons, typography for labels and texts, TextFields, and a Theme Provider.
  4. Overview of Generative AI Chatbots in Wildix

    Wildix integrates generative AI models (LLMs) into chatbots to replace traditional scripted flows with natural, context-aware interactions. These chatbots can interpret ambiguous text inputs, provide personalized responses, and execute dynamic tasks via external system integrations. The entire model lifecycle and infrastructure are managed by the Wildix platform, simplifying configuration for developers.
  5. Overview of Wildix Chat Bots

    Chat Bots in the Wildix ecosystem are automated, text-based assistance tools that use natural language processing (NLP) and artificial intelligence to improve organizational communication and customer service. They operate through a four-step cycle: receiving user input via a chat interface, analyzing the message to determine intent, preparing a suitable reply, and sending the response back to the user.
  6. Overview of the x-bees-connect Client SDK

    The x-bees-connect Client is a JavaScript library (SDK) designed for developers building UI integration applications. It allows applications to interact seamlessly with the x-bees platform, specifically for enhancing communication functionalities, accessing contact information, and reacting to the x-bees context.
  7. Overview of Wildix Knowledge Base API

    The Knowledge Base API allows developers to build intelligent search systems by uploading documents in various formats (HTML, Markdown, PDF, etc.), organizing them into knowledge bases, and performing semantic searches.

    Core Hierarchy: Knowledge Base $\rightarrow$ Data Sources $\rightarrow$ Documents $\rightarrow$ Chunks (typically 500-600 characters).

  8. Use the Wildix WMS PBX API Client

    The WMS PBX API allows developers to programmatically manage users, generate calls, and send SMS messages. The official TypeScript/JavaScript client is available via npm as @wildix/wms-api-client.
    npm install @wildix/wms-api-client
  9. Understand the presence:conference webhook payload

    The presence:conference webhook is triggered when a user's presence status changes in relation to a conference. The payload provides details about the extension, whether they have joined or left the conference, and comprehensive participant metadata including their XMPP JID, department, and PBX extension.
    {
      "id": "it_w000001_230",
      "pbx": "000000000001",
      "company": "it_w000001",
      "time": 1721832379338,
      "type": "presence:conference",
      "integrationId": "79qvia",
      "data": {
        "extension": "230",
        "isJoined": true,
        "isLeaved": false,
        "participant": {
          "type": "XBS",
          "jid": "jid@conference-xmpp.wildix.com/f3114d96",
          "name": "John Doe",
          "email": "johndoe@example.com",
          "department": "Sales",
          "company": "it_w000001",
          "pbxSerial": "000000000001",
          "pbxExtension": "230",
          "pbxGroupId": "4258467",
          "xbsId": "jDo1hnOE337x",
          "license": "premium"
        }
      }
    }
  10. Handle new chat reaction webhooks in Wildix

    When a user adds a reaction to a chat message in Wildix, a webhook event of type chat:reaction:new is triggered. The payload provides detailed information about the reaction, the user who performed the action, the message being reacted to, and the chat channel context.
    {
      "id": "a680e65f-2e1d-400d-ad69-bd42efe93500",
      "type": "chat:reaction:new",
      "company": "it_w119414",
      "time": 1719844746898,
      "integrationId": "a2n2on",
      "data": {
        "channel": {
          "channelId": "04523271-0857-47a1-8324-fd28d8e5",
          "channelType": "group",
          "memberCount": 3,
          "subject": "New subject",
          "access": "private",
          "company": "it_w119414"
        },
        "message": {
          "messageId": "3e83e9d6-dbf5-4999-a2e5-418f746a",
          "text": "Hi",
          "reactionCounts": {
            "thumbsup": 1
          }
        },
        "reaction": {
          "type": "thumbsup",
          "userId": "rTWHJd8kGZev",
          "messageId": "3e83e9d6-dbf5-4999-a2e5-418f746a",
          "user": {
            "id": "rTWHJd8kGZev",
            "name": "Vadim Carusto CRM",
            "email": "vadim.ruban@carusto.com"
          }
        }
      }
    }
  11. Get AI-generated insights using the Insights API

    The Insights API allows developers to retrieve AI-generated insights specifically for calls and conferences. The TypeScript SDK implementation is provided via the @wildix/wda-insights-client package.
    npm install @wildix/wda-insights-client
  12. Handle the chat:message:new webhook event

    The chat:message:new webhook is triggered when a new message is sent in a Wildix chat. The payload provides comprehensive details about the message, the sender, the chat channel, and the members involved in the conversation.
    {
      "id": "demo5678-9101-1121-3141-516171819203",
      "type": "chat:message:new",
      "company": "demo_company_12345",
      "time": 1719844426953,
      "integrationId": "demo_integration_06",
      "data": {
        "channel": {
          "channelId": "demo_channel_006",
          "channelType": "group",
          "memberCount": 3,
          "subject": "Demo New Subject",
          "description": "This is a demo updated description.",
          "access": "private",
          "company": "demo_company_12345",
          "service": "demo_service",
          "serviceTitle": "Demo Service Title",
          "broadcast": false,
          "external": true,
          "createdAt": "2024-07-01T14:06:43.386258Z",
          "updatedAt": "2024-07-01T14:27:33.375099Z"
        },
        "members": [
          {
            "id": "demo_member_01",
            "createdAt": "2024-07-01T14:06:43.389522Z",
            "role": "member"
          },
          {
            "id": "demo_member_02",
            "createdAt": "2024-07-01T14:06:43.389522Z",
            "role": "owner"
          },
          {
            "id": "demo_member_03",
            "createdAt": "2024-07-01T14:29:41.919174Z",
            "role": "member"
          }
        ],
        "users": [
          {
            "id": "demo_user_01",
            "name": "John Doe",
            "email": "john.doe@example.com",
            "picture": "https://example.com/avatar1.png",
            "company": "demo_company_12345",
            "bot": false,
            "pbxExtension": "1001",
            "pbxSerial": "demo_serial_001",
            "pbxUserId": "user_001",
            "createdAt": "2022-12-27T22:58:32.370401Z",
            "updatedAt": "2022-12-27T22:58:32.370401Z"
          },
          {
            "id": "demo_user_02",
            "name": "Alice Johnson",
            "email": "alice.johnson@example.com",
            "locale": "en",
            "timeZone": "Europe/Berlin",
            "company": "demo_company_12345",
            "bot": false,
            "pbxDomain": "example.com",
            "pbxPort": "443",
            "pbxExtension": "1003",
            "pbxSerial": "demo_serial_003",
            "pbxUserId": "user_003",
            "createdAt": "2022-05-23T12:38:10.574336Z",
            "updatedAt": "2024-06-29T10:09:39.101619Z"
          },
          {
            "id": "demo_user_03",
            "email": "john.travolta@example.com",
            "bot": false,
            "createdAt": "2022-12-27T19:00:22.677386Z",
            "updatedAt": "2022-12-27T19:00:22.677386Z"
          }
        ],
        "message": {
          "messageId": "demo_message_001",
          "channelId": "demo_channel_006",
          "type": "regular",
          "text": "Hi",
          "attachments": [],
          "mentions": [],
          "giphy": null,
          "latestReactions": [],
          "reactionCounts": {},
          "createdAt": "2024-07-01T14:33:46.794077Z",
          "user": {
            "id": "demo_user_02",
            "name": "Alice Johnson",
            "email": "alice.johnson@example.com",
            "locale": "en",
            "timeZone": "Europe/Berlin",
            "company": "demo_company_12345",
            "bot": false,
            "pbxDomain": "example.com",
            "pbxPort": "443",
            "pbxExtension": "1003",
            "pbxSerial": "demo_serial_003",
            "pbxUserId": "user_003",
            "createdAt": "2022-05-23T12:38:10.574336Z",
            "updatedAt": "2024-06-29T10:09:39.101619Z"
          },
          "quote": null,
          "forward": null,
          "sms": false,
          "silent": false,
          "event": null
        }
      }
    }