42 lines
2.3 KiB
SQL
42 lines
2.3 KiB
SQL
-- Звонки из Виртуальной АТС МегаФон. Номера клиентов — персональные данные: доступ только
|
||
-- из админки, записи разговоров не храним — только ссылку АТС.
|
||
CREATE TABLE pbx_calls (
|
||
uid text PRIMARY KEY, -- идентификатор звонка в АТС
|
||
type text NOT NULL DEFAULT '', -- in | out | missed
|
||
status text NOT NULL DEFAULT '', -- success | missed | busy | notavailable…
|
||
client text NOT NULL DEFAULT '', -- номер клиента, как прислала АТС
|
||
client_key text NOT NULL DEFAULT '', -- ключ номера (10 цифр), как в отчёте по каналам
|
||
via text NOT NULL DEFAULT '', -- номер «Через»: на какой номер клиники звонили
|
||
via_key text NOT NULL DEFAULT '',
|
||
user_login text NOT NULL DEFAULT '',
|
||
user_name text NOT NULL DEFAULT '',
|
||
started_at timestamptz NOT NULL,
|
||
wait int NOT NULL DEFAULT 0,
|
||
duration int NOT NULL DEFAULT 0,
|
||
record_url text NOT NULL DEFAULT '',
|
||
raw jsonb NOT NULL DEFAULT '{}',
|
||
synced_at timestamptz NOT NULL DEFAULT now()
|
||
);
|
||
CREATE INDEX pbx_calls_started_idx ON pbx_calls (started_at);
|
||
CREATE INDEX pbx_calls_client_idx ON pbx_calls (client_key, started_at);
|
||
CREATE INDEX pbx_calls_via_idx ON pbx_calls (via_key);
|
||
|
||
-- Номер клиники → канал рекламы. Задаётся в админке; один канал может иметь несколько номеров.
|
||
CREATE TABLE pbx_lines (
|
||
via_key text PRIMARY KEY,
|
||
channel text NOT NULL,
|
||
updated_at timestamptz NOT NULL DEFAULT now()
|
||
);
|
||
|
||
-- Журнал загрузок из АТС: когда и что забрали, чем закончилось.
|
||
CREATE TABLE pbx_sync_log (
|
||
id bigserial PRIMARY KEY,
|
||
started_at timestamptz NOT NULL DEFAULT now(),
|
||
finished_at timestamptz,
|
||
period_from timestamptz NOT NULL,
|
||
period_to timestamptz NOT NULL,
|
||
calls int NOT NULL DEFAULT 0,
|
||
error text NOT NULL DEFAULT '',
|
||
manual boolean NOT NULL DEFAULT false
|
||
);
|