راهنمای 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 برمیگردند.