Jede Funktion, ein API-Aufruf entfernt
nodestash bietet ein vollständiges CRM-Backend als REST API. Kontakte, Deals, Pipelines, benutzerdefinierte Felder, Suche — alles mit konsistenten, berechenbaren Endpunkten und echten Code-Beispielen.
Kontakte & Unternehmen
Vollständiges Kontakt- und Unternehmensmanagement mit benutzerdefinierten Feldern, Tags und Beziehungs-Tracking.
Erstellen, aktualisieren, suchen und löschen Sie Kontakte und Unternehmen. Verknüpfen Sie Kontakte mit Unternehmen, fügen Sie Tags zur Segmentierung hinzu und speichern Sie beliebige Daten in benutzerdefinierten Feldern. Alle Datensätze sind Workspace-bezogen mit vollständigen CRUD-Operationen.
// Create a contact
const response = await fetch('https://api.nodestash.io/v1/contacts', {
method: 'POST',
headers: {
'Authorization': 'Bearer nds_live_...',
'Content-Type': 'application/json',
},
body: JSON.stringify({
first_name: 'Jane',
last_name: 'Smith',
email: 'jane@example.com',
company_id: 'co_7nR4kXqB2vM9wYpT5sG',
tags: ['enterprise', 'decision-maker'],
custom_fields: {
lead_score: 85,
source: 'website',
},
}),
})
// Response
{
"data": {
"id": "ct_9mK2pLxR4vN8wYqT3hJ",
"type": "contact",
"attributes": {
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com",
"tags": ["enterprise", "decision-maker"]
}
}
}Deals & Pipelines
Individuelle Vertriebspipelines mit Stufen. Verfolgen Sie Deal-Werte, Währungen und erwartete Abschlussdaten.
Erstellen Sie Pipelines mit benutzerdefinierten Stufen (offen, gewonnen, verloren). Verschieben Sie Deals durch Stufen, verfolgen Sie Geldbeträge mit Währungsunterstützung und verknüpfen Sie Deals mit Kontakten und Unternehmen. Cursor-basierte Paginierung für große Deal-Mengen.
// Create a deal in a pipeline
const response = await fetch('https://api.nodestash.io/v1/deals', {
method: 'POST',
headers: {
'Authorization': 'Bearer nds_live_...',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Enterprise License Q2',
value: 48000.00,
currency: 'EUR',
pipeline_id: 'pp_3kM8nLxR2vP5wYqT7sH',
stage_id: 'ps_6jN9mKwQ4vR7xZpS2tG',
contact_id: 'ct_9mK2pLxR4vN8wYqT3hJ',
expected_close_date: '2025-06-30',
}),
})Aktivitäten & Timeline
Protokollieren Sie jede Interaktion. Anrufe, E-Mails, Meetings, Notizen — alles verknüpft mit Kontakten, Unternehmen und Deals.
Verfolgen Sie alle Kundeninteraktionen in einer einheitlichen Timeline. Unterstützung für eingebaute Typen (Notiz, Aufgabe, E-Mail, Anruf, Meeting) und benutzerdefinierte Typen. Markieren Sie Aktivitäten als erledigt, setzen Sie Fälligkeitsdaten und filtern Sie nach Typ oder Entität.
// Log an activity
const response = await fetch('https://api.nodestash.io/v1/activities', {
method: 'POST',
headers: {
'Authorization': 'Bearer nds_live_...',
'Content-Type': 'application/json',
},
body: JSON.stringify({
type: 'meeting',
subject: 'Product Demo - Q2 Review',
body: 'Discussed roadmap and pricing.',
contact_id: 'ct_9mK2pLxR4vN8wYqT3hJ',
deal_id: 'dl_5hK7mNxQ3vR8wYpT4sG',
is_done: true,
}),
})Benutzerdefinierte Felder
Definieren Sie Felder jedes Typs und fragen Sie sie wie erstklassige Bürger ab. Kein Nachgedanke.
Definieren Sie benutzerdefinierte Felddefinitionen mit Typen (Text, Zahl, Boolean, Datum, Auswahl, Mehrfachauswahl, URL, E-Mail, Telefon). Setzen Sie Pflichtfeld-Flags und Optionen für Auswahlfelder. Werte werden separat gespeichert und pro Entität abfragbar.
// Define a custom field
await fetch('https://api.nodestash.io/v1/custom-fields', {
method: 'POST',
headers: {
'Authorization': 'Bearer nds_live_...',
'Content-Type': 'application/json',
},
body: JSON.stringify({
entity_type: 'contact',
name: 'Lead Score',
slug: 'lead_score',
field_type: 'number',
is_required: false,
}),
})
// Set value on a contact
await fetch('https://api.nodestash.io/v1/contacts/ct_.../custom-fields', {
method: 'PUT',
headers: {
'Authorization': 'Bearer nds_live_...',
'Content-Type': 'application/json',
},
body: JSON.stringify({
lead_score: 92,
}),
})Webhooks & Events
Echtzeit-Event-Benachrichtigungen mit automatischen Wiederholungen und kryptografischen Signaturen.
Jede Statusänderung löst einen Webhook an Ihren konfigurierten Endpunkt aus. Events umfassen contact.created, deal.stage_changed, field.updated und mehr. Payloads enthalten die vollständigen Ressourcendaten und Metadaten für zuverlässige Verarbeitung.
// Webhook payload delivered to your endpoint
{
"event": "contact.created",
"timestamp": "2025-01-15T10:30:00Z",
"data": {
"id": "ct_9mK2pLxR4vN8wYqT3hJ",
"type": "contact",
"attributes": {
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com"
}
},
"metadata": {
"workspace_id": "ws_2kN8mLxR4vP5wYqT",
"triggered_by": "api"
}
}Volltextsuche
Meilisearch-betriebene Sofortsuche mit Tippfehler-Toleranz und Filterung.
Durchsuchen Sie Kontakte, Unternehmen, Deals und Aktivitäten mit einem einzigen Abfrageparameter. Ergebnisse werden nach Relevanz mit Tippfehler-Toleranz gerankt. Kombinieren Sie Suche mit Tag-Filtern, Datumsbereichen und benutzerdefinierten Feld-Abfragen.
// Full-text search across contacts
const response = await fetch(
'https://api.nodestash.io/v1/contacts?search=jane&tags=enterprise',
{
headers: {
'Authorization': 'Bearer nds_live_...',
},
},
)
// Response with pagination
{
"data": [...],
"meta": {
"pagination": {
"next_cursor": "eyJpZCI6ImN0XzltSz...",
"has_more": true
}
}
}Plattform-Funktionen
Infrastruktur, auf die Sie sich verlassen können. Von Tag eins für die Produktion gebaut.
OpenAPI 3.1 Spec
Vollständige OpenAPI 3.1 Spezifikation mit Schemas und Beispielen. Auto-generierte Clients in jeder Sprache — TypeScript, Python, Go, Ruby, Java.
API Key & OAuth2
Zwei Auth-Methoden: API Keys für Server-zu-Server, OAuth2 für Drittanbieter-Integrationen. Scope-basierte Berechtigungen bei jeder Anfrage.
Transparente Rate Limits
Klare Rate-Limit-Header bei jeder Antwort. Tägliche Limits und Burst-Limits pro Sekunde. Keine Überraschungen — planen Sie Ihre Integration mit Vertrauen.
Multi-Tenant by Design
Jede Abfrage ist Workspace-bezogen. Datenisolierung ist ins Schema eingebaut, nicht nachträglich hinzugefügt. Sicher für Multi-Tenant SaaS-Anwendungen.
TypeScript SDK
Offizielles TypeScript SDK mit voller Typsicherheit, Autovervollständigung und benutzerdefinierten Fehlertypen. npm install @nodestash/sdk und los.
OAuth2 Autorisierung
Vollständiger OAuth2-Flow mit Autorisierungscodes, PKCE, Token-Refresh und Widerruf. Bauen Sie Integrationen, die Ihre Kunden autorisieren können.
nodestash vs Traditionelle CRMs
Wie eine Headless CRM API im Vergleich zu traditionellen CRM-Plattformen abschneidet.
| Funktion | nodestash | Traditionelle CRMs |
|---|---|---|
| API-first Design | Kernprodukt | Nachgedanke |
| OpenAPI 3.1 Spec | Vollständig | Teilweise oder keine |
| Custom Fields via API | Erstklassig | Eingeschränkt |
| Echtzeit-Webhooks | Alle Events | Ausgewählte Events |
| Cursor-basierte Paginierung | Alle Endpunkte | Inkonsistent |
| Rate-Limit-Header | Jede Antwort | Manchmal |
| Per-Seat-Preise | Nein — nutzungsbasiert | Ja — pro Nutzer |
| Self-Hosting | Docker | Meist nicht |
| UI Vendor Lock-in | Keines — Ihr UI | Hoch |
Bereit, Ihr CRM zu bauen?
Starten Sie mit nodestash in Minuten. Keine Kreditkarte erforderlich.