Soporte para plataformas SaaS
Añade soporte al cliente a tu plataforma SaaS
SupDesk está hecho para productos SaaS que necesitan soporte multi-tenant, acceso a API y webhooks. Escala tu soporte sin construirlo desde cero.
Funciones para productos SaaS
Portal de cliente
Cada tenant tiene su propio portal de feedback con su marca en support.organization.com.
Soporte API-first Todas las funciones disponibles vía API REST. Perfecto para soporte integrado en tus paneles de administración.
Medición de uso Controla los usuarios activos, el volumen de feedback y el número de envíos de cada tenant.
Exportación y análisis Genera informes CSV para las revisiones de las partes interesadas. Monitoriza las tendencias entre tenants.
Precios para equipos SaaS
Todos los planes incluyen tenants ilimitados y sin cargos por cliente. Ver precios
Construye hoy tu sistema de soporte SaaS
Empieza a recopilar feedback de todos tus clientes. Gratis para empezar — sin tarjeta de crédito. Regístrate en supdesk.app
SDK del lado del servidor para la integración de backend
Ejemplos de código en vivo extraídos del repositorio de GitHub de cada 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.',
);