Modo webhook
Modo webhook
Actualmente, el agente de GPTBots admite tres modos de respuesta: blocking, streaming y webhook. Cuando se utiliza el modo webhook para recibir mensajes de respuesta, tanto las respuestas de IA como las respuestas humanas se enviarán a la URL de webhook especificada.
| Modo de respuesta | Tipos de mensajes admitidos |
|---|---|
| blocking | respuestas de IA |
| streaming | respuestas de IA |
| webhook | respuestas humanas, respuestas de IA |
Método de solicitud
POST
Endpoint
Se recomienda configurar la dirección de recepción de mensajes en Agent > Integration > API > webhook.
Autenticación
Consulte Visión general de la API (en inglés) para obtener instrucciones de autenticación.
Solicitud
Ejemplo de solicitud
curl -X POST 'YOUR_API_URL' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"create_time": 1679587005,
"conversation_id": "657303a8a764d47094874bbe",
"message_id": "65a4ccfC7ce58e728d5897e0",
"output": [
{
"from_component_branch": "1",
"from_component_name": "Component Name",
"content": {
"text": "Hi, is there anything I can help you?",
"audio": [
{
"audio": "http://gptbots.ai/example.mp3",
"transcript": "The transcribed content of the audio"
}
]
}
}
],
"usage": {
"tokens": {
"total_tokens": 29,
"prompt_tokens": 19,
"prompt_tokens_details":
{
"audio_tokens": 0,
"text_tokens": 0
},
"completion_tokens": 10,
"completion_tokens_details":
{
"reasoning_tokens": 0,
"audio_tokens": 0,
"text_tokens": 0
}
},
"credits": {
"total_credits": 0.0,
"text_input_credits": 0.0,
"text_output_credits": 0.0,
"audio_input_credits": 0.0,
"audio_output_credits": 0.0
}
}
}'
curl -X POST 'YOUR_API_URL' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"create_time": 1679587005,
"conversation_id": "657303a8a764d47094874bbe",
"message_id": "65a4ccfC7ce58e728d5897e0",
"output": [
{
"from_component_branch": "1",
"from_component_name": "Component Name",
"content": {
"text": "Hi, is there anything I can help you?",
"audio": [
{
"audio": "http://gptbots.ai/example.mp3",
"transcript": "The transcribed content of the audio"
}
]
}
}
],
"usage": {
"tokens": {
"total_tokens": 29,
"prompt_tokens": 19,
"prompt_tokens_details":
{
"audio_tokens": 0,
"text_tokens": 0
},
"completion_tokens": 10,
"completion_tokens_details":
{
"reasoning_tokens": 0,
"audio_tokens": 0,
"text_tokens": 0
}
},
"credits": {
"total_credits": 0.0,
"text_input_credits": 0.0,
"text_output_credits": 0.0,
"audio_input_credits": 0.0,
"audio_output_credits": 0.0
}
}
}'
Este bloque de código en una ventana flotante
Cabeceras de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| Authorization | Bearer o Basic ${token} | Si la autenticación está habilitada, se utiliza Authorization: Bearer o Basic ${token} para la verificación de la solicitud. Es opcional si la autenticación está deshabilitada. |
| Content-Type | application/json | Tipo de contenido; se establece en application/json. |
Cuerpo de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| conversation_id | string | Identificador único de la conversación. |
| message_id | string | Identificador único de un mensaje específico dentro de una conversación. |
| create_time | long | Marca de tiempo en la que se generó el mensaje. |
| output | JSON Array | Contenido de la respuesta del agente de IA. |
| from_component_branch | string | Rama de FlowAgent. |
| from_component_name | string | Nombre del componente ascendente en FlowAgent. |
| content | object | Contenido del mensaje de respuesta del agente de IA; actualmente incluye los tipos de mensaje text y audio. |
| usage | object | Consumo. |
| tokens | object | Total de tokens consumidos por el agente en esta conversación. |
| total_tokens | integer | Total de tokens consumidos para entrada + salida en esta conversación. |
| prompt_tokens | integer | Total de tokens consumidos para la entrada en esta conversación. |
| completion_tokens | integer | Total de tokens consumidos para la salida en esta conversación. |
| prompt_tokens_details | object | Detalles del consumo de tokens de la entrada en esta conversación. |
| completion_tokens_details | object | Detalles del consumo de tokens de la salida en esta conversación. |
| credits | object | Total de créditos consumidos por el agente en esta conversación. |
| text_input_credits | double | Créditos consumidos por mensajes de texto de entrada en esta conversación. |
| text_output_credits | double | Créditos consumidos por mensajes de texto de salida en esta conversación. |
| audio_input_credits | double | Créditos consumidos por mensajes de audio de entrada en esta conversación. |
| audio_output_credits | double | Créditos consumidos por mensajes de audio de salida en esta conversación. |
Respuesta
Ejemplo de respuesta
{
"code": 200,
"msg": "success"
}
{
"code": 200,
"msg": "success"
}
Este bloque de código en una ventana flotante
