Wazo · AsyncAPI Specification

wazo-chatd events

Version 26.08

View Spec View on GitHub TelephonyVoIPUnified CommunicationsUCaaSContact CenterSIPasteriskWebRTCOpen-SourceSelf-HostedWhite LabelPBXMSPCall CenterProvisioningWebhookEvent-DrivenChatPresenceCDRAsyncAPIWebhooksEvents

Channels

chatd_message_delivery_status
subscribe
chatd_presence_updated
subscribe
chatd_user_identity_created
subscribe
chatd_user_identity_deleted
subscribe
chatd_user_identity_updated
subscribe
chatd_user_room_created
subscribe
chatd_user_room_message_created
subscribe

Servers

amqp
production amqp://{username}:{password}@/localhost:{port}//
Local RabbitMQ messaging server for inter-service communication

AsyncAPI Specification

Raw ↑
asyncapi: 2.0.0
info:
  title: wazo-chatd events
  version: '26.08'
servers:
  production:
    url: amqp://{username}:{password}@/localhost:{port}//
    description: Local RabbitMQ messaging server for inter-service communication
    protocol: amqp
    protocolVersion: 0.9.1
    variables:
      username:
        default: guest
        description: Configurable through each service's config.yml file
      password:
        default: guest
        description: Configurable through each service's config.yml file
      port:
        default: '5672'
        description: Configurable through each service's config.yml file
defaultContentType: application/json
channels:
  chatd_message_delivery_status:
    subscribe:
      summary: ''
      tags:
      - name: chatd
      message:
        name: chatd-message-delivery-status-payload
        payload:
          type: object
          properties:
            delivery_data:
              type: object
              properties:
                message_uuid:
                  type: string
                  format: uuid
                recipient_identity:
                  type: string
                status:
                  type: string
                timestamp:
                  type: string
                backend:
                  type: string
            room_uuid:
              type: string
              format: uuid
            message_uuid:
              type: string
              format: uuid
        headers:
          type: object
          properties:
            name:
              type: string
              const: chatd_message_delivery_status
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.events.chat.message.{message_uuid}.{user_uuid}.delivery
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
            tenant_uuid:
              $ref: '#/components/schemas/tenant_uuid'
            user_uuid:{uuid}:
              $ref: '#/components/schemas/user_uuid:{uuid}'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
          - tenant_uuid
          - user_uuid:{uuid}
  chatd_presence_updated:
    subscribe:
      summary: ''
      tags:
      - name: chatd
      message:
        name: chatd-presence-updated-payload
        payload:
          type: object
          properties:
            uuid:
              type: string
              format: uuid
            tenant_uuid:
              type: string
              format: uuid
            state:
              type: string
            status:
              type: string
            last_activity:
              type: string
            line_state:
              type: string
            mobile:
              type: boolean
            do_not_disturb:
              type: boolean
            connected:
              type: boolean
            lines:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: integer
                  state:
                    type: string
        headers:
          type: object
          properties:
            name:
              type: string
              const: chatd_presence_updated
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.chatd.users.{uuid}.presences.updated
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
            tenant_uuid:
              $ref: '#/components/schemas/tenant_uuid'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
          - tenant_uuid
  chatd_user_identity_created:
    subscribe:
      summary: ''
      tags:
      - name: chatd
      message:
        name: chatd-user-identity-created-payload
        payload:
          type: object
          properties:
            uuid:
              type: string
              format: uuid
            backend:
              type: string
            type:
              type: string
            identity:
              type: string
        headers:
          type: object
          properties:
            name:
              type: string
              const: chatd_user_identity_created
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.chatd.users.{user_uuid}.identities.created
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
            tenant_uuid:
              $ref: '#/components/schemas/tenant_uuid'
            user_uuid:{uuid}:
              $ref: '#/components/schemas/user_uuid:{uuid}'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
          - tenant_uuid
          - user_uuid:{uuid}
  chatd_user_identity_deleted:
    subscribe:
      summary: ''
      tags:
      - name: chatd
      message:
        name: chatd-user-identity-deleted-payload
        payload:
          type: object
          properties:
            uuid:
              type: string
              format: uuid
            backend:
              type: string
            type:
              type: string
            identity:
              type: string
        headers:
          type: object
          properties:
            name:
              type: string
              const: chatd_user_identity_deleted
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.chatd.users.{user_uuid}.identities.deleted
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
            tenant_uuid:
              $ref: '#/components/schemas/tenant_uuid'
            user_uuid:{uuid}:
              $ref: '#/components/schemas/user_uuid:{uuid}'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
          - tenant_uuid
          - user_uuid:{uuid}
  chatd_user_identity_updated:
    subscribe:
      summary: ''
      tags:
      - name: chatd
      message:
        name: chatd-user-identity-updated-payload
        payload:
          type: object
          properties:
            uuid:
              type: string
              format: uuid
            backend:
              type: string
            type:
              type: string
            identity:
              type: string
        headers:
          type: object
          properties:
            name:
              type: string
              const: chatd_user_identity_updated
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.chatd.users.{user_uuid}.identities.updated
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
            tenant_uuid:
              $ref: '#/components/schemas/tenant_uuid'
            user_uuid:{uuid}:
              $ref: '#/components/schemas/user_uuid:{uuid}'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
          - tenant_uuid
          - user_uuid:{uuid}
  chatd_user_room_created:
    subscribe:
      summary: ''
      tags:
      - name: chatd
      message:
        name: chatd-user-room-created-payload
        payload:
          type: object
          properties:
            uuid:
              type: string
              format: uuid
            tenant_uuid:
              type: string
              format: uuid
            name:
              type: string
            users:
              type: array
              items:
                type: object
                properties:
                  uuid:
                    type: string
                    format: uuid
                  tenant_uuid:
                    type: string
                    format: uuid
                  wazo_uuid:
                    type: string
                    format: uuid
        headers:
          type: object
          properties:
            name:
              type: string
              const: chatd_user_room_created
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.chatd.users.{user_uuid}.rooms.created
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
            tenant_uuid:
              $ref: '#/components/schemas/tenant_uuid'
            user_uuid:{uuid}:
              $ref: '#/components/schemas/user_uuid:{uuid}'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
          - tenant_uuid
          - user_uuid:{uuid}
  chatd_user_room_message_created:
    subscribe:
      summary: ''
      tags:
      - name: chatd
      message:
        name: chatd-user-room-message-created-payload
        payload:
          type: object
          properties:
            message_data:
              type: object
              properties:
                uuid:
                  type: string
                  format: uuid
                content:
                  type: string
                alias:
                  type: string
                delivery:
                  type: object
                  properties:
                    type:
                      type: string
                    backend:
                      type: string
                    recipients:
                      type: array
                      items:
                        type: object
                        properties:
                          identity:
                            type: string
                          status:
                            type: string
                          updated_at:
                            type: string
                user_uuid:
                  type: string
                  format: uuid
                tenant_uuid:
                  type: string
                  format: uuid
                wazo_uuid:
                  type: string
                  format: uuid
                created_at:
                  type: string
                room:
                  type: object
                  properties:
                    uuid:
                      type: string
                      format: uuid
                    tenant_uuid:
                      type: string
                      format: uuid
                    name:
                      type: string
                    users:
                      type: array
                      items:
                        type: object
                        properties:
                          uuid:
                            type: string
                            format: uuid
                          tenant_uuid:
                            type: string
                            format: uuid
                          wazo_uuid:
                            type: string
                            format: uuid
            room_uuid:
              type: string
              format: uuid
        headers:
          type: object
          properties:
            name:
              type: string
              const: chatd_user_room_message_created
              description: Name of the event (used for routing the message)
            required_acl:
              type: string
              const: events.chatd.users.{user_uuid}.rooms.{room_uuid}.messages.created
              description: Necessary user access required to read this event
            origin_uuid:
              $ref: '#/components/schemas/origin_uuid'
            timestamp:
              $ref: '#/components/schemas/timestamp'
            tenant_uuid:
              $ref: '#/components/schemas/tenant_uuid'
            user_uuid:{uuid}:
              $ref: '#/components/schemas/user_uuid:{uuid}'
          required:
          - name
          - required_acl
          - origin_uuid
          - timestamp
          - tenant_uuid
          - user_uuid:{uuid}
components:
  schemas:
    origin_uuid:
      type: string
      format: uuid
      description: Unique identifier of the publishing WAZO service
    timestamp:
      type: string
      format: date-time
      description: Date and time this event was published
    tenant_uuid:
      type: string
      format: uuid
      description: Unique identifier of this resource's tenant
    user_uuid:{uuid}:
      type: boolean
      description: User's unique identifier that this event is intended for. The format user_uuid:{uuid} allows multiple users to be the recipient
        of this event