جهّز مرة. استخدم كل مرة.
قوائم جهات محفوظة ودمج ذكي بالأرقام، مع إبقاء الأسماء الحالية عند التكرار.
من قائمة عملاء محفوظة إلى رسالة باسم كل عميل.
واتساب وبريد وتذاكر ومتابعة للفريق، في مساحة تجمع شغلك.
نسخة مستقلة لكل شركة. تتاح المزايا بحسب الباقة المشتراة؛ التكاملات تتطلب حسابات مزودي الخدمات وإعدادها. لأكثر من 20 مستخدمًا تواصل مع الدعم.

اختر جمهورك، خاطب كل عميل باسمه، وقدّم عرضك بصورة أو فيديو وزر رابط. ثم أكمل المتابعة مع فريقك من مساحة عمل واحدة.
ارفع ملف Excel أو CSV. أنشئ قائمة أو أضف جهاته إلى قائمة قديمة، مع فحص التكرار بحسب رقم الهاتف.
حتى 1000 جهة لكل قائمة. الحفظ لا يرسل رسائل ولا يغيّر موافقات جهات الاتصال.
معاينة تقريبية. مع Meta و360dialog تُحدد الوسائط والأزرار بحسب قالبك المعتمد. عبر الربط المحلي تتطلب أزرار الصور والفيديو تفعيل اختبار الأزرار؛ ويُرسل PDF منفصلًا عن الأزرار.
راجع الجمهور والموافقة قبل البدء. تابع حالات الحملة، وحدّث حالة التسليم عند توفرها، وصدّر تقرير النتائج.
تستمر الحملات الجديدة عند إغلاق الواجهة أو قفل PIN ما دام الجهاز وخدمة CRM يعملان. قبول المزود ليس تأكيدًا للتسليم أو القراءة؛ وحالة المجموعة لا تؤكد وصول الرسالة إلى كل عضو.
قوائم جهات محفوظة ودمج ذكي بالأرقام، مع إبقاء الأسماء الحالية عند التكرار.
نص منسّق وسمايلات وروابط وصور وفيديو وPDF، مع تخصيص اسم المستلم.
مسؤول واضح للمهام ومراحل للمشروع، مع تذكيرات وتنبيهات مدير قابلة للتفعيل.

كلما كبر العمل، زادت التفاصيل. لا تترك فريقك يبدأ من الصفر في كل متابعة؛ اجمع سياق العميل مع البيع والتشغيل والنتيجة.
جرّب المسار التالي. نفس العميل، وسياق مستمر من أول فرصة إلى متابعة نتيجة العمل.
راجع المرشحين وترتيب Mindy Priority، ثم حوّل المناسب إلى فرصة تتابعها مع فريقك.
التواصل، الفرص، المستندات والخطوة القادمة؛ لتبدأ كل متابعة وأنت تعرف ما سبقها.
حركات مالية، مستحقات وعروض أسعار تمنحك صورة أوضح للتحصيل والصرف.
راجع أداء المبيعات والتسويق والمالية، وحدد أين تحتاج التدخل وأين تستحق الفرصة التوسع.
من جذب العميل والتواصل معه، إلى البيع والتنفيذ وقراءة النتيجة. اكتشف دور كل موديول؛ تظهر الوظائف بحسب الباقة والصلاحيات المفعّلة.
ملفات العملاء وجهات الاتصال والفرص ومتابعة البيع ورادار المتابعة وصيد الفرص. عروض الأسعار متاحة مع إضافة المالية.
استكشف الباقاتقوائم واتساب محفوظة مع فحص التكرار، حملات ورسائل بالاسم وصور وفيديو وPDF. أزرار روابط عبر ربط مايندي المحلي، مع البريد وGoogle Ads وسلة بحسب إعدادات الربط. الباقة الجديدة تشمل العملاء والمبيعات.
استكشف الباقاتالحركات المالية والمستحقات والتحصيل والمصروفات والميزانيات وعروض الأسعار وربط الأستاذ. لا تشمل إصدار الفواتير المحاسبية داخل CRM.
استكشف الباقاتتعيين المهام وقبولها وإعادتها، وقوالب مراحل للمشروعات وتنظيم تسليم العمل بين الفريق، مع المواعيد والمستندات والصلاحيات.
استكشف الباقاتلوحات متابعة ومؤشرات وتقارير تساعدك على قراءة الأداء وتحديد الأولويات.
استكشف الباقاتبعد الاتفاق مع العميل، وزّع المهام بين الفريق وتابع مراحل المشروع. ملف العميل وخطوته القادمة يبقيان السياق حاضرًا أثناء المتابعة.
المزايا بحسب الموديولات المفعّلة. اشتراكات مزودي الخدمات الخارجية ورسومهم منفصلة عن باقة CRM.

استخدمه فرديًا على Windows، أو على سيرفر Windows للفريق مع دخول الموظفين من المتصفح بحساباتهم وصلاحياتهم.
Documentation · أدلة الاستخدام والسيرفر ←على جهازك أو سيرفرك، مع أدوات للنسخ الاحتياطي والتصدير.
حسابات للمستخدمين وصلاحيات تناسب مسؤولية كل عضو.
تشغيل الفريق يحتاج سيرفرًا متصلًا وإعداد الشبكة. الوصول الخارجي يحتاج VPN أو إعداد HTTPS؛ الاستضافة المُدارة ليست مشمولة.
تكاملات بحسب الموديولات المفعّلة، وتتطلب حسابات وصلاحيات لدى مزوّدي الخدمات.
النسخة الكاملة تجمع كل الموديولات، أو ابدأ بالأساسية وأضف ما تحتاجه. الترخيص لشركة واحدة و20 مستخدمًا نشطين شامل المدير.
من أول عميل إلى آخر تقرير. المبيعات والتسويق والمالية والتشغيل والتحليل، في نسخة واحدة.
إضافة لنسختيلنسختك الحالية. نتحقق من الموديولات المطلوبة قبل الدفع.
التفاصيل والشراء ←
إضافة لنسختيلنسختك الحالية. نتحقق من الموديولات المطلوبة قبل الدفع.
التفاصيل والشراء ←
إضافة لنسختيلنسختك الحالية. نتحقق من الموديولات المطلوبة قبل الدفع.
التفاصيل والشراء ←لنسختك الحالية. نتحقق من الموديولات المطلوبة قبل الدفع.
التفاصيل والشراء ←
إضافة لنسختيلنسختك الحالية. نتحقق من الموديولات المطلوبة قبل الدفع.
التفاصيل والشراء ←
نسخة جديدةالأساس لنسختك الجديدة. اختر معه الموديولات التي تحتاجها.
التفاصيل والشراء ←
من هنا يبدأ التنظيمحمّل Mindy CRM، وأضف أول عميل.
ابدأ تجربة 14 يومًا بعد التفعيل التجريبي عبر الإنترنت.
اختر دليلك واقرأ الخطوات هنا، أو افتحه في صفحة مستقلة. أدلة عربية وإنجليزية للمستخدم ومسؤول السيرفر.
Mindy CRM 1.0.0 Beta
فتح الدليل منفصلًا ↗من استوديو الرسائل: ربط مباشر مع Meta عبر WhatsApp Cloud API، أو عبر 360dialog، باستخدام حسابك وقوالبك المعتمدة ومتغيرات الرسالة والوسائط والأزرار. الربط المحلي بالـQR مشمول لمستخدمي الموديول، وUltraMsg خيار إضافي. تُطبق متطلبات إعداد WhatsApp Business ورسوم Meta والمزود؛ لا يتجاوز الربط مراجعة الشركة أو قيود الحساب. تستمر الحملات الجديدة عند إغلاق الواجهة ما دام الجهاز وخدمة CRM يعملان. قبول المزود ليس تأكيدًا للتسليم أو القراءة.
Mindy CRM 1.0.0 Beta
فتح الدليل منفصلًا ↗Mindy CRM 1.0.0 Beta
Open standalone guide ↗Message Studio supports direct Meta WhatsApp Cloud API or 360dialog with your account and approved templates, message variables, media and template buttons. Local QR pairing is included for module users; UltraMsg is optional. WhatsApp Business setup, Meta requirements and fees, and any provider fees apply. Connecting does not bypass business review or account restrictions. New campaigns continue with the interface closed while the computer and CRM service run. Provider acceptance does not confirm delivery or reading.
Mindy CRM 1.0.0 Beta
Open standalone guide ↗اربط نموذج الدعم في موقع شركتك بصندوق التذاكر داخل CRM. هذا API لتذاكر شركتك؛ التواصل مع دعم Mindy يعمل من «دعم البرنامج» بالترخيص ولا يستخدم هذا المفتاح.
Mindy CRM 1.0.0 Beta · API v1
| Method | Path | الوظيفة |
|---|---|---|
GET | /api/integrations/tickets/health | فحص الاتصال والمفتاح دون إنشاء تذكرة |
POST | /api/integrations/tickets | إنشاء تذكرة |
GET | /api/integrations/tickets/{id} | قراءة التذكرة والردود العامة |
POST | /api/integrations/tickets/{id}/messages | إرسال رد عام |
Authorization: Bearer مطلوب في جميع المسارات. لطلبات POST: استخدم Content-Type: application/json، وOrigin يساوي عنوان CRM المعتمد تمامًا بدون شرطة أخيرة (وليس عنوان موقعك)، وIdempotency-Key بطول 8–100 حرف. استخدم معرّفًا جديدًا لكل عملية ونفس المعرّف والمحتوى عند إعادة المحاولة.
الإنشاء: subject مطلوب حتى 180 حرفًا، message مطلوب حتى 8000، reporter_name مطلوب حتى 190، reporter_email اختياري حتى 190. priority اختياري: low / normal / high / urgent. الرد يحتاج message فقط مع ترويسات POST نفسها.
curl --fail-with-body "$MINDY_CRM_URL/api/integrations/tickets/health" \
-H "Authorization: Bearer $MINDY_TICKET_KEY" \
-H "Origin: $MINDY_CRM_URL"{"ok":true,"service":"mindy-company-tickets","api_version":1,"write_enabled":true}هذا المسار متاح ضمن Mindy CRM 1.0.0 Beta. في الحزم القديمة قد يرجع 404. write_enabled:false تعني أن الاتصال يعمل لكن كتابة التذاكر متوقفة بسبب انتهاء التجربة.
curl --fail-with-body "$MINDY_CRM_URL/api/integrations/tickets" \
-H "Authorization: Bearer $MINDY_TICKET_KEY" \
-H "Origin: $MINDY_CRM_URL" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: website-test-001" \
--data '{"subject":"Order help","message":"Please help with my order.","reporter_name":"Customer","reporter_email":"customer@example.com","priority":"normal"}' {"id":123,"duplicate":false}الاستجابة الناجحة HTTP 200. إعادة الطلب نفسه ترجع id نفسه وduplicate:true. قراءة التذكرة ترجع subject وstatus وpriority وreporter_name وreporter_email وmessages؛ كل رسالة تحتوي id وauthor وbody وcreated_at. الرد الناجح يرجع {"ok":true}. الحالات: open / in_progress / waiting / closed. الملاحظات الداخلية والتذاكر الداخلية لا تظهر عبر API.
| 400 | تحقق من الحقول وحدودها أو عنوان السيرفر. |
|---|---|
| 401 | مفتاح مفقود أو غير صالح أو ملغى. |
| 402 | انتهت التجربة؛ كتابة الطلبات متوقفة. |
| 403 | HTTPS أو Origin غير مطابق، أو خدمة التذاكر غير مفعّلة. |
| 404 | المسار غير موجود، أو التذكرة خارج الشركة أو داخلية. |
| 409 | إعادة استخدام المعرّف لمحتوى مختلف أو الرد على تذكرة مغلقة. |
| 413 / 415 | الطلب أكبر من 40,000 بايت أو ليس JSON. |
| 429 | طلبات كثيرة؛ انتظر وقلّل وتيرة المحاولات. |
حدود المعدّل: 120 طلبًا/دقيقة للمفتاح و180 طلبًا/دقيقة لعنوان IP. لأخطاء DNS أو TLS أو المهلة راجع الوصول والشهادة من خادم الموقع؛ لا تعطّل فحص TLS. لا تضع المفاتيح في السجلات أو رسائل الخطأ أو التذاكر.
PHP 8+ مع cURL. احفظه خارج مجلد الويب العام واستدعه من خادم موقعك بعد تطبيق صلاحيات العميل وCSRF وحدود الطلبات. المثال مكتبة اتصال؛ لا ينشئ نموذجًا عامًا أو يحفظ ملكية التذاكر نيابة عن موقعك.
تنزيل مثال PHP<?php
declare(strict_types=1);
/** Save outside public web root. PHP 8+ with cURL.
* Environment: MINDY_CRM_URL=https://crm.example.com and MINDY_TICKET_KEY=mdt_...
* Call only from your authenticated backend. Before read/reply, check that the
* current website customer owns the ticket ID in YOUR database. Never trust a
* ticket ID supplied by a browser without an ownership check. Add CSRF checks
* and rate limits to your website form. Do not put this key in browser code.
*/
function mindyTicketRequest(string $method, string $path, ?array $body=null, string $requestId=''): array {
$base=rtrim((string)getenv('MINDY_CRM_URL'),'/');
$token=(string)getenv('MINDY_TICKET_KEY');
if(!preg_match('~^https://[a-z0-9.-]+(?::[0-9]+)?$~i',$base) || !str_starts_with($token,'mdt_'))
throw new RuntimeException('Configure the CRM HTTPS origin and ticket key on the server.');
if(!preg_match('~^/api/integrations/tickets(?:/health|/[1-9][0-9]*(?:/messages)?)?$~D',$path))
throw new InvalidArgumentException('Unsupported ticket endpoint.');
if(!in_array($method,['GET','POST'],true))throw new InvalidArgumentException('Use GET or POST.');
$headers=['Accept: application/json','Authorization: Bearer '.$token,'Origin: '.$base];
if($method==='POST'){
if(strlen($requestId)<8||strlen($requestId)>100||preg_match('/[\r\n]/',$requestId))
throw new InvalidArgumentException('Provide a stable 8–100 character idempotency ID.');
$headers[]='Content-Type: application/json';$headers[]='Idempotency-Key: '.$requestId;
}
$ch=curl_init($base.$path);$response='';
curl_setopt_array($ch,[CURLOPT_CUSTOMREQUEST=>$method,CURLOPT_CONNECTTIMEOUT=>8,CURLOPT_TIMEOUT=>25,
CURLOPT_FOLLOWLOCATION=>false,CURLOPT_PROTOCOLS=>CURLPROTO_HTTPS,
CURLOPT_SSL_VERIFYPEER=>true,CURLOPT_SSL_VERIFYHOST=>2,CURLOPT_HTTPHEADER=>$headers,
CURLOPT_WRITEFUNCTION=>static function($ch,$chunk)use(&$response){if(strlen($response)+strlen($chunk)>2097152)return 0;$response.=$chunk;return strlen($chunk);}]);
if($method==='POST')curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode($body,JSON_UNESCAPED_UNICODE|JSON_THROW_ON_ERROR));
$ok=curl_exec($ch);$status=(int)curl_getinfo($ch,CURLINFO_RESPONSE_CODE);curl_close($ch);
if($ok===false)throw new RuntimeException('CRM network/TLS failure; verify DNS, HTTPS trust and reachability.');
$data=json_decode($response,true);
if($status<200||$status>=300||!is_array($data))throw new RuntimeException('CRM returned HTTP '.$status.'. Check the API troubleshooting guide.');
return $data;
}
// Safe connection check (does not create a ticket):
// $health=mindyTicketRequest('GET','/api/integrations/tickets/health');
// Create once: persist a request ID in your website DB BEFORE the first attempt.
// $created=mindyTicketRequest('POST','/api/integrations/tickets',[
// 'subject'=>'Order help','message'=>'Please help with my order.',
// 'reporter_name'=>'Customer name','reporter_email'=>'customer@example.com',
// 'priority'=>'normal'], $persistedRequestId);
// Save $created['id'] against the authenticated customer in YOUR database.
// After checking ownership locally:
// $detail=mindyTicketRequest('GET','/api/integrations/tickets/'.$ownedTicketId);
// $reply=mindyTicketRequest('POST','/api/integrations/tickets/'.$ownedTicketId.'/messages',
// ['message'=>'Customer reply'], $persistedReplyRequestId);
// Retry a failed operation with the SAME request ID and identical body.
// Notes marked internal in CRM are never returned through this API.
Connect your website support form to company tickets in CRM. This API handles your company tickets; Program support contacts Mindy using your license and does not use this key.
Mindy CRM 1.0.0 Beta · API v1
| Method | Path | Purpose |
|---|---|---|
GET | /api/integrations/tickets/health | Check connection and key without creating a ticket |
POST | /api/integrations/tickets | Create a ticket |
GET | /api/integrations/tickets/{id} | Read ticket and public replies |
POST | /api/integrations/tickets/{id}/messages | Send a public reply |
Authorization: Bearer is required on all routes. For POST, use Content-Type: application/json, Origin exactly equal to the approved CRM origin without a trailing slash (not your website origin), and an 8–100 character Idempotency-Key. Use a new ID per operation and reuse it with the identical body when retrying.
Create: subject is required, up to 180 characters; message required, up to 8000; reporter_name required, up to 190; reporter_email optional, up to 190. Optional priority: low / normal / high / urgent. Replies need message and the same POST headers.
curl --fail-with-body "$MINDY_CRM_URL/api/integrations/tickets/health" \
-H "Authorization: Bearer $MINDY_TICKET_KEY" \
-H "Origin: $MINDY_CRM_URL"{"ok":true,"service":"mindy-company-tickets","api_version":1,"write_enabled":true}This check is included in Mindy CRM 1.0.0 Beta. Older packages may return 404. write_enabled:false means the connection works but ticket writes are unavailable due to trial expiry.
curl --fail-with-body "$MINDY_CRM_URL/api/integrations/tickets" \
-H "Authorization: Bearer $MINDY_TICKET_KEY" \
-H "Origin: $MINDY_CRM_URL" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: website-test-001" \
--data '{"subject":"Order help","message":"Please help with my order.","reporter_name":"Customer","reporter_email":"customer@example.com","priority":"normal"}' {"id":123,"duplicate":false}Successful responses use HTTP 200. Retrying the same request returns the same id and duplicate:true. Reading a ticket returns subject, status, priority, reporter_name, reporter_email and messages; each message includes id, author, body and created_at. A successful reply returns {"ok":true}. Statuses: open / in_progress / waiting / closed. Internal notes and internal tickets are excluded from the API.
| 400 | Check fields, limits and the server origin. |
|---|---|
| 401 | Missing, invalid or revoked key. |
| 402 | Trial expired; writes are unavailable. |
| 403 | HTTPS/origin mismatch, cross-site request, or ticket module unavailable. |
| 404 | Unknown route, ticket outside the company, or an internal ticket. |
| 409 | Idempotency ID reused with different content, or reply to a closed ticket. |
| 413 / 415 | Body exceeds 40,000 bytes or is not JSON. |
| 429 | Rate limit; wait and reduce request frequency. |
Rate limits: 120 requests/minute per key and 180 per IP. For DNS, TLS or timeout failures, check reachability and certificate trust from the website server; never disable TLS verification. Keep keys out of logs, errors and tickets.
PHP 8+ with cURL. Save outside the public web root and call from your backend after customer authorization, CSRF and rate-limit checks. This connection helper does not create a public form or store ticket ownership for your site.
Download PHP example<?php
declare(strict_types=1);
/** Save outside public web root. PHP 8+ with cURL.
* Environment: MINDY_CRM_URL=https://crm.example.com and MINDY_TICKET_KEY=mdt_...
* Call only from your authenticated backend. Before read/reply, check that the
* current website customer owns the ticket ID in YOUR database. Never trust a
* ticket ID supplied by a browser without an ownership check. Add CSRF checks
* and rate limits to your website form. Do not put this key in browser code.
*/
function mindyTicketRequest(string $method, string $path, ?array $body=null, string $requestId=''): array {
$base=rtrim((string)getenv('MINDY_CRM_URL'),'/');
$token=(string)getenv('MINDY_TICKET_KEY');
if(!preg_match('~^https://[a-z0-9.-]+(?::[0-9]+)?$~i',$base) || !str_starts_with($token,'mdt_'))
throw new RuntimeException('Configure the CRM HTTPS origin and ticket key on the server.');
if(!preg_match('~^/api/integrations/tickets(?:/health|/[1-9][0-9]*(?:/messages)?)?$~D',$path))
throw new InvalidArgumentException('Unsupported ticket endpoint.');
if(!in_array($method,['GET','POST'],true))throw new InvalidArgumentException('Use GET or POST.');
$headers=['Accept: application/json','Authorization: Bearer '.$token,'Origin: '.$base];
if($method==='POST'){
if(strlen($requestId)<8||strlen($requestId)>100||preg_match('/[\r\n]/',$requestId))
throw new InvalidArgumentException('Provide a stable 8–100 character idempotency ID.');
$headers[]='Content-Type: application/json';$headers[]='Idempotency-Key: '.$requestId;
}
$ch=curl_init($base.$path);$response='';
curl_setopt_array($ch,[CURLOPT_CUSTOMREQUEST=>$method,CURLOPT_CONNECTTIMEOUT=>8,CURLOPT_TIMEOUT=>25,
CURLOPT_FOLLOWLOCATION=>false,CURLOPT_PROTOCOLS=>CURLPROTO_HTTPS,
CURLOPT_SSL_VERIFYPEER=>true,CURLOPT_SSL_VERIFYHOST=>2,CURLOPT_HTTPHEADER=>$headers,
CURLOPT_WRITEFUNCTION=>static function($ch,$chunk)use(&$response){if(strlen($response)+strlen($chunk)>2097152)return 0;$response.=$chunk;return strlen($chunk);}]);
if($method==='POST')curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode($body,JSON_UNESCAPED_UNICODE|JSON_THROW_ON_ERROR));
$ok=curl_exec($ch);$status=(int)curl_getinfo($ch,CURLINFO_RESPONSE_CODE);curl_close($ch);
if($ok===false)throw new RuntimeException('CRM network/TLS failure; verify DNS, HTTPS trust and reachability.');
$data=json_decode($response,true);
if($status<200||$status>=300||!is_array($data))throw new RuntimeException('CRM returned HTTP '.$status.'. Check the API troubleshooting guide.');
return $data;
}
// Safe connection check (does not create a ticket):
// $health=mindyTicketRequest('GET','/api/integrations/tickets/health');
// Create once: persist a request ID in your website DB BEFORE the first attempt.
// $created=mindyTicketRequest('POST','/api/integrations/tickets',[
// 'subject'=>'Order help','message'=>'Please help with my order.',
// 'reporter_name'=>'Customer name','reporter_email'=>'customer@example.com',
// 'priority'=>'normal'], $persistedRequestId);
// Save $created['id'] against the authenticated customer in YOUR database.
// After checking ownership locally:
// $detail=mindyTicketRequest('GET','/api/integrations/tickets/'.$ownedTicketId);
// $reply=mindyTicketRequest('POST','/api/integrations/tickets/'.$ownedTicketId.'/messages',
// ['message'=>'Customer reply'], $persistedReplyRequestId);
// Retry a failed operation with the SAME request ID and identical body.
// Notes marked internal in CRM are never returned through this API.
يدعم استوديو الرسائل الربط الرسمي مباشرةً مع Meta عبر WhatsApp Cloud API، أو عبر 360dialog، باستخدام حسابك وقوالبك المعتمدة. الربط المحلي بالـQR مشمول لمستخدمي موديول التواصل والتسويق على جهازهم أو سيرفرهم، وUltraMsg خيار إضافي. الربط الرسمي يتطلب إعداد حساب WhatsApp Business وبيانات الوصول، وتُطبق متطلبات Meta ورسومها ورسوم المزود إن وجدت؛ الربط لا يتجاوز مراجعة الشركة أو قيود الحساب.
نعم. ارفع Excel أو CSV وأنشئ قائمة جديدة أو ادمج جهاته مع قائمة محفوظة. يفحص البرنامج التكرار بحسب الرقم الدولي، وتبقى القوائم بعد إغلاقه. الحد الحالي 1000 جهة لكل قائمة، مع تأكيد الموافقة قبل الإرسال.
نعم. مع Meta و360dialog استخدم قالبًا معتمدًا، مع متغيرات النص والصورة أو الفيديو أو PDF وأزرار القالب بحسب بنيته. عبر الربط المحلي تتاح أزرار الروابط مع الصور والفيديو بعد تفعيل اختبار الأزرار، ويُرسل PDF منفصلًا عن الأزرار. تستمر الحملات الجديدة عند إغلاق الواجهة أو قفل PIN ما دام الجهاز وخدمة CRM يعملان. قبول المزود ليس تأكيدًا للتسليم أو القراءة.
من متجر مايندي الموجود على هذا الموقع. بعد التحقق من الدفع يُطلب الكود من خادم التراخيص ويظهر ضمن طلبك. أدخله في مركز المنتج داخل CRM.
الموديولات المشتراة ملكية دائمة. الدعم والتحديثات لهما مدة منفصلة تحددها الباقة، وتظهر التفاصيل في مركز المنتج.
التفعيل والتحديث والتكاملات الخارجية تحتاج الإنترنت. العمل الفردي يستخدم بيانات محلية، والفريق يحتاج اتصالًا بالسيرفر.
في وضع الفريق يُثبّت CRM على سيرفر Windows واحد، ويدخل الموظفون من المتصفح. يلزم تجهيز الشبكة وHTTPS للوصول الآمن.
مسار الترقية يحافظ على قاعدة البيانات. احتفظ بنسخة احتياطية، واختر النسخة السابقة عند التنصيب ولا تحذف مجلد بياناتها.