🧪 Sandbox Environment
A SolaBill beta integration environment for authentication, ordinary invoice drafts, customer webhooks, errors, and retry logic. Regulated provider testing occurs only when approved, customer-scoped Orchida sandbox credentials are provisioned.
عنوان URL الأساسي
SolaBill client API calls use the /api/v1/ prefix. Draft creation never sends network traffic; provider submission requires a separately approved Orchida sandbox connection.
المصادقة
تسجيل الدخول عبر POST /api/v1/client/auth/login باستخدام بيانات الاعتماد التجريبية أدناه. يُعاد رمز Bearer في data.token.
دورة حياة البيانات
Use synthetic data and design idempotent tests. Reset timing and retention depend on the controlled deployment; never assume a 24-hour purge.
Regulated Transport Boundary
The legacy transport simulator is local research only and disabled in partnership sandbox/production. Orchida owns regulated PINT-AE validation, AS4 exchange, and reporting.
🔐 Test Credentials
No shared credentials are published
An authorized administrator creates a tenant-isolated SolaBill test account and sends access through the approved secure channel. Orchida issues separate scoped sandbox credentials; they are encrypted, write-only, and never copied into this page, tickets, source control, screenshots, or queue payloads.
Regulated production accounts are not currently available. Sandbox access does not prove production readiness and requires authorized SolaBill access plus separately approved Orchida company-scoped credentials.
⚡ Quick Start
ابدأ العمل في ثلاث خطوات:
الخطوة 1 - المصادقة
BASHcurl -X POST https://www.solabill.com/api/v1/client/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "YOUR_ASSIGNED_TEST_EMAIL",
"password": "YOUR_ASSIGNED_TEST_PASSWORD"
}'
# Response:
# {
# "data": {
# "token": "1|abc123...",
# "user": { "name": "Assigned Test User", "email": "YOUR_ASSIGNED_TEST_EMAIL" },
# "account": { "company_name": "Sandbox Corp", "status": "active" }
# }
# }
Step 2 — Create an Invoice Draft
BASHcurl -X POST https://www.solabill.com/api/v1/client/invoices \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"invoice_number": "INV-SANDBOX-001",
"recipient_name": "Sandbox Buyer LLC",
"recipient_peppol_id": "100820361200003",
"buyer_endpoint_scheme": "0235",
"buyer_street": "Airport Road",
"buyer_city": "Abu Dhabi",
"buyer_subdivision": "AUH",
"buyer_country": "AE",
"total_amount": 105.00,
"currency": "AED",
"issue_date": "2026-02-12",
"issue_time": "09:30",
"due_date": "2026-03-12",
"payment_means_code": "48",
"items": [{"item_code":"SVC-1","name":"Service","description":"Sandbox service","unit_code":"C62","quantity":1,"base_quantity":1,"net_unit_price":100,"gross_unit_price":100,"discount_amount":0,"vat_category":"S","vat_rate":5}]
}'
# Response includes an invoice ID and submitted=false
# Submit only after an active Orchida sandbox connection is provisioned
curl -X POST https://www.solabill.com/api/v1/client/invoices/INVOICE_ID/submit-orchida \
-H "Authorization: Bearer YOUR_TOKEN"
Step 3 — Check Orchida Status
BASHcurl https://www.solabill.com/api/v1/client/invoices/INVOICE_ID \
-H "Authorization: Bearer YOUR_TOKEN"
# Returns provider validation, Orchida invoice, tax-authority and receiver states separately
🧪 Test Scenarios
قم بتغطية هذه السيناريوهات قبل الذهاب إلى الإنتاج:
| سيناريو | كيفية الاختبار | النتيجة المتوقعة | رمز الحالة |
|---|---|---|---|
| تسجيل دخول ناجح | نشر بيانات اعتماد صالحة | رمز في data.token |
200 |
| بيانات اعتماد غير صالحة | نشر كلمة مرور خاطئة | خطأ مع valid_credentials |
401 |
| حساب معلق | تسجيل الدخول بحساب معلق | خطأ مع account_suspending |
403 |
| Expired / revoked token | استخدم رمز Bearer قديمًا أو تم إبطاله | خطأ مع unauthenticated |
401 |
| أخطاء التحقق من الصحة | إرسال الفاتورة دون الحقول المطلوبة | تفاصيل الخطأ على مستوى الحقل | 422 |
| إنشاء فاتورة | POST بيانات طلب فاتورة صحيحة | Invoice draft created; no delivery claimed | 201 |
| Submit to Orchida | POST a complete draft using an active scoped sandbox connection | Exact Orchida provider status recorded | 200 |
| إنشاء مذكرة الائتمان | POST بيانات طلب صحيحة لإشعار ائتمان | Internal draft created; Orchida submission remains disabled pending confirmed contract and sandbox mapping | 201 |
| تغيير كلمة المرور | POST الحالية + كلمة المرور الجديدة | تأكيد تحديث كلمة المرور | 200 |
| قائمة مرقّمة | احصل على الفواتير مع ?page=2&per_page=5 |
الرد مع pagination هدف |
200 |
| الحد من المعدل | تجاوز حد الطلب عند تسجيل الدخول | إعادة المحاولة بعد مجموعة رأس |
429 |
| تسليم إشعارات الويب | أنشئ فاتورة مع تفعيل اشتراك إشعار الويب | Signed SolaBill customer event derived from retained Orchida workflow evidence | N/A |
⚖️ Sandbox vs Production
| ميزة | بيئة الاختبار | إنتاج |
|---|---|---|
| Regulated transport | Orchida adapter with fake HTTP or approved sandbox credentials | Available only after the eligible Orchida entity, contract, customer appointment, sandbox/pilot acceptance and production launch are approved; SolaBill does not operate AS4 transport |
| التحقق من صحة الشهادة | Owned by Orchida; SolaBill retains only the sandbox outcome supplied under the approved test contract | Owned and evidenced by Orchida under the executed agreement; SolaBill separately checks API reachability and company scope |
| Receiver discovery | Provider response is simulated or returned by Orchida sandbox | Owned by Orchida within regulated exchange |
| حدود المعدل | SolaBill application limits apply; Orchida sandbox limits require written confirmation | SolaBill and Orchida limits must match the approved contracts and deployment configuration |
| تسليم إشعارات الويب | SolaBill callbacks remain signed and retryable; Orchida webhook behavior is unconfirmed | SolaBill callbacks use the approved signing/retry policy; Orchida webhook behavior must match the signed provider contract |
| ثبات البيانات | Controlled synthetic-data lifecycle; confirm the deployment-specific reset policy | Approved retention, legal-hold, backup, recovery and deletion policy; “permanent” is not claimed |
| Tax-authority reporting | Only the exact Orchida sandbox state is shown | Performed by Orchida; SolaBill displays and retains the returned outcome |
| تنسيق استجابة واجهة برمجة التطبيقات | Current SolaBill sandbox envelope; compatibility changes are published in the changelog | Must match the separately approved production contract and release |
مهم: Never use sandbox credentials in production. Customer SolaBill API tokens and Orchida provider credentials are separate secrets. Production access remains unavailable until every legal, provider, security, sandbox, pilot, deployment and go-live gate passes.
📦 Sample Data
يأتي صندوق الحماية محملاً مسبقًا ببيانات الاختبار التالية بعد كل عملية إعادة تعيين:
25 Invoices
Synthetic invoice drafts for creation, validation, submission, and status testing through the approved Orchida sandbox workflow.
10 Credit Notes
Internal drafts linked to existing invoices for partial and full credit scenarios; no regulated submission.
5 Incoming eInvoices
Synthetic Orchida purchase-sync results with retained revision and evidence metadata.
2 Webhook Subscriptions
عناوين URL مُعدّة مسبقًا لإشعارات الويب مع سجلات تاريخ التسليم.
🔬 Interactive API Explorer
Try API calls directly from this page only after an administrator securely assigns your tenant-isolated SolaBill test account. No shared credentials are embedded here.
كيفية المصادقة في المستكشف:
- أولاً، استخدم
POST /client/auth/loginنقطة النهاية أدناه للحصول على رمز مميز - انقر فوق الأخضر يأذن 🔒 button at the top of the explorer
- يدخل:
Bearer YOUR_TOKEN(include the word Bearer) - انقر يأذن then يغلق
- ستتضمن جميع الطلبات اللاحقة الرمز المميز الخاص بك تلقائيًا
✅ Pre-Production Checklist
قبل التبديل من وضع الحماية إلى الإنتاج، تحقق من كل ما يلي:
- تدفق المصادقة — Login, token storage, refresh/re-login on 401, logout
- إنشاء الفاتورة — Valid payloads accepted (201), invalid payloads rejected (422)
- Credit-note boundary — Drafts link correctly; regulated submission remains blocked until the confirmed Orchida contract and sandbox mapping exist
- Buyer and onboarding data — Verify buyer profiles supply ordinary endpoint data and regulated onboarding remains Orchida-owned
- Orchida status tracking — Reconcile provider-validation, top-level invoice, tax-authority and receiver states separately without inferring exchange success
- ترقيم الصفحات — Handle
has_more,current_page,last_pageبشكل صحيح - معالجة الأخطاء — Parse error envelope (
error.code,خطأ.رسالة,تفاصيل الخطأ) - التعامل مع حد المعدل — Respect
429responses andإعادة المحاولة بعدheader - التحقق من إشعار الويب — Validate HMAC signature, reject stale/duplicate events
- Invoice idempotency — No duplicate Orchida invoice submission on safe retries; never imply credit-note submission is enabled
- طلب التتبع — Log
معرف طلب Xرأس من الردود على تذاكر الدعم - Production promotion — Provision a separately approved production connection; never turn sandbox into production by changing only a URL
Checklist completion is not production authorization. Preserve the sandbox acceptance evidence, then follow the controlled customer onboarding, deployment, and seven-control partnership go-live process. Only Orchida issues/revokes provider credentials through its approved secure channel.