Proje: Okul Platform · Hub: Okul Platform — Domain

B2B Call Controller

app/Http/Controllers/Admin/Call/B2B/CallController.php

Admin panelinde çağrı merkezi ajanı için çağrı yönetim endpoint’leri.

Endpoint’ler

POST /admin/call/b2b/hangup

Devam eden aramayı kapat.

Request: { call_log_id: 123 }

Güvenlik kontrolü:

$user = Auth::user()->loadMissing('adminUserData');
if (null === $user->adminUserData || null === $user->adminUserData->sonitel_agent_id) {
    return JsonResponse::forbidden();  // Sonitel agent ID yoksa erişim yok
}

POST /admin/call/b2b/forward

Aramaları yönlendir.

AdminUserData Bağlantısı

Her admin kullanıcısının adminUserData ilişkisi:

  • sonitel_agent_id — Sonitel çağrı sistemi ajan ID
  • sonitel_agent_username — Ajan kullanıcı adı

Sonitel işlemlerinde bu kimlik bilgileri kullanılıyor.

CallServiceInterface

CallServiceInterface inject ediliyor — Sonitel değiştirilebilir (interface pattern). Şu an: SonitelService::class

Test

Tests\Feature\Api\Admin\Call\B2B\CallControllerTest