Packagist

PHP SDK

Laravel, WordPress ve framework-agnostic PHP projeleri için resmi Veribenim entegrasyonu.

Not: PHP SDK'yı iki farklı amaçla kullanabilirsiniz. Sadece banner'ı göstermek için script tag yeterlidir. Form rızası takibi veya DSAR gibi API işlemleri için SDK'yı kurun.

Basit Yöntem: Script Tag

Panelden bundle URL'nizi kopyalayın (Siteniz → Entegrasyon) ve layout dosyanıza yapıştırın.

php
<!-- layout.php veya header.php -->
<script src="https://bundles.veribenim.com/pariettecom.js" async></script>

<!-- Bundle URL'niz panelde Siteniz → Entegrasyon altında yazar. -->

Gelişmiş Yöntem: SDK

Token'ınızı Veribenim panelinden alın: Siteniz → Entegrasyon → Token.

Gereksinimler

  • PHP 8.1+
  • ext-json
  • ext-curl (opsiyonel — yoksa file_get_contents fallback)
bash
composer require veribenim/php-sdk
php
use Veribenim\VeribenimClient;

$client = new VeribenimClient('BURAYA_TOKEN_YAPISTIRIN');

Form Rızası Takibi

php
$client->logFormConsent(
    formName:    'contact',
    consented:   (bool) $_POST['kvkk_consent'],
    consentText: 'KVKK kapsamında verilerimin işlenmesini onaylıyorum.',
    metadata:    ['email' => $_POST['email'] ?? '']
);

DSAR Başvurusu

php
$result = $client->submitDsar(
    requestType: 'erasure',
    fullName:    'Ahmet Yılmaz',
    email:       'ahmet@example.com',
    description: 'Tüm verilerimin silinmesini talep ediyorum.'
);

// $result['deadline'] → 30 günlük yasal sürenin bitiş tarihi

// Tipler: 'access' | 'rectification' | 'erasure' | 'restriction'
//         'portability' | 'objection' | 'automated'

Tercihler, Rıza Geri Çekme ve Diğer Metotlar

php
// Ziyaretçi tercihlerini oku / yaz
$prefs = $client->getPreferences($sessionId);
// $prefs['current_consents'] → ['strictly_necessary'=>bool, 'functional'=>bool, ...]

$client->savePreferences([
    'strictly_necessary' => true,
    'functional'         => true,
    'analytics'          => true,
    'marketing'          => false,
], $sessionId);

// Rızayı geri çek (KVKK Md. 11/1-e)
$client->withdrawConsent($sessionId);

// Konsolda tanımlı özel olayı tetikle
$client->trackEvent(eventId: 7, sessionId: $sessionId, opts: ['txt' => 'Satın Al']);

// IAB TCF v2.2 vendor listesi
$vendors = $client->getVendors();
MetotAçıklama
logImpression()Sayfa görüntüleme kaydı
logConsent()Manuel rıza kararı (accept_all, reject_all, save_preferences, withdraw...)
withdrawConsent()Rıza geri çekme kısayolu
getFormSchema() / submitForm() / renderFormHtml()Form Generator: şema çekme, gönderim, sunucu tarafı render
collectAnalytics()Web analytics hit (SSR senaryoları)
trackEvent()Konsolda tanımlı özel olay (tracked event) tetikleme
getVendors()IAB TCF v2.2 slim vendor listesi
scanCookies()URL çerez/tracker taraması
verifyDomain()Domain doğrulama (bağlantı testi)
scriptTag() / impressionPixelUrl()Banner script tag'i ve 1x1 pixel fallback

Laravel

bash
composer require veribenim/laravel
bash
php artisan vendor:publish --tag=veribenim-config
env
VERIBENIM_TOKEN=BURAYA_TOKEN_YAPISTIRIN
VERIBENIM_LANG=tr
blade
{{-- Layout <head> içine --}}
@veribenimScript

{{-- Rızaya bağlı içerik: kategori onaylıysa render edilir --}}
@ifConsented('analytics')
    <script src="https://analytics.example.com/tag.js"></script>
@endIfConsented

{{-- Form Generator formunu sunucu tarafında render et --}}
@veribenimForm('iletisim-formu', ['class' => 'my-form'])
php
// Controller'da Facade ile:
use Veribenim\Laravel\VeribenimFacade as Veribenim;

Veribenim::logFormConsent(
    formName: 'contact',
    consented: $request->boolean('kvkk'),
    consentText: 'KVKK kapsamında verilerimin işlenmesini onaylıyorum.',
    metadata: ['email' => $request->email]
);

// Route'ları rıza şartına bağla (middleware)
Route::post('/track', TrackController::class)
    ->middleware('veribenim.consent:analytics');

WordPress

  • WordPress yönetici paneli → Eklentiler → Yeni Ekle → "Veribenim"
  • Ayarlar → Veribenim → Token'ı yapıştırın
  • Script tüm sayfalara otomatik eklenir

Form Generator formlarınızı herhangi bir sayfa veya yazıya kısa kodla ekleyin:

text
[veribenim_form slug="iletisim-formu"]

Öznitelikler:
  slug   → panelde tanımlı form slug'ı (zorunlu)
  mode   → html (varsayılan, sunucu tarafı) | js (bundle render eder)
  lang   → tr, en, de, fr, es, bg, ar
  class  → CSS sınıfı, id → element id'si
Not: WordPress kurulumunda SDK'ya gerek yoktur. Token'ı yapıştırırsanız banner otomatik çalışır. Eklenti, WordPress.org eklenti dizininde "Veribenim" adıyla yayındadır.