Поделиться через


Chat - Create Chat Thread

Создает поток чата.

POST {endpoint}/chat/threads?api-version=2024-03-15-preview

Параметры URI

Имя В Обязательно Тип Описание
endpoint
path True

string

Конечная точка ресурса Связи Azure.

api-version
query True

string

Версия ВЫЗЫВАемого API.

Заголовок запроса

Имя Обязательно Тип Описание
Authorization True

string

Маркер доступа пользователя ACS (Службы коммуникации Azure).

repeatability-request-id

string

Если этот параметр указан, клиент указывает, что запрос является повторяемым; это значит, что клиент может выполнить запрос несколько раз с одинаковым значением Repeatability-Request-Id и получить соответствующий ответ без многократного выполнения запроса сервером. Значение параметра Repeatability-Request-Id является непрозрачной строкой, представляющей созданный клиентом, глобально уникальный для всех времен идентификатор для запроса. Рекомендуется использовать UUID версии 4 (случайные).

Текст запроса

Имя Обязательно Тип Описание
topic True

string

Тема потока чата.

metadata

object

Контекстные метаданные для потока. Метаданные состоят из пар "имя-значение". Общий размер всех пар метаданных может составлять до 1 КБ.

participants

ChatParticipant[]

Участники, добавляемые в поток чата.

retentionPolicy ChatRetentionPolicy:

Политика хранения данных для автоматического удаления.

Ответы

Имя Тип Описание
201 Created

CreateChatThreadResult

Созданный поток. Location Заголовок будет содержать URL-адрес только что созданного потока.

401 Unauthorized

CommunicationErrorResponse

Не авторизовано.

403 Forbidden

CommunicationErrorResponse

Запрещено.

429 Too Many Requests

CommunicationErrorResponse

Слишком много запросов.

Other Status Codes

CommunicationErrorResponse

Служба недоступна.

Безопасность

Authorization

Маркер доступа пользователя ACS (Службы коммуникации Azure).

Type: apiKey
In: header

Примеры

Create chat thread
Create chat thread with repeatability request id header

Create chat thread

Sample Request

POST https://contoso.westus.communications.azure.com/chat/threads?api-version=2024-03-15-preview

{
  "topic": "Lunch",
  "retentionPolicy": {
    "kind": "threadCreationDate",
    "deleteThreadAfterDays": 30
  },
  "participants": [
    {
      "communicationIdentifier": {
        "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
        "communicationUser": {
          "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
        }
      },
      "displayName": "Jane"
    },
    {
      "communicationIdentifier": {
        "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
        "communicationUser": {
          "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
        }
      },
      "displayName": "Alex"
    },
    {
      "communicationIdentifier": {
        "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a",
        "communicationUser": {
          "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a"
        }
      },
      "displayName": "Bob"
    },
    {
      "communicationIdentifier": {
        "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b",
        "communicationUser": {
          "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b"
        }
      },
      "displayName": "Peter"
    }
  ]
}

Sample Response

Location: https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2
{
  "chatThread": {
    "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
    "topic": "Lunch",
    "createdOn": "2020-06-06T05:55:41.6460000Z",
    "createdByCommunicationIdentifier": {
      "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
      "communicationUser": {
        "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
      }
    },
    "retentionPolicy": {
      "kind": "threadCreationDate",
      "deleteThreadAfterDays": 30
    }
  },
  "invalidParticipants": [
    {
      "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a",
      "code": "403",
      "message": "Permissions check failed"
    },
    {
      "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b",
      "code": "404",
      "message": "Not found"
    }
  ]
}
{
  "error": {
    "code": "Unauthorized",
    "message": "Request is not authorized."
  }
}
{
  "error": {
    "code": "Forbidden",
    "message": "User is not allowed to perform specified action."
  }
}
{
  "error": {
    "code": "TooManyRequests",
    "message": "Rate limit exceeded."
  }
}
{
  "error": {
    "code": "ServiceUnavailable",
    "message": "The server is currently unable to handle the request."
  }
}

Create chat thread with repeatability request id header

Sample Request

POST https://contoso.westus.communications.azure.com/chat/threads?api-version=2024-03-15-preview

{
  "topic": "Lunch",
  "participants": [
    {
      "communicationIdentifier": {
        "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
        "communicationUser": {
          "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
        }
      },
      "displayName": "Jane"
    },
    {
      "communicationIdentifier": {
        "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
        "communicationUser": {
          "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
        }
      },
      "displayName": "Alex"
    },
    {
      "communicationIdentifier": {
        "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a",
        "communicationUser": {
          "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a"
        }
      },
      "displayName": "Bob"
    },
    {
      "communicationIdentifier": {
        "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b",
        "communicationUser": {
          "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b"
        }
      },
      "displayName": "Peter"
    }
  ]
}

Sample Response

Location: https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2
{
  "chatThread": {
    "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
    "topic": "Lunch",
    "createdOn": "2020-06-06T05:55:41.6460000Z",
    "createdByCommunicationIdentifier": {
      "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
      "communicationUser": {
        "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
      }
    }
  },
  "invalidParticipants": [
    {
      "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a",
      "code": "403",
      "message": "Permissions check failed"
    },
    {
      "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b",
      "code": "404",
      "message": "Not found"
    }
  ]
}
{
  "error": {
    "code": "Unauthorized",
    "message": "Request is not authorized."
  }
}
{
  "error": {
    "code": "Forbidden",
    "message": "User is not allowed to perform specified action."
  }
}
{
  "error": {
    "code": "TooManyRequests",
    "message": "Rate limit exceeded."
  }
}
{
  "error": {
    "code": "ServiceUnavailable",
    "message": "The server is currently unable to handle the request."
  }
}

Определения

Имя Описание
ChatParticipant

Участник потока чата.

ChatThreadProperties

Беседа чата.

CreateChatThreadRequest

Запрос полезных данных для создания потока чата.

CreateChatThreadResult

Результат операции создания потока чата.

NoneRetentionPolicy

Политика хранения потоков отсутствует.

ThreadCreationDateRetentionPolicy

Политика хранения потоков на основе даты создания потока.

ChatParticipant

Участник потока чата.

Имя Тип Описание
communicationIdentifier

CommunicationIdentifierModel

displayName

string

Отображаемое имя участника чата.

metadata

object

Контекстные метаданные для участника чата. Метаданные состоят из пар "имя-значение". Общий размер всех пар метаданных может составлять до 1 КБ.

shareHistoryTime

string

Время, с которого журнал чата передается участнику. Метка времени имеет RFC3339 формате: yyyy-MM-ddTHH:mm:ssZ.

ChatThreadProperties

Беседа чата.

Имя Тип Описание
createdByCommunicationIdentifier

CommunicationIdentifierModel

createdOn

string

Метка времени создания потока чата. Метка времени имеет RFC3339 формате: yyyy-MM-ddTHH:mm:ssZ.

deletedOn

string

Метка времени удаления потока чата. Метка времени имеет RFC3339 формате: yyyy-MM-ddTHH:mm:ssZ.

id

string

Идентификатор потока чата.

metadata

object

Контекстные метаданные для потока. Метаданные состоят из пар "имя-значение". Общий размер всех пар метаданных может составлять до 1 КБ.

retentionPolicy ChatRetentionPolicy:

Политика хранения данных для автоматического удаления.

topic

string

Тема потока чата.

CreateChatThreadRequest

Запрос полезных данных для создания потока чата.

Имя Тип Описание
metadata

object

Контекстные метаданные для потока. Метаданные состоят из пар "имя-значение". Общий размер всех пар метаданных может составлять до 1 КБ.

participants

ChatParticipant[]

Участники, добавляемые в поток чата.

retentionPolicy ChatRetentionPolicy:

Политика хранения данных для автоматического удаления.

topic

string

Тема потока чата.

CreateChatThreadResult

Результат операции создания потока чата.

Имя Тип Описание
chatThread

ChatThreadProperties

Беседа чата.

invalidParticipants

CommunicationError[]

Участники, которые не удалось добавить в поток чата.

NoneRetentionPolicy

Политика хранения потоков отсутствует.

Имя Тип Описание
kind string:

none

Тип политики хранения

ThreadCreationDateRetentionPolicy

Политика хранения потоков на основе даты создания потока.

Имя Тип Описание
deleteThreadAfterDays

integer

Указывает, сколько дней после создания потока поток будет удален.

kind string:

threadCreationDate

Тип политики хранения