<?php
declare(strict_types=1);

/**
 * Landing standalone (PHP puro) — captura leads e repassa para o CRM parceiro
 * (Affiliate CR, https://simpl.pr-finance-pr.com), que é quem realmente grava
 * o lead e devolve o status/FTD depois.
 *
 * Fluxo:
 *   1. index.php  -> POST /send_lead.php
 *   2. send_lead.php -> POST {PARTNER_API_BASE}/lead/register  (header x-api-key)
 *   3. admin/     -> GET  {PARTNER_API_BASE}/lead/external-leads?from&to
 *                    para sincronizar status e FTD dos leads já enviados.
 */

/* ------------------------------------------------------------------ *
 * CRM parceiro (Affiliate CR)
 * ------------------------------------------------------------------ */

/** Base da API — sem barra no final. */
const PARTNER_API_BASE = 'https://simpl.pr-finance-pr.com';

/** Chave enviada no header `x-api-key` em toda chamada. */
const PARTNER_API_KEY = 'U2FsdGVkX19BadyCLSHT9rKigINSDs5+knrfr4CBp0lWQoJBt/UlKPmDQLkaIxjkVPg8w5avDIKklbXpr7nA9HFLaaFIa2NMR6aWCd9jJp1eCnrRjcWfcEUrLTV1TRUBM2JiHpVLArqB1roTd9gPYLfCWCGSrl/ix2mHO2v4t405/YqtZOijqYAuJXQWQTIW';

/** Campo `funnel_name` do lead — identifica esta landing dentro do CRM. */
const PARTNER_FUNNEL_NAME = 'cr7-token';

/** Campo `source` do lead — domínio de origem. */
const PARTNER_SOURCE = 'zmarkertscr7.online';

/**
 * País usado quando não dá para deduzir nenhum (nem pelo seletor de telefone,
 * nem pelo DDI). A API REJEITA country vazio ("Bad country"), então precisa
 * haver sempre um valor — este é o último recurso, não o padrão do dia a dia.
 */
const PARTNER_DEFAULT_COUNTRY = 'PT';

/**
 * GEOs habilitados na conta de afiliado. Testado em 10/08/2026: só PT era
 * aceito — BR, AO, MZ, ES e PL voltaram "Bad country". Esta lista NÃO bloqueia
 * o envio (quem decide é o CRM); serve para o painel avisar quando um lead cai
 * por país não habilitado. Atualize conforme o gerente de afiliados liberar.
 */
const PARTNER_ALLOWED_COUNTRIES = ['PT'];

/** Timeouts (segundos) das chamadas HTTP ao CRM. */
const PARTNER_TIMEOUT = 15;
const PARTNER_CONNECT_TIMEOUT = 8;

/* ------------------------------------------------------------------ *
 * Marca / textos
 * ------------------------------------------------------------------ */

const BRAND_NAME = 'ZMarkets';

/* ------------------------------------------------------------------ *
 * Painel administrativo (/admin)
 * ------------------------------------------------------------------ */

/**
 * Hash da senha do admin (password_hash, bcrypt). Para trocar a senha rode:
 *   php -r "echo password_hash('NOVA_SENHA', PASSWORD_DEFAULT);"
 * e cole o resultado aqui.
 */
const ADMIN_PASSWORD_HASH = '$2y$10$mS/US9L67lncLWb1tVLx9O2Nq5Jq3xV/MSBlzqFVx81qRzXlUXCnm';

/** Tempo de sessão do admin, em segundos (8h). */
const ADMIN_SESSION_TTL = 8 * 3600;

/** Token opcional para rodar a sincronização por cron: /admin/cron_sync.php?token=... */
const ADMIN_CRON_TOKEN = 'c9f1e8b2a7d4463f9a1c05e6d8b37f24';

/* ------------------------------------------------------------------ *
 * Armazenamento local
 * ------------------------------------------------------------------ */

/**
 * Diretório onde ficam o SQLite (leads.sqlite) e o log append-only
 * (leads.jsonl). Precisa ser gravável pelo PHP e NÃO deve ser servido
 * publicamente — o .htaccess dentro dele bloqueia o acesso via web.
 */
const DATA_DIR = __DIR__ . '/data';
