طريقة الاتصال
1
تحقق من مفتاح API الخاص بك
يمكنك التحقق منه من القائمة أعلى اليمين > الإعدادات > الحساب > مفاتيح API.
2
أضفه إلى ترويسة الطلب
أضف مفتاح API الصادر إلى ترويسة Authorization بصيغة Bearer.
3
أرسل طلبًا إلى رابط URL الأساسي
أرسل الطلبات إلى رابط URL الأساسي أدناه متبوعًا بمسار نقطة النهاية.
رابط URL الأساسي
https://stepeee.com/public-api/v1
مثال على الطلب
curl https://stepeee.com/public-api/v1/projects \ -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests
response = requests.get(
"https://stepeee.com/public-api/v1/projects",
headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects", {
headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://stepeee.com/public-api/v1/projects"))
.header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
صيغة الاستجابة والأخطاء
تُعاد جميع الاستجابات بصيغة الغلاف التالية.
عند النجاح
{ "data": ... }
عند حدوث خطأ
{ "error": { "code": "...", "message": "..." } }
رموز الحالة
| الحالة | المعنى |
|---|---|
| 401 | مفتاح API غير صحيح أو منتهي الصلاحية |
| 404 | المورد غير موجود (يشمل ذلك أيضًا حالات عدم وجود صلاحية الوصول) |
| 422 | المعاملات غير صحيحة |
| 429 | تم تجاوز حد المعدل |
| 500 | حدث خطأ غير متوقع |
المشاريع
GET
›
/projects
يسترجع قائمة المشاريع التي يمكن لمالك مفتاح API الوصول إليها.
مثال على الطلب
curl https://stepeee.com/public-api/v1/projects \ -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests
response = requests.get(
"https://stepeee.com/public-api/v1/projects",
headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects", {
headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://stepeee.com/public-api/v1/projects"))
.header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
مثال على الاستجابة
{
"data": [
{
"project_unique": "a1b2c3d4e5",
"project_name": "Sample Project",
"description": "Sample project description",
"created_at": "2026-01-10T09:00:00Z"
}
],
"meta": { "total": 1 }
}
GET
›
/projects/{project_unique}
يسترجع تفاصيل مشروع واحد.
- project_unique(string، مسار، مطلوب) — المعرّف العام للمشروع
مثال على الطلب
curl https://stepeee.com/public-api/v1/projects/a1b2c3d4e5 \ -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests
response = requests.get(
"https://stepeee.com/public-api/v1/projects/a1b2c3d4e5",
headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5", {
headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5"))
.header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
مثال على الاستجابة
{
"data": {
"project_unique": "a1b2c3d4e5",
"project_name": "Sample Project",
"description": "Sample project description",
"is_readonly": false,
"created_at": "2026-01-10T09:00:00Z"
}
}
المحتوى
GET
›
/projects/{project_unique}/contents
يسترجع قائمة موحّدة بالمحتوى الذي تم إنشاؤه داخل المشروع (منشورات، مدونات، عروض تفاعلية، فيديوهات).
- project_unique(string، مسار، مطلوب) — المعرّف العام للمشروع
مثال على الطلب
curl https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents \ -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests
response = requests.get(
"https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents",
headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents", {
headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents"))
.header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
مثال على الاستجابة
{
"data": [
{
"mode": "moviemode",
"variation_unique": "m1a2b3c4d5",
"title": "Generated Title",
"progress": { "step_process": 3, "is_complete": true },
"created_at": "2026-01-12T03:00:00Z"
}
],
"meta": { "total": 1 }
}
GET
›
/projects/{project_unique}/contents/{variation_unique}
يسترجع تفاصيل قطعة محتوى واحدة. يشمل النص الأساسي/الأصول المُولّدة، وحالة النشر (نتائج النشر إلى SNS/WordPress وغيرها). يختلف محتوى "content" حسب الوضع.
- project_unique(string، مسار، مطلوب) — المعرّف العام للمشروع
- variation_unique(string، مسار، مطلوب) — المعرّف العام للمحتوى
مثال على الطلب
curl https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5 \ -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests
response = requests.get(
"https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5",
headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5", {
headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5"))
.header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
مثال على الاستجابة
{
"data": {
"mode": "moviemode",
"variation_unique": "m1a2b3c4d5",
"title": "Generated Title",
"progress": { "step_process": 3, "is_complete": true },
"publish": [
{
"platform": "youtube",
"status": "success",
"post_url": "https://youtube.com/watch?v=xxxx",
"posted_at": "2026-01-12T04:00:00Z"
}
],
"content": {
"movie_unique": "v1a2b3c4d5e6f7g8h9i0",
"download_url": "https://... (issued dynamically per request)",
"thumbnail_url": "https://... (issued dynamically per request)"
},
"created_at": "2026-01-12T03:00:00Z"
}
}