خط الأزمات (نجاة)

Najat 920033360 · MOH 937 · 911 · المرحلة 2

الحالة الحالية: Mock (development) نقل دافئ (warm handoff) عند اكتشاف خطر شديد — يستلم المرشد ملف مختصر فوراً.

المواصفات

ContractApp\Integrations\Contracts\CrisisHotline
Mock adapterApp\Integrations\Mock\MockNajatHotline
Production adapter (مخطط)App\Integrations\Production\NajatAdapter
Driver keyconfig('sakeenah.integrations.crisis_hotline.driver')
الوثائق الرسميةhttps://moh.gov.sa/help/Pages/health-call.aspx

الميزات المعتمدة عليه

الاستخدام في الـ Code

use App\Integrations\Contracts\CrisisHotline;

class MyController {
    public function __construct(
        private readonly CrisisHotline $service,
    ) {}

    public function action() {
        // $this->service يتحقن تلقائياً (mock أو production)
        // حسب config('sakeenah.integrations.crisis_hotline.driver')
    }
}

لرفع التكامل إلى Production

  1. اطلب credentials من الموزود الرسمي
    تواصل مع: Najat 920033360 · MOH 937 · 911
  2. ابنِ Production Adapter
    // app/Integrations/Production/NajatAdapter.php
    namespace App\Integrations\Production;
    
    use App\Integrations\Contracts\CrisisHotline;
    use Illuminate\Support\Facades\Http;
    
    class NajatAdapter implements CrisisHotline {
        public function __construct(
            private string $apiKey = config('sakeenah.integrations.crisis_hotline.api_key'),
        ) {}
    
        // Implement all interface methods using real HTTP calls
        // Use Laravel's Http::withToken($this->apiKey)->post(...)
    }
  3. ضع credentials في .env
    CRISIS_HOTLINE_DRIVER=production
    CRISIS_HOTLINE_API_KEY=your_real_key_here
  4. اختبر — كتب feature test يستخدم mock أولاً، ثم integration test على staging
  5. أعد تشغيلphp artisan config:clear

موافقات + Compliance

المتعلق