Przejdź do głównej zawartości

Weryfikuj zgodę po stronie serwera

Użyj tego, gdy musisz potwierdzić zgodę przed operacjami po stronie serwera, takimi jak wysyłanie emaili, eksporty danych lub pipeline'y analityczne.

Kiedy weryfikować po stronie serwera

  • Dodawanie użytkownika do listy marketingowej email
  • Przechowywanie danych behawioralnych w hurtowni danych
  • Przekazywanie danych do API stron trzecich (CRM, platforma reklamowa)
  • Renderowanie spersonalizowanych treści po stronie serwera

Krok 1: Pobierz token API

Konto → Klucze API → Utwórz klucz z zakresem receipts:read.

Krok 2: Zbuduj identyfikator użytkownika

Identyfikator musi odpowiadać temu używanemu przez ConsentForge w przeglądarce. Runtime haszuje: {ip}|{userAgent}|{propertyId}|{date} używając SHA-256.

const crypto = require('crypto');

function buildUserId(ip, userAgent, propertyId) {
const date = new Date().toISOString().split('T')[0]; // YYYY-MM-DD
const raw = `${ip}|${userAgent}|${propertyId}|${date}`;
return crypto.createHash('sha256').update(raw).digest('hex');
}

Krok 3: Sprawdź zgodę

async function hasConsent(ip, userAgent, propertyId, category) {
const userId = buildUserId(ip, userAgent, propertyId);

const res = await fetch(
`https://api.consentforge.com/api/v1/consent/check?property_id=${propertyId}&user_id=${userId}&category=${category}`,
{ headers: { Authorization: `Bearer ${process.env.CONSENTFORGE_API_KEY}` } }
);

if (!res.ok) return false;
const { has_consent } = await res.json();
return has_consent;
}

// Użycie:
const canEmail = await hasConsent(req.ip, req.headers['user-agent'], 'prop_abc', 'marketing');
if (canEmail) {
await addToEmailList(user.email);
}

Buforowanie

Buforuj wyniki sprawdzania zgody przez maksymalnie 5 minut, aby uniknąć nadmiernych wywołań API na endpointach o dużym ruchu. Zmiany zgody są rzadkie w ramach pojedynczej sesji.

Zobacz też: Weryfikacja po stronie serwera