שירות לקוחות לאתרים
הוסיפו תמיכה לאתר שלכם עם תג סקריפט אחד
SupDesk משתלב בצורה חלקה באתר שלכם עם תג סקריפט יחיד. הטמיעו לוחות משוב, צ'אט חי ומרכז עזרה — הכל ניתן להתאמה אישית כדי להתאים למיתוג שלכם.
התחלה מהירה: וידג'ט JavaScript
הוסיפו את הסקריפט הזה לאתר שלכם:
<script
src="https://cdn.supdesk.app/widget.js"
data-portal="https://feedback.yourapp.com"
defer
></script>הווידג'ט נטען אוטומטית בפינה הימנית התחתונה של הדפים שלכם.
דוגמאות ספציפיות לפריימוורק
React:
import { useEffect } from "react";
function SupportWidget() {
useEffect(() => {
const script = document.createElement("script");
script.src = "https://cdn.supdesk.app/widget.js";
script.dataset.portal = "https://feedback.yourapp.com";
script.async = true;
document.body.appendChild(script);
return () => document.body.removeChild(script);
}, []);
return null;
}Vue 3:
<script setup>
import { onMounted, onUnmounted } from "vue";
onMounted(() => {
const script = document.createElement("script");
script.src = "https://cdn.supdesk.app/widget.js";
script.dataset.portal = "https://feedback.yourapp.com";
document.body.appendChild(script);
});
onUnmounted(() => {
const script = document.querySelector('script[src*="supdesk.app"]');
if (script) script.remove();
});
</script>WordPress:
// Add to your theme's functions.php
function add_supdesk_widget() {
}
add_action('wp_footer', 'add_supdesk_widget');או השתמשו בתוסף ממאגר התוספים של WordPress.
Next.js (App Router):
export default function Layout({ children }) {
useEffect(() => {
const script = document.createElement("script");
script.src = "https://cdn.supdesk.app/widget.js";
script.dataset.portal = "https://feedback.yourapp.com";
document.body.appendChild(script);
return () => document.body.removeChild(script);
}, []);
return <>{children}</>;
}תכונות בפורטל האתר
לוח משוב עם הצבעות משתמשים מפרסמים רעיונות, מצביעים על הצעות ועוקבים אחרי מה שמגיע בהמשך. מושלם למפות דרכים של מוצר.
שילוב צ'אט חי וידג'ט שמופיע בדפים שלכם. כשמשתמשים מתכתבים, זה הופך להודעה באותה תיבת דואר נכנס כמו הודעות האימייל והפורטל.
וידג'ט מרכז עזרה מאמרי בסיס ידע הניתנים לחיפוש, משובצים בדף התמיכה שלכם או בכל האתר.
דומיינים מותאמים אישית
הגישו את הפורטל שלכם מ-support.yourapp.com עם SSL אוטומטי ומיתוג.
התאמת הווידג'ט
הגדירו את מראה הווידג'ט:
window.SupDesk = {
portal: "https://feedback.yourapp.com",
theme: "light", // or 'dark'
position: "bottom-right", // or 'bottom-left'
color: "#3B82F6", // match your brand
};מוכנים להוסיף תמיכה לאתר שלכם?
התחילו בחינם. אין צורך בכרטיס אשראי. הירשמו ב-supdesk.app
SDKs בצד השרת לשילוב backend
דוגמאות קוד חיות שנטענות ממאגר ה-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.',
);