@extends('root') @section('title', 'WABA Pool Integration') @section('content')
@include('components.breadcrumb', [ 'title' => 'WABA Integration (Pool)', 'links' => [['url' => route('admin.dashboard'), 'label' => 'Dashboard']], 'current' => 'WABA Pool' ])
Admin Pool Management

Hubungkan WhatsApp Business Account baru untuk dijadikan pool. Jika pilih client di bawah, setelah connect WABA akan langsung di-assign ke client tersebut dan paket client di-upgrade ke Dedicated.

Flow: Connect WABA (FB Login) → Masuk Pool atau langsung Assign + Dedicated. Jika nomor belum terverifikasi, gunakan tombol Approve (PIN dari Meta) lalu pilih client untuk auto-assign.
Daftar WABA Pool
@if($wabas->isEmpty())
Belum ada WABA di Pool

Hubungkan WABA baru menggunakan tombol di atas.

@else
@foreach($wabas as $waba) @endforeach
Akun WABA Nomor & Phone ID Assigned To Status Aksi
{{ $waba->account_name ?: 'Unknown' }}
ID: {{ $waba->waba_id }}
{{ $waba->phone_number ?: '-' }}
PID: {{ Str::limit($waba->phone_number_id, 15) }}
@if($waba->client) {{ $waba->client->name }}
{{ $waba->client->email }}
@else Pool / Unassigned @endif
@php // Use code_verification_status from raw_meta_response as primary source $codeVerificationStatus = null; $phoneStatus = null; $rawResponse = $waba->raw_meta_response ?? []; if (isset($rawResponse['phone']['code_verification_status'])) { $codeVerificationStatus = strtoupper($rawResponse['phone']['code_verification_status']); } if (isset($rawResponse['phone']['status'])) { $phoneStatus = strtoupper($rawResponse['phone']['status']); } // Determine final status based on code_verification_status if ($codeVerificationStatus === 'VERIFIED') { $finalStatus = 'verified'; $statusLabel = 'Verified'; } elseif ($codeVerificationStatus === 'UNVERIFIED') { $finalStatus = 'unverified'; $statusLabel = 'Unverified'; } elseif ($codeVerificationStatus === 'PENDING') { $finalStatus = 'pending'; $statusLabel = 'Pending'; } elseif ($phoneStatus === 'CONNECTED' || $phoneStatus === 'REGISTERED') { // If phone is connected/registered but no code_verification_status, show Registered $finalStatus = 'registered'; $statusLabel = 'Registered'; } elseif ($waba->phone_status === 'active' || $waba->phone_status === 'REGISTERED') { $finalStatus = 'registered'; $statusLabel = 'Registered'; } elseif ($waba->phone_status === 'pending' || $waba->phone_status === 'PENDING') { $finalStatus = 'pending'; $statusLabel = 'Pending'; } elseif ($waba->status === 'active') { $finalStatus = 'active'; $statusLabel = 'Active'; } else { $finalStatus = 'pending'; $statusLabel = 'Pending'; } $statusClass = match($finalStatus) { 'verified', 'registered', 'active' => 'bg-success-subtle text-success', 'pending', 'unverified' => 'bg-warning-subtle text-warning', default => 'bg-secondary' }; @endphp {{ $statusLabel }} @if($codeVerificationStatus)
Code: {{ $codeVerificationStatus }}
@endif @if($phoneStatus && $phoneStatus !== 'UNKNOWN')
Status: {{ $phoneStatus }}
@endif @if($waba->last_meta_sync_at)
Synced: {{ $waba->last_meta_sync_at->diffForHumans() }}
@endif
@if($waba->isOauth() && !empty($waba->oauth_access_token)) @endif @if(!$waba->client_id) @else @endif
@endif
@endsection @push('scripts') @endpush