/**
 * Rossi Planejados - Contact Form 7 -> CRM Virtus
 */

add_action( 'wpcf7_submit', function( $contact_form, $result ) {

    // Identifica o formulário pelo título.
    if ( $contact_form->title() !== 'Formulário Landing Page' ) {
        return;
    }

    $status = $result['status'] ?? '';

    error_log(
        'ROSSI CRM | Form ID: ' . $contact_form->id()
        . ' | Status: ' . $status
    );

    // Processa apenas envios válidos.
    // mail_failed permite salvar o lead mesmo se o e-mail falhar.
    if ( ! in_array( $status, [ 'mail_sent', 'mail_failed' ], true ) ) {
        return;
    }

    // Não envia formulários em modo demonstração.
    if ( $contact_form->in_demo_mode() ) {
        return;
    }

    $submission = WPCF7_Submission::get_instance();

    if ( ! $submission ) {
        error_log( 'ROSSI CRM | Submission não encontrada.' );
        return;
    }

    // Campos reais do formulário.
    $data = $submission->get_posted_data();

    $nome = sanitize_text_field( $data['nome'] ?? '' );
    $telefone = sanitize_text_field( $data['telefone'] ?? '' );
    $cidade = sanitize_text_field( $data['cidade'] ?? '' );

    // Remove caracteres não numéricos.
    $phone = preg_replace( '/\D+/', '', $telefone );

    // Adiciona código do Brasil quando necessário.
    if ( strlen( $phone ) === 10 || strlen( $phone ) === 11 ) {
        $phone = '55' . $phone;
    }

    // Confere dados obrigatórios.
    if (
        empty( $nome ) ||
        empty( $cidade ) ||
        ! preg_match( '/^55\d{10,11}$/', $phone )
    ) {
        error_log( 'ROSSI CRM | Dados obrigatórios inválidos.' );
        return;
    }

    // JSON enviado ao Virtus.
    $payload = [
        'name'   => $nome,
        'phone'  => $phone,
        'cidade' => $cidade,
        'origem' => 'landing-page-rossi-planejados'
    ];

    // IMPORTANTE: colocar o webhook da Rossi Planejados.
    $webhook = 'https://api.crmvirtus.com/webhooks/forms/fb10ea0e-f4c0-40c2-b8c7-f9aa7830a59f';

    $response = wp_remote_post(
        $webhook,
        [
            'timeout' => 20,
            'headers' => [
                'Content-Type' => 'application/json'
            ],
            'body' => wp_json_encode( $payload ),
        ]
    );

    if ( is_wp_error( $response ) ) {
        error_log(
            'ROSSI CRM | ERRO: ' . $response->get_error_message()
        );
        return;
    }

    $http_code = wp_remote_retrieve_response_code( $response );

    error_log( 'ROSSI CRM | HTTP: ' . $http_code );

    if ( $http_code >= 200 && $http_code < 300 ) {
        error_log( 'ROSSI CRM | Requisição aceita pelo CRM.' );
    } else {
        error_log( 'ROSSI CRM | Falha na requisição ao CRM.' );
    }

}, 10, 2 );<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://rossiplanejados.com.br/wp-sitemap-index.xsl" ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://rossiplanejados.com.br/wp-sitemap-posts-post-1.xml</loc></sitemap><sitemap><loc>https://rossiplanejados.com.br/wp-sitemap-posts-page-1.xml</loc></sitemap><sitemap><loc>https://rossiplanejados.com.br/wp-sitemap-posts-elementskit_template-1.xml</loc></sitemap><sitemap><loc>https://rossiplanejados.com.br/wp-sitemap-posts-imagens_projetos-1.xml</loc></sitemap><sitemap><loc>https://rossiplanejados.com.br/wp-sitemap-taxonomies-category-1.xml</loc></sitemap><sitemap><loc>https://rossiplanejados.com.br/wp-sitemap-users-1.xml</loc></sitemap></sitemapindex>
