<?php
// teste_clickservice.php — TESTE ISOLADO da conexão ClickService
// Rode este arquivo direto (ex.: https://varte.net/mkt/teste_clickservice.php)
// para confirmar que a apikey e a conexão (17996006515) estão funcionando.
//
// ⚠ Remova este arquivo do servidor depois do teste — ele expõe a apikey.

header('Content-Type: text/plain; charset=utf-8');

$apiKey  = 'csk_bba68d40ba2e47bf1e76345b76b2bf9ebbb330d2';
$apiUrl  = 'https://clickservice.com.br/api/v1/messages.php';
$numero  = '5516981546365'; // seu próprio número, para o teste chegar em você mesmo

$body = [
    'number' => $numero,
    'text'   => "✅ Teste de conexão ClickService\nEnviado em: " . date('d/m/Y H:i:s'),
];

$ch = curl_init($apiUrl);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => json_encode($body, JSON_UNESCAPED_UNICODE),
    CURLOPT_HTTPHEADER     => [
        'Content-Type: application/json',
        'apikey: ' . $apiKey,
    ],
    CURLOPT_TIMEOUT        => 30,
]);

$resp     = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$curlErr  = curl_error($ch);
curl_close($ch);

echo "═══════════════════════════════════════\n";
echo "  TESTE DE CONEXÃO — CLICKSERVICE API\n";
echo "═══════════════════════════════════════\n\n";

echo "Endpoint: $apiUrl\n";
echo "Número destino: $numero\n";
echo "HTTP Status: $httpCode\n\n";

if ($resp === false) {
    echo "❌ ERRO DE CONEXÃO (cURL): $curlErr\n";
    echo "→ Verifique se o servidor permite conexões externas HTTPS.\n";
    exit;
}

echo "Resposta bruta:\n$resp\n\n";

$data = json_decode($resp, true);

switch ($httpCode) {
    case 200:
        echo "✅ SUCESSO! Mensagem enviada. Confira o WhatsApp {$numero}.\n";
        break;
    case 401:
        echo "❌ APIKEY INVÁLIDA OU AUSENTE.\n";
        echo "→ Confirme a chave no painel ClickService (Integração da conexão).\n";
        break;
    case 403:
        echo "❌ CONTA SEM PLANO ATIVO (vencido ou suspenso).\n";
        echo "→ Verifique o plano no painel ClickService.\n";
        break;
    case 409:
        echo "❌ CONEXÃO NÃO ATIVA (número desconectado).\n";
        echo "→ Escaneie o QR Code novamente no painel ClickService.\n";
        break;
    case 422:
        echo "❌ DADOS INVÁLIDOS.\n";
        echo "→ " . ($data['error'] ?? 'Verifique o formato do número/texto.') . "\n";
        break;
    case 502:
        echo "⚠ FALHA TEMPORÁRIA — tente novamente em alguns segundos.\n";
        break;
    default:
        echo "⚠ Resposta inesperada (HTTP $httpCode).\n";
}

echo "\n═══════════════════════════════════════\n";