دليل شامل لاستخدام واجهة برمجة التطبيقات لنظام NASEY CRM
واجهة برمجة التطبيقات (API) لنظام NASEY CRM تتيح لك الوصول البرمجي لجميع بيانات ووظائف النظام. يمكنك استخدام API لبناء تطبيقات مخصصة، ربط أنظمة خارجية، أو أتمتة العمليات.
https://api.nasey.com/v1/النسخة الحالية هي v1. جميع المسارات تبدأ بـ /v1/. نحن نحتفظ بالتوافق مع النسخ السابقة قدر الإمكان، وسنشعرك مسبقاً بأي تغييرات كبيرة.
تستخدم NASEY CRM API مفاتيح API للمصادقة. يجب تضمين مفتاح API في header لكل طلب.
أضف مفتاح API إلى header في كل طلب:
Authorization: Bearer YOUR_API_KEY_HERE
Content-Type: application/json
Accept: application/json
curl -X GET "https://api.nasey.com/v1/customers" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json"
لضمان استقرار الخدمة للجميع، نطبق حدود على عدد الطلبات التي يمكن إرسالها.
كل استجابة تحتوي على معلومات حول حالة حدود الاستخدام:
| Header | الوصف | مثال |
|---|---|---|
X-RateLimit-Limit |
العدد الأقصى للطلبات في الساعة | 5000 |
X-RateLimit-Remaining |
عدد الطلبات المتبقية | 4987 |
X-RateLimit-Reset |
وقت إعادة تعيين الحد (Unix timestamp) | 1640995200 |
عند تجاوز الحد، ستحصل على:
endpoints لإدارة بيانات العملاء في النظام.
يعيد قائمة بجميع العملاء مع إمكانية التصفية والبحث.
| المعامل | النوع | إجباري | الوصف |
|---|---|---|---|
page |
integer | اختياري | رقم الصفحة (افتراضي: 1) |
limit |
integer | اختياري | عدد النتائج (افتراضي: 50، أقصى: 100) |
search |
string | اختياري | البحث في الاسم أو البريد الإلكتروني |
status |
string | اختياري | active, inactive, pending |
curl -X GET "https://api.nasey.com/v1/customers?page=1&limit=10&search=أحمد" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
{
"success": true,
"data": [
{
"id": 123,
"name": "أحمد محمد السعيد",
"email": "ahmed@example.com",
"phone": "+966501234567",
"company": "شركة التقنيات المتطورة",
"status": "active",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T14:22:00Z"
}
],
"pagination": {
"current_page": 1,
"total_pages": 5,
"total_items": 47,
"per_page": 10
}
}
ينشئ عميل جديد في النظام.
| المعامل | النوع | إجباري | الوصف |
|---|---|---|---|
name |
string | مطلوب | اسم العميل كاملاً |
email |
string | مطلوب | البريد الإلكتروني (يجب أن يكون فريد) |
phone |
string | اختياري | رقم الهاتف |
company |
string | اختياري | اسم الشركة |
address |
object | اختياري | عنوان العميل |
curl -X POST "https://api.nasey.com/v1/customers" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"name": "فاطمة أحمد الزهراني",
"email": "fatima@techcompany.com",
"phone": "+966501234567",
"company": "شركة التكنولوجيا الحديثة",
"address": {
"street": "طريق الملك عبدالعزيز",
"city": "الرياض",
"country": "SA"
}
}'
يحدث بيانات عميل موجود.
curl -X PUT "https://api.nasey.com/v1/customers/123" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"phone": "+966502345678",
"company": "الشركة المطورة للتقنيات"
}'
يحذف عميل من النظام نهائياً.
endpoints لإدارة الفواتير والمدفوعات.
يعيد قائمة بجميع الفواتير مع إمكانية التصفية حسب الحالة والتاريخ.
{
"success": true,
"data": [
{
"id": 1001,
"number": "INV-2024-001",
"customer_id": 123,
"customer_name": "أحمد محمد السعيد",
"amount": 5250.00,
"tax": 787.50,
"total": 6037.50,
"currency": "SAR",
"status": "paid",
"due_date": "2024-02-15",
"created_at": "2024-01-15T10:30:00Z"
}
]
}
ينشئ فاتورة جديدة للعميل.
| المعامل | النوع | إجباري | الوصف |
|---|---|---|---|
customer_id |
integer | مطلوب | معرف العميل |
items |
array | مطلوب | قائمة المنتجات/الخدمات |
due_date |
date | اختياري | تاريخ الاستحقاق |
notes |
string | اختياري | ملاحظات إضافية |
endpoints لإدارة المشاريع والمهام.
يعيد قائمة بجميع المشاريع مع إمكانية التصفية حسب الحالة والعميل.
ينشئ مشروع جديد ويربطه بعميل.
Webhooks تتيح لك تلقي إشعارات فورية عند حدوث أحداث معينة في النظام.
| الحدث | الوصف |
|---|---|
customer.created |
تم إنشاء عميل جديد |
invoice.paid |
تم دفع فاتورة |
project.completed |
تم إنجاز مشروع |
payment.failed |
فشل في عملية دفع |
curl -X POST "https://api.nasey.com/v1/webhooks" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"url": "https://yourapp.com/webhooks/nasey",
"events": ["invoice.paid", "customer.created"],
"secret": "your_webhook_secret"
}'
نظام NASEY CRM API يستخدم أكواد HTTP القياسية مع رسائل خطأ واضحة.
| كود HTTP | المعنى | الوصف |
|---|---|---|
200 |
OK | الطلب نجح |
201 |
Created | تم إنشاء المورد بنجاح |
400 |
Bad Request | خطأ في معاملات الطلب |
401 |
Unauthorized | مفتاح API غير صحيح أو منتهي الصلاحية |
403 |
Forbidden | لا تملك صلاحية للوصول |
404 |
Not Found | المورد المطلوب غير موجود |
429 |
Too Many Requests | تجاوزت حد الطلبات المسموح |
500 |
Internal Server Error | خطأ في الخادم |
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "البيانات المرسلة غير صحيحة",
"details": {
"email": ["البريد الإلكتروني مطلوب"],
"name": ["الاسم يجب أن يكون أكثر من 3 أحرف"]
}
}
}
نوفر مكتبات جاهزة لتسهيل التكامل مع API في لغات البرمجة المختلفة.
npm install nasey-crm-sdk
const NASEY = require('nasey-crm-sdk');
const client = new NASEY({
apiKey: 'YOUR_API_KEY_HERE'
});
// إنشاء عميل جديد
const customer = await client.customers.create({
name: 'أحمد محمد',
email: 'ahmed@example.com'
});
pip install nasey-crm
from nasey_crm import Client
client = Client(api_key='YOUR_API_KEY_HERE')
# إنشاء عميل جديد
customer = client.customers.create({
'name': 'أحمد محمد',
'email': 'ahmed@example.com'
})
composer require nasey/crm-sdk
use Nasey\CRM\Client;
$client = new Client('YOUR_API_KEY_HERE');
// إنشاء عميل جديد
$customer = $client->customers()->create([
'name' => 'أحمد محمد',
'email' => 'ahmed@example.com'
]);
gem install nasey-crm
require 'nasey/crm'
client = Nasey::CRM::Client.new(
api_key: 'YOUR_API_KEY_HERE'
)
# إنشاء عميل جديد
customer = client.customers.create({
name: 'أحمد محمد',
email: 'ahmed@example.com'
})
تواصل معنا على api@nasey.com وسنعمل على إضافة دعم للغة التي تحتاجها.