دعم العملاء لمنصات SaaS
أضِف دعم العملاء إلى منصة SaaS الخاصة بك
صُمِّم SupDesk لمنتجات SaaS التي تحتاج إلى دعم متعدد المستأجرين (multi-tenant) ووصولًا عبر API وخطافات ويب (webhooks). وسِّع نطاق دعمك دون أن تبنيه من الصفر.
ميزات لمنتجات SaaS
بوابة العملاء
يحصل كل مستأجر على بوابة ملاحظات خاصة به تحمل علامته التجارية على support.organization.com.
دعم يضع API في المقام الأول جميع الميزات متاحة عبر REST API. مثالية للدعم المضمَّن داخل لوحات الإدارة لديك.
قياس الاستخدام تتبَّع المستخدمين النشطين وحجم الملاحظات وعدد الطلبات المُرسلة لكل مستأجر.
التصدير والتحليلات أنشئ تقارير CSV لمراجعتها مع أصحاب المصلحة. وراقب الاتجاهات عبر المستأجرين.
التسعير لفرق SaaS
تتضمن جميع الخطط مستأجرين غير محدودين دون أي رسوم لكل عميل. اطّلع على التسعير
ابنِ نظام دعم SaaS الخاص بك اليوم
ابدأ بجمع الملاحظات من جميع عملائك. البدء مجاني — دون حاجة إلى بطاقة ائتمان. سجّل في supdesk.app
أدوات SDK من جانب الخادم لتكامل الواجهة الخلفية
أمثلة برمجية مباشرة مأخوذة من مستودع GitHub لكل SDK.
import { SupDesk } from "supdesk";
const supdesk = new SupDesk({ apiKey: process.env.SUPDESK_API_KEY! });
// Auto-pages: iterating walks every page for you.
for await (const submission of await supdesk.submissions.list({
status: "open",
})) {
console.log(submission.title);
}
await supdesk.submissions.create({
type: "bug",
title: "Export button does nothing",
email: "user@example.com",
body: "Clicking Export on the reports page has no effect.",
});from supdesk import SupDesk
supdesk = SupDesk() # api_key=... or $SUPDESK_API_KEY
# Auto-pages: iterating walks every page for you.
for submission in supdesk.submissions.list(status="open"):
print(submission.title)
supdesk.submissions.create(
type="bug",
title="Export button does nothing",
email="user@example.com",
body="Clicking Export on the reports page has no effect.",
)import "github.com/rabinapps/supdesk-go/supdesk"
client, err := supdesk.New(os.Getenv("SUPDESK_API_KEY"))
if err != nil {
log.Fatal(err)
}
page, err := client.Submissions.List(ctx, supdesk.SubmissionsListParams{
Status: ptr("open"),
})
if err != nil {
return err
}
// Auto-pages: All walks every page for you.
for sub, err := range page.All(ctx) {
if err != nil {
return err
}
fmt.Println(sub.Title)
}
_, err = client.Submissions.Create(ctx, supdesk.SubmissionsCreateParams{
Type: supdesk.SubmissionTypeBug,
Title: "Export button does nothing",
Email: "user@example.com",
Body: "Clicking Export on the reports page has no effect.",
})import 'dart:io';
import 'package:supdesk/supdesk.dart';
final supdesk = SupDesk(apiKey: Platform.environment['SUPDESK_API_KEY']!);
// Auto-pages: the stream walks every page for you.
final page = await supdesk.submissions.list(status: PostStatus.open);
await for (final submission in page.autoPaging()) {
print(submission.title);
}
await supdesk.submissions.create(
type: SubmissionType.bug,
title: 'Export button does nothing',
email: 'user@example.com',
body: 'Clicking Export on the reports page has no effect.',
);