Inicio de una conversación en Direct Line API 3.0
Los clientes pueden abrir las conversaciones de Direct Line explícitamente y estas se pueden ejecutar siempre y cuando el cliente y el bot participen y tengan credenciales válidas. Mientras la conversación está abierta, el bot y el cliente pueden enviar mensajes. Más de un cliente puede conectarse a una conversación determinada y cada cliente puede participar en nombre de varios usuarios.
Apertura de una nueva conversación
Para abrir una conversación nueva desde el cliente, emita una solicitud POST al punto de conexión /v3/directline/conversations.
POST https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer SECRET_OR_TOKEN
Los fragmentos de código siguientes proporcionan un ejemplo de la solicitud y respuesta de inicio de conversación.
Solicitud
POST https://directline.botframework.com/v3/directline/conversations
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn
Response
Si la solicitud es correcta, la respuesta contendrá un identificador para la conversación, un token, un valor que indica el número de segundos hasta que expire el token y una dirección URL de secuencia que el cliente puede usar para recibir actividades mediante la secuencia de WebSocket.
HTTP/1.1 201 Created
[other headers]
{
"conversationId": "abc123",
"token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
"expires_in": 1800,
"streamUrl": "https://directline.botframework.com/v3/directline/conversations/abc123/stream?t=RCurR_XV9ZA.cwA..."
}
Normalmente, se usa una solicitud de inicio de conversación para abrir una nueva conversación y se devuelve un código de estado HTTP 201 si la nueva conversación se inicia correctamente. Sin embargo, si un cliente envía una solicitud de inicio de conversación con un token de Direct Line en el Authorization
encabezado que se usó anteriormente para iniciar una conversación mediante la operación de inicio de conversación, se devolverá un código de estado HTTP 200 para indicar que la solicitud era aceptable pero no se creó ninguna conversación (como ya existía).
Sugerencia
Tendrá 60 segundos para conectarse a la dirección URL de secuencia de WebSocket. Si no se puede establecer la conexión durante este tiempo, puede volver a conectarse a la conversación para generar una nueva dirección URL de secuencia.
Iniciar conversación frente a generar token
La operación de inicio de conversación (POST /v3/directline/conversations
) es similar a la operación generar token (POST /v3/directline/tokens/generate
) en que ambas operaciones devuelven un token
que se puede usar para acceder a una sola conversación. Sin embargo, la operación de inicio de la conversación también inicia la conversación, se pone en contacto con el bot y crea una dirección URL de secuencia de WebSocket, mientras que la operación de generación de tokens no realiza ninguna de estas cosas.
Si piensa iniciar la conversación inmediatamente con el cliente, use la operación iniciar conversación. Si tiene previsto distribuir el token a los clientes y desea que inicien la conversación, use la operación generar token en su lugar.
Recursos adicionales
- Conceptos clave
- Autenticación
- Receive activities via WebSocket stream (Recepción de actividades mediante una secuencia de WebSocket)
- Volver a conectarse a una conversación