وثائق API

وثائق DoDocs Matchpoint API

دليل شامل لدمج واجهة برمجة تطبيقات معالجة المستندات من DoDocs Matchpoint في تطبيقاتك. استخرج البيانات من الفواتير والإيصالات والمستندات باستدعاءات REST API بسيطة.

نظرة عامة على API

توفر واجهة برمجة تطبيقات DoDocs Matchpoint وصولاً برمجياً إلى قدرات معالجة المستندات، مما يتيح استخراج بيانات منظمة من أنواع مستندات مختلفة.

أنواع المستندات

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

معالجة في الوقت الفعلي

احصل على النتائج عبر webhooks أو الاستجابات المتزامنة.

آمن وموثوق

أمان بمستوى المؤسسات مع اتفاقية SLA لوقت تشغيل 99.9%.

عناوين URL الأساسية

البيئةعنوان URL الأساسيالغرض
عنوان APIhttps://api.dodocs.aiبيئة الإنتاج المباشرة
لوحة التحكمhttps://dodocs.aiلوحة تحكم ويب لإدارة مفاتيح API

البدء

الخطوة 1: إنشاء حسابك

سجل للحصول على حساب DoDocs Matchpoint على مساحة العمل للبدء.

الخطوة 2: الوصول إلى لوحة التحكم

بعد تسجيل الدخول، سترى لوحة التحكم الرئيسية حيث يمكنك إدارة المستندات ومفاتيح API.

لوحة تحكم DoDocs Matchpoint

لوحة تحكم DoDocs Matchpoint تعرض مستنداتك المعالجة

الخطوة 3: إنشاء مفتاح API

انتقل إلى قسم مفاتيح API في الشريط الجانبي لإنشاء وإدارة مفاتيح API.

صفحة مفاتيح API

صفحة إدارة مفاتيح API

انقر على "إنشاء مفتاح API" لتوليد مفتاح جديد:

مهم: سيتم عرض مفتاح API مرة واحدة فقط. انسخه واحفظه بأمان فوراً بعد الإنشاء.

الخطوة 4: اختبار مفتاح API

تحقق من عمل مفتاح API بهذا الاختبار البسيط:

curl -X GET https://api.dodocs.ai/api/v1/health \
  -H "DoDocs-Matchpoint-API-Key: your_api_key_here"

الاستجابة المتوقعة:

{
  "status": "healthy",
  "timestamp": "2024-01-27T10:30:00Z"
}

المصادقة

يجب أن تتضمن جميع طلبات API مفتاح API في ترويسة DoDocs-Matchpoint-API-Key :

DoDocs-Matchpoint-API-Key: your_api_key_here

تنسيق مفتاح API

  • الطول: عادة 40-50 حرفاً
  • حساس لحالة الأحرف: يجب استخدام المفاتيح كما هي بالضبط

أفضل ممارسات الأمان

افعل:
  • خزّن مفاتيح API في متغيرات البيئة
  • استخدم مفاتيح مختلفة للتطوير والإنتاج
  • دوّر المفاتيح بانتظام (كل 90 يوماً موصى به)
  • استخدم HTTPS لجميع استدعاءات API
لا تفعل:
  • لا تودع مفاتيح API في التحكم بالإصدار
  • لا تضمّن المفاتيح في كود العميل
  • لا تشارك المفاتيح بين التطبيقات
  • لا تستخدم المفاتيح في معلمات URL

إجراء استدعاءات API

نقطة نهاية رفع المستندات

POST/api/v1/upload

ارفع المستندات للمعالجة باستخدام multipart/form-data.

معلمات الطلب

المعلمةالنوعمطلوبالوصف
metadataسلسلة JSONنعميجب أن يكون الحقل الأول في الطلب. تعليمات المعالجة والإعداد (يمكن أن يكون فارغاً: {})
fileملفنعمملف المستند للمعالجة
Important: يجب أن يكون حقل metadata دائماً الحقل الأول في الطلب متعدد الأجزاء. الترتيب مهم — أضف metadata أولاً ثم الملف.

خيارات Metadata

{
  "clientReference": "ORDER-123",  // Optional: Your reference ID
  "urgent": true,                  // Optional: Priority processing
  "language": "en"                 // Optional: Document language
}

// Or can be empty:
{}

متطلبات الملف

التنسيقالامتداداتالحجم الأقصى
PDF.pdf50 MB
Images.jpg, .jpeg, .png, .tiff25 MB
Word.doc, .docx25 MB
Excel.xls, .xlsx25 MB
Text.txt, .csv10 MB

إعداد Webhook

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

إعداد Webhooks

اضبط webhooks من خلال إعدادات مفتاح API في لوحة التحكم.

إعداد Webhook

واجهة إعداد Webhook

أحداث Webhook

document.processed

يُرسل عند اكتمال معالجة المستند بنجاح.

{
  "requestId": "75193012-0885-4db7-b5ce-7506e169c80c",
  "documentData": "[{\"fileName\":\"Transaction_Summary.xls\",\"documentType\":\"Bank Statement\"}]",
  "errors": []
}

document.failed

يُرسل عند فشل معالجة المستند.

{
  "requestId": "8b6683c7-e583-4fbc-aa23-5bf1d22d32eb",
  "documentData": "[]",
  "errors": [
    {
      "code": "EXTRACTION_FAILED",
      "message": "Unable to extract data from document",
      "details": "Poor image quality or unsupported format"
    }
  ]
}

ترويسات Webhook

يتضمن كل طلب webhook هذه الترويسات:

X-Webhook-Signature: sha256=abc123...
X-Webhook-Event: document.processed
X-Webhook-ID: unique-webhook-id
X-Webhook-Timestamp: 1706354400
Content-Type: application/json

التحقق من التوقيع

تحقق دائماً من توقيعات webhook للتأكد من أنها من DoDocs Matchpoint.

Python

import hmac
import hashlib

def verify_webhook(payload, signature, secret):
    expected_signature = hmac.new(
        secret.encode('utf-8'),
        payload.encode('utf-8'),
        hashlib.sha256
    ).hexdigest()

    expected = f"sha256={expected_signature}"
    return hmac.compare_digest(signature, expected)

Node.js

const crypto = require('crypto');

function verifyWebhook(payload, signature, secret) {
  const expectedSignature = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');

  const expected = `sha256=${expectedSignature}`;

  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

أمثلة الكود

Python — رفع مستند

import requests
import json

url = "https://api.dodocs.ai/api/v1/upload"
api_key = "your_api_key_here"

# Prepare metadata (must come first in the request)
metadata = {'clientReference': 'INV-2024-001'}
data = {'metadata': json.dumps(metadata)}

# Prepare the file
files = {
    'file': ('invoice.pdf', open('invoice.pdf', 'rb'), 'application/pdf')
}

# Make the request
response = requests.post(
    url,
    headers={'DoDocs-Matchpoint-API-Key': api_key},
    data=data,
    files=files
)
print(response.json())

Python — معالجة Webhook

from flask import Flask, request

app = Flask(__name__)

@app.route('/webhook', methods=['POST'])
def handle_webhook():
    event = request.json
    if event['event'] == 'document.processed':
        handle_processed(event['data'])
    elif event['event'] == 'document.failed':
        handle_failed(event['data'])
    return '', 200

def handle_processed(data):
    print(f"Document processed: {data['extractedData']}")

def handle_failed(data):
    print(f"Processing failed: {data['errorMessage']}")

if __name__ == '__main__':
    app.run(port=3000)

Node.js — رفع مستند

const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');

const form = new FormData();
// Metadata must come first
form.append('metadata', JSON.stringify({ clientReference: 'INV-2024-001' }));
form.append('file', fs.createReadStream('invoice.pdf'));

axios.post('https://api.dodocs.ai/api/v1/upload', form, {
  headers: {
    'DoDocs-Matchpoint-API-Key': 'your_api_key_here',
    ...form.getHeaders()
  }
})
.then(response => console.log(response.data))
.catch(error => console.error(error));

cURL — رفع مستند

curl -X POST https://api.dodocs.ai/api/v1/upload \
  -H "DoDocs-Matchpoint-API-Key: your_api_key_here" \
  -F 'metadata={"clientReference":"INV-2024-001"}' \
  -F "[email protected]"

cURL — اختبار Webhook

# Use webhook.site for testing
# 1. Go to https://webhook.site
# 2. Copy your unique URL
# 3. Configure it in your DoDocs Matchpoint dashboard

# Or use ngrok for local testing:
npm install -g ngrok
ngrok http 3000

الدعم والموارد

التوثيق

أنت تعرض وثائق API الشاملة لدينا.

العودة للأعلى
دعم البريد الإلكتروني

احصل على مساعدة من فريق الدعم الفني.

اتصل بالدعم
تحتاج دعم المؤسسات؟

لدعم المؤسسات مع ضمانات SLA وإدارة حساب مخصصة ودعم ذي أولوية:

اتصل بالمبيعات