يا جماعة الخير، السلام عليكم ورحمة الله.
أذكر جيداً تلك الأيام، قبل سنوات قليلة. كنت أجلس في مكتبي الصغير، أحاول جاهداً أن أرسم صورة واضحة عن وضعي المالي. بصفتي مبرمجاً أعمل بشكل مستقل مع عدة عملاء، كانت مدفوعاتي تأتي على حسابات مختلفة في بنكين. حساب لتلقي الدفعات بالدولار، وآخر للمصاريف اليومية بالشيكل. ومع نهاية كل شهر، تبدأ المعاناة.
كنت أفتح موقع البنك الأول، أسجل دخولي، وأقوم بتنزيل كشف الحساب بصيغة PDF أو CSV، ثم أفتح موقع البنك الثاني وأكرر نفس العملية. بعدها تبدأ حفلة “النسخ واللصق” في جداول إكسل، ومحاولة توحيد البيانات، وتصنيف المصاريف يدوياً: هذا إيجار المكتب، وهذا اشتراك خدمة سحابية، وهذا ثمن “كنافة نابلسية” لا بد منها لرفع المعنويات! كانت عملية مرهقة، مملة، وعرضة للخطأ بشكل كبير. شعرت وقتها أن بياناتي المالية، التي هي ملكي، سجينة في قلاع رقمية منيعة، ولكل قلعة حارسها وقوانينها الخاصة.
كنت أقول لنفسي: “يا أبو عمر، أنت مبرمج وتتعامل مع واجهات برمجة التطبيقات (APIs) كل يوم، كيف يعقل أن الوصول لبياناتك الشخصية أصعب من بناء نظام ذكاء اصطناعي؟”. كانت مفارقة عجيبة، إلى أن بدأت أضواء “الخدمات المصرفية المفتوحة” تلوح في الأفق، لتغير المعادلة بأكملها.
ما هي “الخدمات المصرفية المفتوحة” (Open Banking)؟ خلّينا نبسّطها
بكل بساطة، الخدمات المصرفية المفتوحة هي مبادرة (أصبحت قانوناً في كثير من الأماكن مثل أوروبا تحت اسم PSD2) تجبر البنوك على فتح “نوافذ” رقمية آمنة تسمح لك، أنت صاحب الحساب، بمشاركة بياناتك المالية مع تطبيقات وخدمات أخرى من اختيارك وبموافقتك الصريحة.
تخيل أن بياناتك في البنك مثل الماء في خزان ضخم مغلق. في الماضي، الطريقة الوحيدة للحصول على الماء كانت عبر صنبور البنك الرسمي (موقعه أو تطبيقه). أما مع الخدمات المصرفية المفتوحة، فقد سمح البنك بتركيب عدة صنابير إضافية (APIs)، وأعطاك أنت المفاتيح. يمكنك أن تعطي مفتاحاً لتطبيق الميزانية، ومفتاحاً آخر لتطبيق الاستثمار، وهكذا. والأهم، يمكنك سحب هذا المفتاح وإغلاق الصنبور في أي وقت تشاء.
إذن، هي ليست “خدمة” يبيعها البنك، بل هي حق لك كمستخدم، يتيح لك السيادة والتحكم الكامل في بياناتك المالية.
كيف تعمل هذه التقنية من الناحية العملية؟ (الجزء المفضل للمبرمجين)
السر كله يكمن في كلمة واحدة: APIs (واجهات برمجة التطبيقات). البنوك توفر مجموعة من الواجهات البرمجية الآمنة التي يمكن للمطورين والمبرمجين (أمثالي وأمثالكم) استخدامها لبناء تطبيقات جديدة ومبتكرة.
الأطراف الرئيسية في المعادلة
- أنت (المستخدم): صاحب السيادة والقرار. لا شيء يتم بدون موافقتك.
- البنك (مزود خدمة الحساب – ASPSP): هو من يحتفظ ببياناتك ويقوم بتوفير الـ API الآمن.
- الطرف الثالث (TPP – Third-Party Provider): هو التطبيق الذي تريد استخدامه (مثل تطبيق إدارة المصاريف، تطبيق مقارنة قروض، إلخ).
خطوات الربط النموذجي
- أنت تقوم بتحميل تطبيق جديد لإدارة ميزانيتك، وليكن اسمه “مصروفي”.
- تطبيق “مصروفي” يطلب منك ربط حسابك البنكي.
- عندما توافق، لا يطلب منك التطبيق كلمة سر حسابك البنكي أبداً! (هذه نقطة أمان جوهرية).
- بدلاً من ذلك، يقوم التطبيق بإعادة توجيهك إلى صفحة تسجيل الدخول الآمنة الخاصة بالبنك الذي تتعامل معه.
- تقوم بتسجيل الدخول في بيئة البنك، وهناك يعرض عليك البنك شاشة تطلب منك الإذن: “هل تسمح لتطبيق ‘مصروفي’ بالاطلاع على قائمة معاملاتك لآخر 90 يوماً؟”.
- بعد موافقتك الصريحة، يعيد البنك توجيهك إلى تطبيق “مصروفي” ومعه “رمز وصول” (Access Token) مؤقت وآمن.
- يستخدم تطبيق “مصروفي” هذا الرمز للتواصل مع API البنك وسحب البيانات التي سمحت بها فقط.
مثال كود بسيط (للعلم فقط)
لتقريب الصورة للمطورين، تخيل أن تطبيق “مصروفي” يريد جلب قائمة المعاملات. بعد الحصول على رمز الوصول (Access Token) من خلال بروتوكول آمن مثل OAuth2، سيقوم باستدعاء API البنك كالتالي (مثال بلغة Python):
import requests
# رمز الوصول الذي تم الحصول عليه بعد موافقة المستخدم
access_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
# معرّف حساب المستخدم الذي يريد عرض معاملاته
account_id = "12345-ABCDE-67890"
# عنوان الـ API الخاص بالبنك (مجرد مثال)
api_url = f"https://api.mybank.com/v1/accounts/{account_id}/transactions"
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json"
}
# إرسال الطلب لجلب البيانات
response = requests.get(api_url, headers=headers)
if response.status_code == 200:
# تم جلب البيانات بنجاح
transactions = response.json()
print("تم جلب المعاملات بنجاح!")
for tx in transactions:
print(f"- {tx['date']}: {tx['description']} | {tx['amount']} {tx['currency']}")
else:
# حدث خطأ ما
print(f"فشل في جلب البيانات: {response.status_code}")
هذا الكود يوضح كيف أن التطبيق يتحدث مع البنك “بلغة” متفق عليها، باستخدام مفتاح (رمز الوصول) لا يعمل إلا للأغراض التي وافقت عليها أنت.
طيب يا أبو عمر، شو الفايدة من كل هالحكي؟
الفوائد هائلة وغيرت شكل الصناعة المالية بالكامل:
- للمستخدم العادي: يمكنك الآن استخدام تطبيقات تجمع كل حساباتك البنكية وبطاقاتك الائتمانية في مكان واحد، لتعطيك نظرة شاملة وفورية على وضعك المالي. هذا ما أنقذني شخصياً من جحيم جداول إكسل.
- لأصحاب المشاريع الصغيرة: أصبحت برامج المحاسبة (مثل QuickBooks أو Xero) تتصل مباشرة بحسابك البنكي وتقوم بتسوية المعاملات تلقائياً، مما يوفر ساعات طويلة من العمل اليدوي.
- للمقترضين: أصبح تقييم أهليتك للحصول على قرض أسرع وأكثر عدلاً. بدلاً من تقديم أكوام من الأوراق، يمكنك ببساطة السماح للجهة المقرضة بالاطلاع على تاريخ معاملاتك بشكل آمن، مما يعطيها صورة أدق عن تدفقاتك النقدية.
- للمبتكرين والمطورين: فتحت هذه التقنية الباب على مصراعيه لآلاف الشركات الناشئة لتبتكر حلولاً لم نكن نحلم بها. من تطبيقات الادخار التلقائي إلى منصات الاستثمار المخصصة التي تحلل أنماط إنفاقك.
لكن… هل هذا آمن؟ سؤال في محله
زي ما بنحكيها بالبلد، “الحريص ما بتصيده العيرة”. الخوف على أمان البيانات المالية مشروع وطبيعي.
الجواب المختصر: نعم، هي آمنة جداً، ربما أكثر أماناً من الطرق القديمة. والسبب:
- التشريع والتنظيم: هذه العملية منظمة بقوانين صارمة (مثل PSD2 في أوروبا وتشريعات مشابهة في بريطانيا وأستراليا وغيرها) تضع معايير أمان عالية للبنوك والأطراف الثالثة.
- الموافقة الصريحة (Consent): لا يمكن لأي تطبيق الوصول إلى بياناتك دون موافقتك الواضحة والمفصلة. أنت تقرر من يصل، وإلى ماذا يصل، ولمتى.
- لا لمشاركة كلمة السر: أنت لا تعطي كلمة سر حسابك البنكي لأي تطبيق. عملية المصادقة تتم دائماً على موقع البنك الرسمي.
- أمان تقني عالي: تستخدم العملية بروتوكولات تشفير ومصادقة عالمية مثل OAuth2، وهي نفس التقنيات التي تستخدمها جوجل وفيسبوك للسماح لك بتسجيل الدخول في مواقع أخرى باستخدام حسابك.
نصائح من العبد لله (أبو عمر)
- للمستخدمين: قبل أن تربط حسابك بأي تطبيق، اقرأ عنه جيداً، وتأكد من أنه مرخص وموثوق. اقرأ شاشة الأذونات التي يعرضها البنك بعناية، ولا توافق إلا على ما تحتاجه فعلاً.
- للمطورين: لا تعيدوا اختراع العجلة. ابدأوا باستخدام المنصات الوسيطة (Aggregators) مثل Plaid, Tink, أو Tarabut Gateway التي تسهل عليكم التعامل مع APIs البنوك المختلفة. ركزوا على بناء تجربة مستخدم ممتازة وحل مشكلة حقيقية، فالبيانات وحدها لا تكفي.
- لأصحاب الأعمال: اسألوا مزود برامج المحاسبة لديكم عن إمكانية الربط المباشر مع بنوككم. هذه خطوة واحدة يمكن أن توفر عليكم الكثير من الوقت والجهد والمال.
الخلاصة: من سجين إلى سيّد على بياناتك 🔑
ثورة الخدمات المصرفية المفتوحة ليست مجرد تحديث تقني، بل هي تحول جذري في علاقتنا مع أموالنا. لقد نقلت القوة من المؤسسات الكبيرة إلى أيدي الأفراد. بعد أن كانت بياناتنا سجينة في خزائن رقمية متفرقة، أصبحنا اليوم سادة هذه البيانات، نمنح الإذن لمن نشاء، ونسحبه متى نشاء، لخدمة أهدافنا المالية.
بالنسبة لي، لم تعد نهاية الشهر تعني الكوابيس مع جداول إكسل، بل أصبحت تعني فتح لوحة تحكم جميلة وواضحة تلخص لي كل شيء بضغطة زر. هذا هو المستقبل الذي كنا نحلم به كمبرمجين، وهو الآن واقع نعيشه. فاستغلوا هذه القوة، وكونوا أسياد بياناتكم. 🚀