Horario de Atención
El horario forma parte de supportInformation del agente. El PATCH soporta merge por día: puedes actualizar un solo día sin necesidad de re-enviar los demás.
Obtener Horario
GET https://api.platica.mx/v1/agents/{agentId}/schedule Parámetros de URL
| Parámetro | Tipo | Descripción | Requerido |
|---|---|---|---|
agentId | string | Identificador único del agente | ✓ |
Respuesta
{
"outOfServiceBehavior": "limited",
"serviceHours": {
"monday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"tuesday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"wednesday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"thursday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"friday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"saturday": { "availability": "Cerrado", "start": "Cerrado", "end": "Cerrado" },
"sunday": { "availability": "Cerrado", "start": "Cerrado", "end": "Cerrado" }
}
} Campos de la respuesta
| Campo | Descripción |
|---|---|
outOfServiceBehavior | Qué hace el agente fuera del horario: "limited", "full" o "none" |
serviceHours.{day}.availability | "Abierto" o "Cerrado" |
serviceHours.{day}.start | Hora de apertura (formato libre, ej. "9:00am"). Convención: "Cerrado" cuando availability es "Cerrado". |
serviceHours.{day}.end | Hora de cierre (mismas reglas que start) |
Actualizar Horario
Al menos uno de outOfServiceBehavior o serviceHours debe estar presente. El servidor hace merge por día dentro de serviceHours, así que los días no incluidos en el body se conservan tal cual estaban.
PATCH https://api.platica.mx/v1/agents/{agentId}/schedule Parámetros de URL
| Parámetro | Tipo | Descripción | Requerido |
|---|---|---|---|
agentId | string | Identificador único del agente | ✓ |
Cuerpo de la solicitud
Cambiar sólo el horario del sábado (los demás días se mantienen):
{
"serviceHours": {
"saturday": { "availability": "Abierto", "start": "10:00am", "end": "2:00pm" }
}
} Cambiar el comportamiento fuera de servicio sin tocar horarios:
{
"outOfServiceBehavior": "none"
} | Parámetro | Tipo | Descripción |
|---|---|---|
outOfServiceBehavior | "limited" \| "full" \| "none" | Comportamiento del agente fuera del horario |
serviceHours | objeto | Mapa parcial de días (monday..sunday) a su nueva configuración |
| Valor | Descripción |
|---|---|
limited | El agente responde pero indica que está fuera de horario |
full | El agente responde normalmente, ignorando el horario |
none | El agente no responde fuera del horario |
Respuesta
{
"status": "success",
"message": "Agent schedule updated successfully",
"data": {
"outOfServiceBehavior": "none",
"serviceHours": {
"monday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"tuesday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"wednesday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"thursday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"friday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"saturday": { "availability": "Abierto", "start": "10:00am", "end": "2:00pm" },
"sunday": { "availability": "Cerrado", "start": "Cerrado", "end": "Cerrado" }
}
}
} data siempre devuelve los 7 días completos tras el merge.