Simple Fatoora API

V1

مرجع API للفواتير والعملاء والتقارير وربط ZATCA Phase 2.

Base URLhttps://api.simplefatoora.com/v1
Simple Fatoora Developers

Simple Fatoora API V1

استخدم Simple Fatoora API V1 لربط الفواتير والعملاء والتقارير وإجراءات ZATCA Phase 2 مع نظامك.

Base URLhttps://api.simplefatoora.com/v1
Content typeJSON عبر HTTPS
الحساب والوصول
POST/users/registration_intent

بدء تسجيل حساب

يبدأ مسار إنشاء الحساب المعتمد على التحقق من البريد الإلكتروني ويعيد رمز التسجيل.

عملية عامةapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
registration_dataobjectمطلوب
registration_journey_idstringمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "registration_intent": "registration-intent-token",
    "expires_in": 86400
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الحساب والوصول
POST/users/email_send_otp

إرسال رمز التحقق للبريد

يرسل رمز تحقق لمرة واحدة إلى عنوان البريد الإلكتروني المحدد.

عملية عامةapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
email_idstring · emailمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "OTP sent successfully",
    "is_register": false
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الحساب والوصول
POST/users/email_verify_otp

التحقق من رمز البريد

يتحقق من الرمز المرسل إلى البريد الإلكتروني لاستخدامه في إنشاء الحساب أو تحديث كلمة المرور.

عملية عامةapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
email_idstring · emailمطلوب
otpintegerمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "OTP verify successfully",
    "is_register": false
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الحساب والوصول
POST/users/register_from_intent

إكمال إنشاء الحساب

ينشئ الحساب بعد التحقق من البريد الإلكتروني ويعيد مفتاحي API للإنتاج والتجربة.

عملية عامةapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
registration_intentstringمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "Welcome to Simple Fatoora",
    "activation_method": "email_otp",
    "email_id": "developer@example.com",
    "first_name": "Developer",
    "last_name": "Account",
    "uuid": "session-uuid",
    "api_key": "live_api_key_example",
    "production_api_key": "live_api_key_example",
    "sandbox_api_key": "sandbox_api_key_example"
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الحساب والوصول
POST/users/validate_user

استرجاع مفاتيح API ببيانات الحساب

يتحقق من بيانات الحساب ويعيد مفتاحي API للإنتاج والتجربة.

عملية عامةapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
user_namestringمطلوب
user_passstring · passwordمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "api_key": "live_api_key_example",
  "production_api_key": "live_api_key_example",
  "sandbox_api_key": "sandbox_api_key_example",
  "response": "Validated successfully"
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الحساب والوصول
POST/users/validate_user_api_key

التحقق من مفتاح API

يتحقق من أحد مفاتيح API للحساب ويعيد مفتاحي الإنتاج والتجربة.

عملية عامةapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
api_keystringمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "api_key": "live_api_key_example",
  "production_api_key": "live_api_key_example",
  "sandbox_api_key": "sandbox_api_key_example",
  "active_environment": "live",
  "response": "Validated successfully"
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الحساب والوصول
POST/users/update_password

تحديث كلمة المرور

يعيّن كلمة مرور جديدة باستخدام رمز تحديث كلمة المرور الناتج بعد التحقق من البريد.

عملية عامةapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
uuidstringمطلوب
passwordstring · passwordمطلوب
confirm_passwordstring · passwordمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "Password updated successfully",
    "user_id": 123
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
ملف المنشأة
GET/users/get_profile

استرجاع ملف المنشأة

يعيد بيانات المنشأة وإعدادات عرض الفواتير للحساب.

يتطلب مفتاح API

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "user_id": 123,
    "company_name": "Example Company",
    "email_id": "developer@example.com",
    "address": "Riyadh",
    "company_registration_number": "1010000000",
    "company_vat_number": "300000000000003",
    "tax_setup_status": "vat_registered",
    "tax_registration_status": "vat_registered",
    "is_vat_registered": true,
    "environment": "live",
    "is_sandbox": false,
    "production_api_key": "live_api_key_example",
    "sandbox_api_key": "sandbox_api_key_example",
    "send_mail": 1,
    "client_send_mail": 1
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
ملف المنشأة
POST/users/update_profile

تحديث ملف المنشأة

يحدّث بيانات المنشأة وإعدادات عرض الفواتير المدعومة.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
first_namestringاختياري
last_namestringاختياري
company_namestringاختياري
addressstringاختياري
country_codestringاختياري
mobile_numberstringاختياري
tax_setup_statusstringاختياري
company_registration_numberstringاختياري
company_vat_numberstringاختياري
notesstringاختياري
footer_textstringاختياري
send_mailintegerاختياري
client_send_mailintegerاختياري

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "Profile updated successfully",
    "user_id": 123
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
العملاء
GET/client/kyc_category_list

قائمة تصنيفات العملاء

يعيد تصنيفات العملاء المتاحة.

يتطلب مفتاح API

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "categories": [
      {
        "id": 1,
        "title": "Retail",
        "ar_title": "التجزئة",
        "position": 1,
        "status": 1
      }
    ]
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
العملاء
POST/client/create

إنشاء عميل

ينشئ سجل عميل لاستخدامه في الفواتير والمستندات.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
first_namestringمطلوب
email_idstring · emailاختياري
mobile_numberstringمطلوب
country_codestringمطلوب
addressstringاختياري
company_registration_numberstringاختياري
company_vat_numberstringاختياري
category_idstringاختياري

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "User created successfully",
    "user_id": 123
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
العملاء
POST/client/update

تحديث عميل

يحدّث سجل عميل موجود. أرسل رقم العميل مع الحقول المطلوب تعديلها.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
idintegerمطلوب
first_namestringاختياري
email_idstring · emailاختياري
mobile_numberstringاختياري
country_codestringاختياري
addressstringاختياري
company_registration_numberstringاختياري
company_vat_numberstringاختياري
category_idstringاختياري

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "User updated successfully",
    "user_id": 123
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
العملاء
GET/client/get_byid/{client_id}

استرجاع عميل

يعيد بيانات عميل واحد تابع للحساب.

يتطلب مفتاح API

المعاملات

الحقلالموقعالنوعالمتطلب
client_idpathintegerمطلوب

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "id": 123,
    "user_id": 123,
    "first_name": "Example Customer",
    "email_id": "customer@example.com",
    "mobile_number": "500000000",
    "country_code": "+966",
    "address": "Riyadh",
    "company_registration_number": "1010000000",
    "company_vat_number": "300000000000003",
    "status": 1
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
العملاء
POST/client/get_all

قائمة العملاء

يعيد عملاء الحساب مع خيارات التصفح والبحث.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
pageintegerاختياري
per_pageintegerاختياري
limitintegerاختياري
search_keystringاختياري

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "users": [
      {
        "id": 123,
        "full_name": "Example Customer",
        "email_id": "customer@example.com",
        "mobile_number": "500000000",
        "country_code": "+966",
        "address": "Riyadh",
        "client_type": 2
      }
    ],
    "pagination_meta": {
      "current_page": 1,
      "pages": 1,
      "per_page": 20,
      "total": 1
    }
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
العملاء
DELETE/client/delete/{client_id}

حذف عميل

يحذف عميلاً تابعًا للحساب.

يتطلب مفتاح API

المعاملات

الحقلالموقعالنوعالمتطلب
client_idpathintegerمطلوب

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "User deleted successfully"
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
المنتجات
GET/invoice/products/search

البحث في المنتجات

يبحث في المنتجات المستخدمة سابقًا بالاسم أو الوصف.

يتطلب مفتاح API

المعاملات

الحقلالموقعالنوعالمتطلب
search_keyquerystringاختياري
limitqueryintegerاختياري

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "products": [
      {
        "id": 123,
        "product_id": "P0001",
        "description": "Example item",
        "unit_price": 100,
        "vat_percent": 15,
        "last_used_on": "2026-08-30T20:41:45"
      }
    ]
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
المنتجات
POST/invoice/products/list

قائمة المنتجات

يعيد المنتجات المستخدمة سابقًا في الحساب.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
pageintegerاختياري
per_pageintegerاختياري
limitintegerاختياري
search_keystringاختياري

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "products": [
      {
        "id": 123,
        "product_id": "P0001",
        "description": "Example item",
        "unit_price": 100,
        "vat_percent": 15,
        "last_used_on": "2026-08-30T20:41:45"
      }
    ]
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الفواتير والمستندات
POST/invoice/create

إنشاء فاتورة أو مستند

ينشئ فاتورة مبسطة أو قياسية أو فاتورة مشتريات أو إشعارًا دائنًا أو مدينًا. تتم معالجة زاتكا حسب إعداد الحساب وبيئة مفتاح API.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
invoice_typeintegerمطلوب
client_typeintegerاختياري
taxes_includedintegerاختياري
client_idintegerاختياري
client_namestringاختياري
client_addressstringاختياري
client_email_idstring · emailاختياري
client_vat_numberstringاختياري
date_timestringاختياري
reference_numberstringاختياري
created_typestringاختياري
source_uidstringاختياري
invoice_detailarray<object>مطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "Invoice created successfully",
    "id": 123,
    "invoice_number": "U123-1001",
    "invoice": "https://example.com/invoices/U123-1001.pdf",
    "pdf_ready": true,
    "pdf_download_url": "https://api.example.com/v1/invoice/pdf/123",
    "xml_available": true,
    "xml_archive_state": "reported",
    "xml_download_url": "https://api.example.com/v1/invoice/xml/123",
    "qrcode": "https://example.com/invoices/U123-1001-qr.png",
    "seller_name": "Example Company",
    "seller_vat_number": "300000000000003",
    "seller_address": "Riyadh",
    "vat": 15,
    "total": 115,
    "date_time": "2026-08-30 23:41:18",
    "environment": "live"
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الفواتير والمستندات
POST/invoice/get_all

قائمة الفواتير والمستندات

يعيد مستندات بيئة مفتاح API مع خيارات التصفح والتصفية.

يتطلب مفتاح APIapplication/json

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "invoices": [
      {
        "id": 123,
        "invoice_number": "U123-1001",
        "invoice_type": 0,
        "date_time": "2026-08-30 23:41:18",
        "reference_number": "POS-1001",
        "total": 115,
        "invoice": "https://example.com/invoices/U123-1001.pdf",
        "pdf_ready": true,
        "pdf_download_url": "https://api.example.com/v1/invoice/pdf/123",
        "xml_available": true,
        "xml_archive_state": "reported",
        "xml_download_url": "https://api.example.com/v1/invoice/xml/123",
        "environment": "live",
        "is_test": false
      }
    ],
    "pagination_meta": {
      "current_page": 1,
      "pages": 1,
      "per_page": 20,
      "total": 1
    }
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الفواتير والمستندات
GET/invoice/get_byid/{document_id}

استرجاع فاتورة أو مستند

يعيد مستندًا واحدًا تابعًا للحساب.

يتطلب مفتاح API

المعاملات

الحقلالموقعالنوعالمتطلب
document_idpathintegerمطلوب

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "id": 123,
    "invoice_number": "U123-1001",
    "invoice_type": 0,
    "date_time": "2026-08-30 23:41:18",
    "reference_number": "POS-1001",
    "seller_name": "Example Company",
    "seller_vat_number": "300000000000003",
    "buyer_name": "Example Customer",
    "buyer_email_id": "customer@example.com",
    "sub_total": 100,
    "vat": 15,
    "total": 115,
    "invoice": "https://example.com/invoices/U123-1001.pdf",
    "qrcode": "https://example.com/invoices/U123-1001-qr.png",
    "pdf_ready": true,
    "pdf_download_url": "https://api.example.com/v1/invoice/pdf/123",
    "xml_available": true,
    "xml_archive_state": "reported",
    "xml_download_url": "https://api.example.com/v1/invoice/xml/123",
    "environment": "live",
    "invoice_details": [
      {
        "description": "Example item",
        "unit_price": 100,
        "quantity": 1,
        "vat_percent": 15,
        "vat": 15,
        "total": 115
      }
    ]
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الفواتير والمستندات
GET/invoice/pdf/{document_id}

تنزيل PDF للفاتورة

ينزّل ملف PDF لمستند صادر تابع لحساب مفتاح API. استخدم download=1 للتنزيل كمرفق.

يتطلب مفتاح API

المعاملات

الحقلالموقعالنوعالمتطلب
document_idpathintegerمطلوب
downloadqueryintegerاختياري

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200PDF binary response
application/pdf
%PDF binary document
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الفواتير والمستندات
GET/invoice/xml/{document_id}

تنزيل XML النهائي من زاتكا

ينزّل XML النهائي فقط للمستند الضريبي المؤهل للمرحلة الثانية والتابع للحساب. تعيد المستندات القياسية XML المعتمد من زاتكا، بينما تعيد المستندات المبسطة والإشعارات المؤهلة XML الموقّع والمبلّغ بنجاح.

يتطلب مفتاح API

المعاملات

الحقلالموقعالنوعالمتطلب
document_idpathintegerمطلوب

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Final XML binary response
application/xml
<?xml version="1.0"?><Invoice>...</Invoice>
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
الفواتير والمستندات
POST/invoice/archive/export

تصدير أرشيف الفواتير

ينزّل ملف ZIP يحتوي على ملفات PDF المحددة أو ملفات XML النهائية المؤهلة مع manifest.csv. يحدد مفتاح API بيانات البيئة الحية أو التجريبية. الحد الأقصى 250 ملفًا متاحًا و50 ميجابايت لكل طلب.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
formatstringمطلوب
start_datestring · dateاختياري
end_datestring · dateاختياري
invoice_typesarray<integer>اختياري

الاستجابات

200ZIP archive response
application/zip
Binary ZIP archive with documents and manifest.csv
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
عروض الأسعار
POST/drafts/create

إنشاء عرض سعر

ينشئ عرض سعر. يتم إرسال بيانات العرض كسلسلة JSON داخل الحقل json_data.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
json_datastringمطلوب
environmentstringاختياري

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "Draft created successfully",
    "id": 123
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
عروض الأسعار
POST/drafts/update

تحديث عرض سعر

يحدّث عرض سعر موجود وبيانات المستند المرسلة كسلسلة JSON.

يتطلب مفتاح APIapplication/json

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "Draft updated successfully"
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
عروض الأسعار
POST/drafts/get_all

قائمة عروض الأسعار

يعيد عروض الأسعار في بيئة مفتاح API المحددة.

يتطلب مفتاح APIapplication/json

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "drafts": [
      {
        "id": 123,
        "environment": "sandbox",
        "created_on": "2026-08-30 20:41:45",
        "json_data": "{\"document_kind\":\"quotation\",\"client_name\":\"Example Customer\",\"invoice_detail\":[{\"description\":\"Example item\",\"unit_price\":100,\"quantity\":1}]}"
      }
    ],
    "pagination_meta": {
      "current_page": 1,
      "pages": 1,
      "per_page": 20,
      "total": 1
    }
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
عروض الأسعار
GET/drafts/get_byid/{quotation_id}

استرجاع عرض سعر

يعيد عرض سعر واحدًا تابعًا للحساب.

يتطلب مفتاح API

المعاملات

الحقلالموقعالنوعالمتطلب
quotation_idpathintegerمطلوب

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "id": 123,
    "environment": "sandbox",
    "status": 1,
    "created_on": "2026-08-30 20:41:45",
    "json_data": "{\"document_kind\":\"quotation\",\"client_name\":\"Example Customer\",\"invoice_detail\":[{\"description\":\"Example item\",\"unit_price\":100,\"quantity\":1}]}"
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
عروض الأسعار
GET/drafts/quotation_pdf/{quotation_id}

تنزيل عرض السعر PDF

يعيد ملف PDF لعرض السعر. استخدم القيمة 1 في download لتنزيله كمرفق.

يتطلب مفتاح API

المعاملات

الحقلالموقعالنوعالمتطلب
quotation_idpathintegerمطلوب
downloadqueryintegerاختياري

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Quotation PDF
application/pdf
%PDF-1.7 (binary PDF content)
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
عروض الأسعار
DELETE/drafts/delete/{quotation_id}

حذف عرض سعر

يحذف عرض سعر واحدًا تابعًا للحساب.

يتطلب مفتاح API

المعاملات

الحقلالموقعالنوعالمتطلب
quotation_idpathintegerمطلوب

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "message": "Draft deleted successfully"
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
التقارير
POST/invoice/get_dashboard

ملخص لوحة المعلومات

يعيد إجماليات لوحة المعلومات والنشاط الأخير لبيئة مفتاح API.

يتطلب مفتاح APIapplication/json

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "membership_count": {
      "purchase_count": 1,
      "invoice_count": "50000",
      "used_count": 12,
      "invoice_left": "49988"
    },
    "invoice_datat": {
      "total_invoice_count": 12,
      "last_month_invoice_count": 4,
      "total_sale": 1150,
      "last_month_sale": 460,
      "vat_payable": 150,
      "vat_receivable": 0,
      "environment": "live"
    },
    "zatca_hold": {
      "is_holding_now": false
    }
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
التقارير
POST/invoice/get_report

تقرير المبيعات

يعيد بيانات تقرير المبيعات لفترة ونوع مستند محددين.

يتطلب مفتاح APIapplication/json

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "revenue_dashboard": [
      {
        "date": "2026-08-30",
        "invoice_count": 4,
        "total": 460,
        "vat": 60
      }
    ]
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
التقارير
POST/invoice/get_vat_return_report

تقرير الإقرار الضريبي

يعيد بيانات الإقرار الضريبي لفترة محددة.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
start_datestring · dateمطلوب
end_datestring · dateمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "sale_sub_total": 1000,
    "sale_vat": 150,
    "sale_discount": 0,
    "purchase_sub_total": 200,
    "purchase_vat": 30,
    "purchase_discount": 0,
    "credit_total": 0,
    "debit_total": 0,
    "vat_out": 150,
    "vat_in": 30,
    "vat_payable": 120
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
زاتكا المرحلة الثانية
GET/zatca-phase2/status

حالة ربط المرحلة الثانية

يعيد حالة ربط زاتكا للمرحلة الثانية في بيئة مفتاح API.

يتطلب مفتاح API

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "status": "draft",
    "status_label": "Draft",
    "next_step": "review_info",
    "environment": "sandbox",
    "is_sandbox": true,
    "is_integrated": false,
    "is_renewal_flow": false,
    "can_manage": true,
    "can_refresh": true,
    "can_renew": false,
    "can_retry_compliance_checks": false,
    "company_name": "Example Company",
    "company_registration_number": "1010000000",
    "company_vat_number": "300000000000003",
    "source": "api",
    "user_id": 123
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
زاتكا المرحلة الثانية
POST/zatca-phase2/save-draft

حفظ مسودة المرحلة الثانية

يحفظ بيانات المنشأة والجهاز المستخدمة في ربط المرحلة الثانية.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
source_channelstringاختياري
company_namestringمطلوب
organization_namestringمطلوب
organization_identifierstringمطلوب
organization_unit_namestringمطلوب
company_registration_numberstringمطلوب
company_vat_numberstringمطلوب
industry_business_categorystringمطلوب
street_namestringمطلوب
building_numberstringمطلوب
districtstringمطلوب
citystringمطلوب
postal_codestringمطلوب
country_namestringمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "status": "draft",
    "status_label": "Draft",
    "next_step": "review_info",
    "environment": "sandbox",
    "is_sandbox": true,
    "is_integrated": false,
    "is_renewal_flow": false,
    "can_manage": true,
    "can_refresh": true,
    "can_renew": false,
    "can_retry_compliance_checks": false,
    "company_name": "Example Company",
    "company_registration_number": "1010000000",
    "company_vat_number": "300000000000003",
    "source": "api",
    "user_id": 123
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
زاتكا المرحلة الثانية
POST/zatca-phase2/generate-csr

إنشاء طلب الشهادة CSR

ينشئ طلب توقيع الشهادة باستخدام بيانات المنشأة للمرحلة الثانية.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
source_channelstringاختياري
company_namestringمطلوب
organization_namestringمطلوب
organization_identifierstringمطلوب
organization_unit_namestringمطلوب
company_registration_numberstringمطلوب
company_vat_numberstringمطلوب
industry_business_categorystringمطلوب
street_namestringمطلوب
building_numberstringمطلوب
districtstringمطلوب
citystringمطلوب
postal_codestringمطلوب
country_namestringمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "status": "awaiting_otp",
    "status_label": "Awaiting OTP",
    "next_step": "enter_otp",
    "environment": "sandbox",
    "is_sandbox": true,
    "is_integrated": false,
    "is_renewal_flow": false,
    "can_manage": true,
    "can_refresh": true,
    "can_renew": false,
    "can_retry_compliance_checks": false,
    "company_name": "Example Company",
    "company_registration_number": "1010000000",
    "company_vat_number": "300000000000003",
    "source": "api",
    "user_id": 123,
    "csr_generated_on": "2026-08-30T20:42:00Z",
    "csr_expires_on": "2026-08-31T20:42:00Z"
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
زاتكا المرحلة الثانية
POST/zatca-phase2/submit-otp

إرسال رمز زاتكا

يرسل رمز التحقق الصادر من بوابة زاتكا لمتابعة الربط.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
source_channelstringاختياري
otpstringمطلوب

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "status": "production_issued",
    "status_label": "Integrated",
    "next_step": "completed",
    "environment": "sandbox",
    "is_sandbox": true,
    "is_integrated": true,
    "is_renewal_flow": false,
    "can_manage": true,
    "can_refresh": true,
    "can_renew": true,
    "can_retry_compliance_checks": false,
    "company_name": "Example Company",
    "company_registration_number": "1010000000",
    "company_vat_number": "300000000000003",
    "source": "api",
    "user_id": 123,
    "activated_on": "2026-08-30T20:48:00Z",
    "production_issued_on": "2026-08-30T20:48:00Z"
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
زاتكا المرحلة الثانية
POST/zatca-phase2/retry-compliance

إعادة اختبارات الامتثال

يعيد اختبارات مستندات الامتثال بعد نتيجة ربط قابلة للمحاولة مرة أخرى.

يتطلب مفتاح APIapplication/json

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "status": "production_issued",
    "status_label": "Integrated",
    "next_step": "completed",
    "environment": "sandbox",
    "is_sandbox": true,
    "is_integrated": true,
    "is_renewal_flow": false,
    "can_manage": true,
    "can_refresh": true,
    "can_renew": true,
    "can_retry_compliance_checks": false,
    "company_name": "Example Company",
    "company_registration_number": "1010000000",
    "company_vat_number": "300000000000003",
    "source": "api",
    "user_id": 123
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
زاتكا المرحلة الثانية
POST/zatca-phase2/refresh-status

تحديث حالة المرحلة الثانية

يحدّث حالة المرحلة الثانية من سجلات الربط الحالية.

يتطلب مفتاح APIapplication/json

بيانات الطلب

لا تحتوي هذه العملية على بيانات طلب.

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "status": "awaiting_otp",
    "status_label": "Awaiting OTP",
    "next_step": "enter_otp",
    "environment": "sandbox",
    "is_sandbox": true,
    "is_integrated": false,
    "is_renewal_flow": false,
    "can_manage": true,
    "can_refresh": true,
    "can_renew": false,
    "can_retry_compliance_checks": false,
    "company_name": "Example Company",
    "company_registration_number": "1010000000",
    "company_vat_number": "300000000000003",
    "source": "api",
    "user_id": 123
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}
زاتكا المرحلة الثانية
POST/zatca-phase2/renew

تجديد ربط المرحلة الثانية

يبدأ تجديدًا منظمًا لربط الحساب مع المرحلة الثانية.

يتطلب مفتاح APIapplication/json

بيانات الطلب

الحقلالنوعالمتطلب
source_channelstringاختياري

الاستجابات

200Successful response
application/json
{
  "status": true,
  "response": {
    "status": "awaiting_otp",
    "status_label": "Awaiting OTP",
    "next_step": "enter_otp",
    "environment": "sandbox",
    "is_sandbox": true,
    "is_integrated": false,
    "is_renewal_flow": true,
    "can_manage": true,
    "can_refresh": true,
    "can_renew": false,
    "can_retry_compliance_checks": false,
    "company_name": "Example Company",
    "company_registration_number": "1010000000",
    "company_vat_number": "300000000000003",
    "source": "api",
    "user_id": 123
  }
}
400Invalid request data
application/json
{
  "status": false,
  "response": [
    "Invalid request data."
  ]
}
403API key is missing or invalid
application/json
{
  "status": false,
  "response": "Invalid API key"
}