> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Probar y evaluar

> Valide escenarios de un solo turno, de múltiples turnos, de transferencia, de herramientas y de negocios antes de habilitar el lanzamiento completo.

Pruebe el agente con las respuestas esperadas y los casos de error antes de cambiar la audiencia a `EVERYONE`.

## Comience con configuraciones restringidas

Mantenga deshabilitados el lanzamiento, la transferencia y el seguimiento mientras establece la línea base de prueba. Restrinja la audiencia antes de agregar destinatarios de prueba.

**Referencia de la API:** [GET Get Settings](/api-reference/meta-business-agents/get-settings) · [PUT Replace Settings](/api-reference/meta-business-agents/replace-settings)

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request PUT \
  "https://api.ycloud.com/v2/metaBusinessAgents/$PHONE_NUMBER_ID/settings" \
  --header "X-API-Key: $YCLOUD_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "rollout": {"enabled": false},
    "handoff": {"enabled": false},
    "followup": {"enabled": false},
    "ai_audience": "ALLOWLISTED_ONLY"
  }'
```

[GET Get Settings](/api-reference/meta-business-agents/get-settings) devuelve una matriz, incluso cuando solo existe un objeto de configuración. [PUT Replace Settings](/api-reference/meta-business-agents/replace-settings) devuelve el objeto de configuración actualizado. YCloud omite los campos nulos antes de llamar a Meta, por lo que las configuraciones que no se proporcionan permanecen sin cambios.

| Campo | Línea base de prueba |
| - | - |
| `rollout.enabled` | Mantenga `false` hasta que el agente esté listo para las pruebas en vivo de WhatsApp. |
| `handoff.enabled` | Mantenga `false` durante las pruebas de respuesta de la línea base. Habilítelo por separado al probar escenarios de transferencia. |
| `followup.enabled` | Mantenga `false` durante las pruebas de respuesta de la línea base. Habilítelo por separado al probar escenarios de seguimiento. |
| `ai_audience` | Use `ALLOWLISTED_ONLY` hasta que pasen las pruebas de aceptación restringidas. |

Vuelva a leer las configuraciones efectivas después de la actualización. Cambie un comportamiento a la vez al probar la transferencia o el seguimiento, luego restaure la línea base restringida antes de pasar a otro escenario.

## Agregue destinatarios de prueba

Mantenga `ai_audience` establecido en `ALLOWLISTED_ONLY`, luego agregue cada probador como un número de teléfono E.164. Guarde la entrada de la lista de permitidos devuelta `id` para que pueda eliminar la entrada más tarde.

**Referencia de la API:** [GET List Allowlist](/api-reference/meta-business-agents/list-allowlist) · [POST Create Allowlist Entry](/api-reference/meta-business-agents/create-allowlist-entry) · [DELETE Delete Allowlist Entry](/api-reference/meta-business-agents/delete-allowlist-entry)

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request POST \
  "https://api.ycloud.com/v2/metaBusinessAgents/$PHONE_NUMBER_ID/allowListEntries" \
  --header "X-API-Key: $YCLOUD_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"consumer_phone_number":"+14155550123"}'
```

Use [GET List Allowlist](/api-reference/meta-business-agents/list-allowlist) para revisar la audiencia de prueba actual. Use [DELETE Delete Allowlist Entry](/api-reference/meta-business-agents/delete-allowlist-entry) para eliminar un probador por el ID de entrada devuelto.

<Warning>
  No use un número de usuario final con el código de llamada de país `+86`. Meta Business Agent actualmente no responde a los mensajes de los usuarios finales de `+86`, incluso cuando el número tiene el formato E.164 válido y se agrega a la lista de permitidos.
</Warning>

## Ejecute una prueba de un solo turno

**Referencia de la API:** [POST Test Agent](/api-reference/meta-business-agents/test-agent)

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request POST \
  "https://api.ycloud.com/v2/metaBusinessAgents/$PHONE_NUMBER_ID/tests" \
  --header "X-API-Key: $YCLOUD_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"user_msg":"What is your return policy?"}'
```

Una respuesta exitosa puede contener:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "message_id": "MESSAGE_ID",
  "agent_response": "Unused items can be returned within 30 days.",
  "conversation_id": "CONVERSATION_ID",
  "timestamp": 1787630155,
  "quick_replies": [],
  "product_variant_ids": []
}
```

| Campo de respuesta | Significado |
| - | - |
| `message_id` | Identificador de mensaje para la respuesta generada. |
| `agent_response` | Texto de respuesta generado. Puede estar vacío cuando `no_response_reason` está presente. |
| `conversation_id` | Identificador de contexto para turnos de prueba posteriores. |
| `timestamp` | Marca de tiempo de Unix en segundos. |
| `handoff_reason` | Por qué el agente decidió que un humano debería hacerse cargo, cuando está presente. |
| `no_response_reason` | Por qué el agente no produjo ninguna respuesta, cuando está presente. |
| `quick_replies` | Etiquetas de respuesta rápida sugeridas, cuando están presentes. |
| `product_variant_ids` | Variantes de productos a las que hace referencia la respuesta, cuando están presentes. |

La respuesta REST actual no incluye `estimated_token_usage`.

## Conserve el contexto para pruebas de múltiples turnos

Envíe el `conversation_id` devuelto con el siguiente mensaje del cliente.

**Referencia de la API:** [POST Test Agent](/api-reference/meta-business-agents/test-agent)

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request POST \
  "https://api.ycloud.com/v2/metaBusinessAgents/$PHONE_NUMBER_ID/tests" \
  --header "X-API-Key: $YCLOUD_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "user_msg": "What information do you need from me?",
    "conversation_id": "CONVERSATION_ID"
  }'
```

Use una nueva conversación para escenarios que no deben heredar el contexto anterior.

## Pruebe conocimientos, habilidades, conectores y herramientas

Cubra los recursos configurados en lugar de probar solo preguntas de ruta feliz.

**Referencia de la API:** [POST Run Connector Tool](/api-reference/meta-business-agents/run-connector-tool) · [GET List Connector Logs](/api-reference/meta-business-agents/list-connector-logs)

* Haga preguntas respondidas por información comercial, preguntas frecuentes, sitios web y archivos.
* Verifique hechos faltantes, fuentes contradictorias, contenido obsoleto y solicitudes no admitidas.
* Verifique cuándo debe y no debe ejecutarse cada habilidad.
* Ejercite cada herramienta de conector con entradas válidas, no válidas e incompletas.
* Confirme que los valores secretos nunca aparezcan en las respuestas o registros.
* Incluya casos que deberían desencadenar la transferencia humana o no producir ninguna respuesta.

Si falla una llamada de conector, inspeccione los registros del conector y verifique las credenciales, el estado del certificado, los enlaces de parámetros y las definiciones de solicitud de herramientas antes de cambiar la habilidad.

Ejecute cada herramienta configurada directamente a través de `/connectors/{connectorId}/tools/{toolId}/runs` con `input` representativo antes de permitir que el agente la seleccione en una conversación:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request POST \
  "https://api.ycloud.com/v2/metaBusinessAgents/$PHONE_NUMBER_ID/connectors/CONNECTOR_ID/tools/TOOL_ID/runs" \
  --header "X-API-Key: $YCLOUD_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"input":"Look up order ORD-1001"}'
```

## Pruebe a través de WhatsApp con destinatarios en la lista de permitidos

Valide los mismos escenarios desde cada número de teléfono de prueba en la lista de permitidos. Esto confirma el comportamiento del canal en vivo que el punto final de prueba no puede reproducir por completo.

<Warning>
  Durante el acceso anticipado, el punto final de prueba puede devolver una respuesta vacía o `ELIGIBILITY_CHECK_FAILED` mientras la audiencia es `ALLOWLISTED_ONLY`. Verifique `no_response_reason`, la elegibilidad, el lanzamiento, la audiencia y la configuración de la lista de permitidos. Si las pruebas de API requieren `EVERYONE`, úselo solo en un entorno controlado y restaure la configuración restringida inmediatamente después de la prueba.
</Warning>

## Ejecute evaluaciones

La API de evaluación proporciona estos recursos:

| Método | Ruta | Propósito |
| - | - | - |
| `GET` | [List Eval Cases](/api-reference/meta-business-agents/list-eval-cases) | Enumere los casos de evaluación disponibles. |
| `POST` | [Submit Eval Run](/api-reference/meta-business-agents/submit-eval-run) | Inicie una ejecución de evaluación. |
| `GET` | [Get Eval Run Status](/api-reference/meta-business-agents/get-eval-run-status) | Sondee el progreso y el resultado de la ejecución. |
| `GET` | [Get Eval Details](/api-reference/meta-business-agents/get-eval-details) | Recuperar resultados de evaluación detallados. |
| `GET` | [Get Eval Summary](/api-reference/meta-business-agents/get-eval-summary) | Recuperar resúmenes de evaluación. |

Enumere los casos disponibles, envíe una ejecución utilizando el valor `eval_case_ids` requerido, conserve el `job_id` devuelto y consulte el endpoint del trabajo.

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl "https://api.ycloud.com/v2/metaBusinessAgents/$PHONE_NUMBER_ID/evalCases" \
  --header "X-API-Key: $YCLOUD_API_KEY"
```

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request POST \
  "https://api.ycloud.com/v2/metaBusinessAgents/$PHONE_NUMBER_ID/evalRuns" \
  --header "X-API-Key: $YCLOUD_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"eval_case_ids":"EVAL_CASE_IDS"}'
```

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl "https://api.ycloud.com/v2/metaBusinessAgents/$PHONE_NUMBER_ID/evalRuns/JOB_ID" \
  --header "X-API-Key: $YCLOUD_API_KEY"
```

El campo de estado se devuelve como una cadena y actualmente no está restringido a un enum documentado. Deje de consultar cuando la respuesta proporcione un resultado completado o un error en lugar de asumir nombres de estado no documentados.

Los casos de evaluación describen un `scenario`, `categories`, `max_turns` y `success_criteria`. Los resultados detallados incluyen puntuaciones, etiquetas de turno, motivos, transcripciones y marcas de tiempo. Los resúmenes agregan puntuaciones, aspectos destacados y categorías de fallos.

## Lista de verificación para el lanzamiento

* Los datos comerciales requeridos son correctos y no contradictorios.
* Las conversaciones de varios turnos conservan el contexto previsto.
* La información faltante produce una respuesta segura en lugar de una respuesta inventada.
* Las herramientas de conector tienen éxito y fallan de forma segura con entradas representativas.
* Los escenarios de transferencia se comportan como se espera.
* Los fallos de evaluación se revisan y se solucionan o se aceptan explícitamente.
* Un responsable de reversión sabe cómo desactivar el lanzamiento.

<Card title="Siguiente: Lanzamiento seguro" icon="arrow-right" href="/es/documentation/meta-business-agent/roll-out-safely">
  Habilite el agente primero para los destinatarios en la lista de permitidos y luego amplíelo a toda la audiencia.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.