رها ورد
ورودثبت‌نامِ رایگان

راهنمای API

با API می‌توانید تبدیل را از برنامهٔ خودتان انجام دهید. از پنلِ API یک توکن بسازید و در هدرِ هر درخواست بفرستید: Authorization: Bearer TOKEN

هزینهٔ هر صفحه مثلِ سایت از بستهٔ صفحه یا کیف پولِ شما کم می‌شود و اگر تبدیل ناموفق باشد برمی‌گردد.

درخواستتوضیح
POST /api/v1/jobsساختِ یک تبدیل. هدرِ اختیاریِ X-Name نامِ فایلِ خروجی است. پاسخ: {"job": "…"}
POST /api/v1/jobs/{job}/fileبدنهٔ درخواست خودِ فایل است: یک PDF، یا یک عکس (برای چند عکس، چند بار صدا بزنید).
POST /api/v1/jobs/{job}/startشروعِ تبدیل. هزینه همین‌جا از بستهٔ صفحه یا کیف پول کم می‌شود.
GET /api/v1/jobs/{job}وضعیت: status = running | done | error، به‌همراهِ total و done (تعدادِ صفحه) و error.
GET /api/v1/jobs/{job}/docxدریافتِ فایلِ Word بعد از done.

نمونهٔ پایتون

import requests, time
T = "توکنِ شما"
H = {"Authorization": "Bearer " + T}
B = "https://rahacore.ir/api/v1"

job = requests.post(B + "/jobs", headers={**H, "X-Name": "report"}).json()["job"]
requests.post(B + f"/jobs/{job}/file", headers=H, data=open("report.pdf", "rb"))
requests.post(B + f"/jobs/{job}/start", headers=H)
while True:
    s = requests.get(B + f"/jobs/{job}", headers=H).json()
    if s["status"] in ("done", "error"): break
    time.sleep(2)
if s["status"] == "done":
    open("report.docx", "wb").write(requests.get(B + f"/jobs/{job}/docx", headers=H).content)
else:
    print(s["error"])

نمونهٔ PHP

<?php
$T = "توکنِ شما"; $B = "https://rahacore.ir/api/v1";
function call($m, $url, $T, $body = null) {
  $c = curl_init($url);
  curl_setopt_array($c, [CURLOPT_CUSTOMREQUEST => $m, CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer $T"], CURLOPT_POSTFIELDS => $body ?? ""]);
  $r = curl_exec($c); curl_close($c); return $r;
}
$job = json_decode(call("POST", "$B/jobs", $T))->job;
call("POST", "$B/jobs/$job/file", $T, file_get_contents("report.pdf"));
call("POST", "$B/jobs/$job/start", $T);
do { sleep(2); $s = json_decode(call("GET", "$B/jobs/$job", $T)); } while (!in_array($s->status, ["done", "error"]));
if ($s->status == "done") file_put_contents("report.docx", call("GET", "$B/jobs/$job/docx", $T));

خطاها با کدِ HTTP و یک پیامِ فارسی در فیلدِ error برمی‌گردند.