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 IDsonitel_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
Related
- api-sonitel-call-integration — Sonitel servis detayları
- api-extra-models — AdminUserData modeli