Supporto per siti web
Aggiungi il supporto al tuo sito con un solo tag script
SupDesk si integra perfettamente nel tuo sito web con un solo tag script. Incorpora bacheche di feedback, chat dal vivo e centro assistenza: tutto personalizzabile per rispecchiare il tuo marchio.
Avvio rapido: widget JavaScript
Aggiungi questo script al tuo sito:
<script
src="https://cdn.supdesk.app/widget.js"
data-portal="https://feedback.yourapp.com"
defer
></script>Il widget si carica automaticamente nell'angolo in basso a destra delle tue pagine.
Esempi per framework
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');Oppure usa il plugin presente nel repository dei plugin di 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}</>;
}Funzionalità del portale per siti web
Bacheca di feedback con votazione Gli utenti pubblicano idee, votano i suggerimenti e seguono quello che verrà dopo. Perfetta per le roadmap di prodotto.
Integrazione della chat dal vivo Un widget che compare nelle tue pagine. Quando gli utenti chattano, il messaggio finisce nella stessa casella di email e messaggi del portale.
Widget del centro assistenza Articoli di knowledge base ricercabili, incorporati nella tua pagina di supporto o in tutto il sito.
Domini personalizzati
Servi il tuo portale da support.yourapp.com con SSL automatico e branding.
Personalizzazione del widget
Configura l'aspetto del widget:
window.SupDesk = {
portal: "https://feedback.yourapp.com",
theme: "light", // or 'dark'
position: "bottom-right", // or 'bottom-left'
color: "#3B82F6", // match your brand
};Pronto ad aggiungere il supporto al tuo sito?
Inizia gratis. Nessuna carta di credito richiesta. Registrati su supdesk.app
SDK lato server per l'integrazione backend
Esempi di codice live caricati dal repository GitHub di ogni 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.',
);