Compartir a través de


Chat - Create Chat Thread

Crea una conversación de chat.

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

Parámetros de identificador URI

Nombre En Requerido Tipo Description
endpoint
path True

string

Punto de conexión del recurso de Azure Communication.

api-version
query True

string

Versión de la API que se va a invocar.

Encabezado de la solicitud

Nombre Requerido Tipo Description
Authorization True

string

Un token de acceso de usuario de ACS (Azure Communication Services).

repeatability-request-id

string

Si se especifica, el cliente dirige que se puede repetir la solicitud; es decir, que el cliente puede realizar la solicitud varias veces con el mismo Repeatability-Request-Id y obtener una respuesta adecuada sin que el servidor ejecute la solicitud varias veces. El valor de Repeatability-Request-Id es una cadena opaca que representa un identificador globalmente único para todo el tiempo y generado por el cliente para la solicitud. Se recomienda usar UUID de la versión 4 (aleatoria).

Cuerpo de la solicitud

Nombre Requerido Tipo Description
topic True

string

Tema de subproceso de chat.

metadata

object

Metadatos contextuales para el subproceso. Los metadatos constan de pares nombre-valor. El tamaño total de todos los pares de metadatos puede tener un tamaño de hasta 1 KB.

participants

ChatParticipant[]

Participantes que se agregarán al subproceso de chat.

retentionPolicy ChatRetentionPolicy:

Directiva de retención de datos para la eliminación automática.

Respuestas

Nombre Tipo Description
201 Created

CreateChatThreadResult

Subproceso creado, el Location encabezado contendrá la dirección URL del subproceso recién creado.

401 Unauthorized

CommunicationErrorResponse

No autorizado.

403 Forbidden

CommunicationErrorResponse

Prohibido.

429 Too Many Requests

CommunicationErrorResponse

Demasiadas solicitudes.

Other Status Codes

CommunicationErrorResponse

Servicio no disponible.

Seguridad

Authorization

Un token de acceso de usuario de ACS (Azure Communication Services).

Type: apiKey
In: header

Ejemplos

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."
  }
}

Definiciones

Nombre Description
ChatParticipant

Participante del subproceso de chat.

ChatThreadProperties

Subproceso de chat

CreateChatThreadRequest

Solicitar carga para crear un subproceso de chat.

CreateChatThreadResult

Resultado de la operación crear subproceso de chat.

NoneRetentionPolicy

Ninguna directiva de retención de subprocesos.

ThreadCreationDateRetentionPolicy

Directiva de retención de subprocesos basada en la fecha de creación de subprocesos.

ChatParticipant

Participante del subproceso de chat.

Nombre Tipo Description
communicationIdentifier

CommunicationIdentifierModel

displayName

string

Nombre para mostrar del participante del chat.

metadata

object

Metadatos contextuales para el participante del chat. Los metadatos constan de pares nombre-valor. El tamaño total de todos los pares de metadatos puede tener un tamaño de hasta 1 KB.

shareHistoryTime

string

Hora a partir de la cual se comparte el historial de chat con el participante. La marca de tiempo está en RFC3339 formato: yyyy-MM-ddTHH:mm:ssZ.

ChatThreadProperties

Subproceso de chat

Nombre Tipo Description
createdByCommunicationIdentifier

CommunicationIdentifierModel

createdOn

string

Marca de tiempo cuando se creó el subproceso de chat. La marca de tiempo está en RFC3339 formato: yyyy-MM-ddTHH:mm:ssZ.

deletedOn

string

Marca de tiempo cuando se eliminó el subproceso de chat. La marca de tiempo está en RFC3339 formato: yyyy-MM-ddTHH:mm:ssZ.

id

string

Identificador de subproceso de chat.

metadata

object

Metadatos contextuales para el subproceso. Los metadatos constan de pares nombre-valor. El tamaño total de todos los pares de metadatos puede tener un tamaño de hasta 1 KB.

retentionPolicy ChatRetentionPolicy:

Directiva de retención de datos para la eliminación automática.

topic

string

Tema de conversación de chat.

CreateChatThreadRequest

Solicitar carga para crear un subproceso de chat.

Nombre Tipo Description
metadata

object

Metadatos contextuales para el subproceso. Los metadatos constan de pares nombre-valor. El tamaño total de todos los pares de metadatos puede tener un tamaño de hasta 1 KB.

participants

ChatParticipant[]

Participantes que se agregarán al subproceso de chat.

retentionPolicy ChatRetentionPolicy:

Directiva de retención de datos para la eliminación automática.

topic

string

Tema de subproceso de chat.

CreateChatThreadResult

Resultado de la operación crear subproceso de chat.

Nombre Tipo Description
chatThread

ChatThreadProperties

Subproceso de chat

invalidParticipants

CommunicationError[]

Los participantes que no se pudieron agregar al subproceso de chat.

NoneRetentionPolicy

Ninguna directiva de retención de subprocesos.

Nombre Tipo Description
kind string:

none

Tipo de directiva de retención

ThreadCreationDateRetentionPolicy

Directiva de retención de subprocesos basada en la fecha de creación de subprocesos.

Nombre Tipo Description
deleteThreadAfterDays

integer

Indica cuántos días después de la creación del subproceso se eliminará el subproceso.

kind string:

threadCreationDate

Tipo de directiva de retención