مقدمه
API سامانه BaleCRM از استانداردهای معماری RESTful پیروی میکند و نقاط پایانی منبعمحور واضح و یکنواختی ارائه میدهد. تمام درخواستها و پاسخها در قالب JSON و با استفاده از افعال HTTP استاندارد، کدهای وضعیت و پروتکلهای احراز هویت برای یکپارچهسازی امن، کارآمد و مقیاسپذیر ارسال میشوند.
آدرس پایه API
توجه داشته باشید که BaleCRM محیط sandbox یا تست ارائه نمیدهد. تمام درخواستهای API در محیط واقعی پردازش میشوند؛ بنابراین قبل از ارسال هر درخواست، از صحت دادهها و پارامترها اطمینان حاصل کنید.
https://balecrm.com/external-api
احراز هویت
تمام درخواستها به API سامانه BaleCRM نیاز به احراز هویت دارند. هر درخواست API باید شامل client-id و client-secret معتبر در هدر درخواست باشد که از داشبورد BaleCRM در بخش ابزارهای توسعهدهنده قابل دریافت است.
علاوه بر اعتبارنامهها، BaleCRM امنیت مبتنی بر IP را اعمال میکند. باید آدرس IP عمومی سرور خود را در بخش IP Whitelist داشبورد ثبت و فعال کنید. درخواستهایی که از IPهای غیرمجاز ارسال شوند، بهطور خودکار رد میشوند.
هر دو مورد — اعتبارنامه API معتبر و IP تأییدشده — الزامی هستند. بدون تکمیل این دو مرحله، احراز هویت ناموفق خواهد بود و دسترسی به API امکانپذیر نیست.
فرمت پاسخ
تمام پاسخهای API سامانه BaleCRM در قالب JSON بازگردانده میشوند. هر پاسخ ساختار یکنواختی دارد و شامل نشانگر وضعیت، پیام و دادههای مرتبط (در صورت وجود) است. کدهای وضعیت HTTP استاندارد برای نمایش نتیجه هر درخواست استفاده میشوند.
نمونه پاسخ موفق
{
"status": "success",
"remark": "contact_list",
"message": ["Contact list fetched successfully"],
"data": { ... }
}
نمونه پاسخ خطا
{
"remark": "Unauthorized",
"status": "error",
"message": ["The client secret is required"]
}
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://balecrm.com/external-api/contact/list',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'client-id: YOUR-CLIENT-ID',
'client-secret: YOUR-CLIENT-SECRET',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
لیست مخاطبین
این نقطه پایانی امکان دریافت لیست کامل مخاطبین مرتبط با حساب BaleCRM شما را فراهم میکند.
پارامترهای کوئری
پارامترهای کوئری که به شما امکان سفارشیسازی پاسخ API را میدهند.
| نام | توضیحات | اجباری | پیشفرض |
|---|---|---|---|
page |
شماره صفحه مورد نظر برای دریافت را مشخص میکند. | خیر | 1 |
paginate |
تعداد آیتمهای بازگشتی در هر صفحه را مشخص میکند. | خیر | 20 |
search |
جستجوی مخاطبین بر اساس نام، نام خانوادگی یا شماره موبایل. | خیر | - |
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://balecrm.com/external-api/contact/store',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('firstname' => 'John','lastname' => 'Doe','mobile_code' => '880','mobile' => '01988'),
CURLOPT_HTTPHEADER => array(
'client-id: YOUR-CLIENT-ID',
'client-secret: YOUR-CLIENT-SECRET',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
ایجاد مخاطب جدید
این نقطه پایانی امکان افزودن مخاطب جدید به حساب BaleCRM شما را فراهم میکند. جزئیات مخاطب را ارسال کنید؛ در صورت موفقیت، API اطلاعات مخاطب ایجادشده را در قالب JSON برمیگرداند.
فیلدهای الزامی
فیلدهای زیر برای ایجاد مخاطب جدید در سیستم الزامی هستند.
| فیلد | اجباری | پیشفرض |
|---|---|---|
firstname |
بله | - |
lastname |
بله | - |
mobile_code |
بله | - |
mobile |
بله | - |
city |
خیر | - |
state |
خیر | - |
post_code |
خیر | - |
address |
خیر | - |
profile_image |
خیر | - |