fix(autocall): результат тестового звонка больше не пишется в боевой заказ

В тестовом режиме робот звонит на тестовый номер, но нажатия уходили в заказ
клиента: заказ получал статус «согласовано роботом», дату, комментарий и
счётчик попытки — хотя клиенту не звонили. Теперь при was_test_mode:
- строка журнала пишется без привязки к заказу (order_group_id = null),
- заказ не обновляется вообще (ранний выход до всех update).

Симптом на проде 28.09: заказ ТП-010796 (9788324113) получил
«Согласовано роботом: сегодня, вторая половина дня» после тестового звонка.
This commit is contained in:
Hermes 2026-09-28 13:11:56 +02:00
parent 52c8f16a74
commit 6d8992dfad
1 changed files with 14 additions and 1 deletions

View File

@ -123,8 +123,11 @@ Deno.serve(async (request) => {
} }
// ── Вставка в лог ── // ── Вставка в лог ──
// У тестового звонка заказ не привязываем: робот звонит на тестовый номер,
// поэтому такая строка не должна попадать в счётчики попыток и в историю
// звонков клиента (см. ниже ранний выход).
const { error: logError } = await supabase.from("autocall_log").insert({ const { error: logError } = await supabase.from("autocall_log").insert({
order_group_id: body.order_group_id || null, order_group_id: wasTest ? null : body.order_group_id || null,
campaign_type: campaignType, campaign_type: campaignType,
customer_phone: body.customer_phone, customer_phone: body.customer_phone,
attempt_no: attemptNo, attempt_no: attemptNo,
@ -145,6 +148,16 @@ Deno.serve(async (request) => {
}); });
if (logError) throw logError; if (logError) throw logError;
// ── Тестовый звонок: дальше не идём ──
// В тестовом режиме робот звонит на тестовый номер (админка → Автодозвон),
// поэтому нажатия относятся к тесту, а не к клиенту. Раньше результат теста
// записывался в боевой заказ: заказ получал «согласовано роботом», дату и
// комментарий, хотя клиенту никто не звонил. Теперь — только строка журнала
// с пометкой was_test_mode и без привязки к заказу.
if (wasTest) {
return jsonResponse({ ok: true, test: true, order_group_untouched: true }, 200, cors);
}
// ── Найти заказ, если order_group_id не передан ── // ── Найти заказ, если order_group_id не передан ──
let orderGroupId = body.order_group_id || null; let orderGroupId = body.order_group_id || null;
if (!orderGroupId) { if (!orderGroupId) {