Elimina el lookup innecesario en users/$userId que nunca se usaba. Ahora sigue el mismo patrón que recepción: BD telefono → paciente_cel. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
41 lines
1.3 KiB
PHP
41 lines
1.3 KiB
PHP
<?php
|
|
/**
|
|
* POST /modules/turnero/api/enviar_encuesta.php
|
|
* Envía la plantilla "encuesta" al paciente del turno vía WhatsApp turnero.
|
|
* Body JSON: { turno_id: int }
|
|
*/
|
|
require_once __DIR__ . '/_helpers.php';
|
|
require_once __DIR__ . '/../../../services/WhatsAppService.php';
|
|
requireMethod('POST');
|
|
requireTurnero();
|
|
|
|
$body = inputJson();
|
|
$turnoId = (int)($body['turno_id'] ?? 0);
|
|
if (!$turnoId) jsonError('turno_id requerido.');
|
|
|
|
$pdo = db();
|
|
|
|
$row = $pdo->prepare(
|
|
"SELECT t.paciente_cel, t.paciente_nombre,
|
|
COALESCE(lp.telefono, t.paciente_cel) AS celular
|
|
FROM turnero_turnos t
|
|
LEFT JOIN lab_pacientes lp ON lp.id = t.paciente_id
|
|
WHERE t.id = ? LIMIT 1"
|
|
);
|
|
$row->execute([$turnoId]);
|
|
$pac = $row->fetch(PDO::FETCH_ASSOC);
|
|
|
|
if (!$pac) jsonError('Turno no encontrado.', 404);
|
|
|
|
$phone = preg_replace('/[^0-9]/', '', $pac['celular'] ?? '');
|
|
if (!$phone) jsonError('El paciente no tiene número de celular registrado.');
|
|
|
|
try {
|
|
$wa = new WhatsAppService('turnero');
|
|
$meta = ['canal' => 'turnero', 'operator_id' => adminId()];
|
|
$wa->sendTemplateMessage($phone, 'encuesta', 'es_CO', [], [], null, $meta);
|
|
jsonOk(['mensaje' => 'Encuesta enviada a ' . ($pac['paciente_nombre'] ?? $phone)]);
|
|
} catch (\Throwable $e) {
|
|
jsonError('Error al enviar: ' . $e->getMessage());
|
|
}
|