Dokumentacija

Dokumentacija

Vse, kar potrebujete za integracijo Damperja v svoj izdelek. Dodajte widget za povratne informacije, vgradite javne strani, uporabite API ali povežite AI agente.

Izberite način zbiranja povratnih informacij in glasovanja

Damper podpira gostovane strani, widget v izdelku, vdelave iframe in javne API-je JSON. Začnite z najpreprostejšo možnostjo, ki ustreza okolju, v katerem vaše stranke že delajo.

Priporočena privzeta nastavitev: omogočite obe gostovani tabli

Gostovano tablo povratnih informacij uporabite za zbiranje in razpravo o predlogih, gostovani načrt razvoja pa za prikaz potrjenega napredka. Za zbiranje znotraj izdelka dodajte widget; vdelave ali API-je izberite le, kadar potrebujete prilagojen prikaz.

Možnosti integracije

Način prikaza Možnosti za povratne informacije Možnosti načrta razvoja Identiteta Zahtevnost izvedbe
Hosted tableBrskanje, oddajanje, glasovanje, strani s podrobnostmi in javno komentiranje s preverjanjem e-pošteFiltriranje po stanju, glasovanje podpore, podrobnosti postavk, napredek in samodejna obvestila o izdaji za preverjene podpornikeObiskovalci glasujejo in komentirajo z vnosom svojega e-poštnega naslova. Damper pošlje čarobno povezavo za preverjanje identitete — ustvarjanje računa ni potrebno.Nizka: omogočite in delite ustvarjene povezave
Widget za povratne informacijeWidget za povratne informacije omogoča vašim uporabnikom pošiljanje zahtev za funkcije, poročil o napakah in izboljšav neposredno iz vaše aplikacije.Identificirajte uporabnike za omogočanje ponderiranega glasovanja in sledenje, kdo je poslal povratne informacije. Pokličite metodo identify po naložitvi skripte widgeta.Nizka–srednja: skripta in obvezen klic identify
Vdelave iframeVdelajte pogled povratnih informacij, v katerem lahko identificirani obiskovalci brskajo in glasujejo. Ko morajo obiskovalci tudi oddati nove povratne informacije, uporabite gostovano tablo ali widget.Vgradite svoj načrt razvoja izdelka na katero koli stran. Obiskovalci lahko vidijo načrtovane, tekoče in končane postavke ter glasujejo za tisto, kar jim je pomembno.Parametre identitete posredujte kot poizvedbene parametre URL-ja, da omogočite ponderirano glasovanje in sledenje uporabnikom na vdelanih straneh.Srednja: iframe in podpisani parametri identitete za glasovanje
Javni APIPridobi javne postavke povratnih informacij po slugu projektaPridobi javne postavke načrta razvoja po slugu projektaKončne točke za branje zahtevajo vključeno ustrezno javno možnost projekta. Pri integraciji po meri najprej identificirajte prijavljenega uporabnika s svojega strežnika, nato pa vrnjeni visitorId uporabite za prilagojeno branje in glasovanje. Skrivnost identitete in ustvarjanje zgoščene vrednosti naj ostaneta na strežniku. Hash je neobvezen le, ko je preverjanje identitete za projekt izključeno.Visoka: izdelajte uporabniški vmesnik in tok identifikacije obiskovalca

Priporočena nastavitev projekta

  1. V Nastavitve → Zbiranje omogočite Javne povratne informacije in nastavite uteži glasov glede na naročniški paket.
  2. V Nastavitve → Objavljanje omogočite Javni načrt razvoja. Kandidate v zaostanku ohranite zasebne, dokler se ekipa ne zaveže njihovi izvedbi.
  3. Delite oba gostovana URL-ja. Po potrebi dodajte widget za zbiranje odzivov identificiranih uporabnikov znotraj izdelka.

Widget za povratne informacije

Widget za povratne informacije omogoča vašim uporabnikom pošiljanje zahtev za funkcije, poročil o napakah in izboljšav neposredno iz vaše aplikacije.

Namestitev

Dodajte eno značko script pred zaključno značko body. Zamenjajte YOUR_PROJECT_ID z ID-jem vašega projekta z nadzorne plošče.

<script
  src="https://api.usedamper.com/widget.js"
  data-project-id="YOUR_PROJECT_ID"
></script>
Identifikacija je obvezna

Po prijavi uporabnika pokličite Damper.identify(). Widget ostane skrit, dokler nima preverjenega obiskovalca projekta, zato ostaneta oddani odziv in kontekst stranke povezana.

Konfiguracija

Značka script določa projekt in neobvezni strežnik. Temo, položaj, oznake, vrste povratnih informacij, razpoloženje, priponke in zajem napak nastavite v nastavitvah widgeta projekta v Damperju.

Atribut Privzeto Opis
data-project-idRequiredID projekta, kopiran iz nadzorne plošče Damper
data-server-urlGostovani API DamperNeobvezna preglasitev za samostojno gostovanje ali lokalni razvoj

JavaScript API

Uporabite globalni objekt Damper za identifikacijo uporabnikov, ročno odpiranje widgeta ali neposredno pošiljanje povratnih informacij iz frontenda brez čakanja na klik.

Parameter Privzeto Opis
titleRequiredShort summary shown in the inbox and public board.
descriptionRequiredDetailed context for the request, bug, or question.
typefeatureFeedback type: bug, feature, improvement, or question.
metadata{}Optional structured context attached to the submission.
isPublictrueSet to false to keep script-submitted feedback off the public board.
// Identify the current user after login
await Damper.identify({
  userId: 'user_123',
  email: 'jane@acme.com',
  name: 'Jane Smith',
  plan: 'enterprise',
  tier: 10
})

// Submit feedback directly without opening the widget UI
await Damper.submitFeedback({
  title: 'Export fails on large CSV',
  description: 'The export returns 500 when the report contains more than 10k rows.',
  type: 'bug',
  metadata: { area: 'reports', reportId: 'rpt_123' },
  isPublic: false // Optional: create as private feedback
})

// Open the widget manually when needed
Damper.open()

Identifikacija uporabnikov

Identificirajte uporabnike za omogočanje ponderiranega glasovanja in sledenje, kdo je poslal povratne informacije. Pokličite metodo identify po naložitvi skripte widgeta.

await Damper.identify({
  userId: 'user_123',
  email: 'jane@acme.com',
  name: 'Jane Smith',
  plan: 'enterprise',
  tier: 10,
  userHash: 'hmac_sha256...'
            })
Paket določa težo glasu; raven je ločena

V Nastavitve → Zbiranje določite uteži za posamezne pakete. Paket obiskovalca izbere utež njegovih glasov za povratne informacije in načrt razvoja. Raven ostane ločen signal pomembnosti stranke.

HMAC verifikacija

Za preprečevanje ponarejanja identitete na svojem strežniku ustvarite HMAC-SHA256(identitySecret, userId) in kot userHash posredujte šestnajstiški povzetek z malimi črkami. Skrivnost identitete najdete v nastavitvah projekta.

// Server-side Node.js example
const hash = createHmac('sha256', process.env.DAMPER_IDENTITY_SECRET)
  .update(user.id)
  .digest('hex')

Javni načrt razvoja

Vgradite svoj načrt razvoja izdelka na katero koli stran. Obiskovalci lahko vidijo načrtovane, tekoče in končane postavke ter glasujejo za tisto, kar jim je pomembno.

<iframe
  src="https://usedamper.com/embed/roadmap?project=YOUR_SLUG&account=YOUR_ACCOUNT_ID"
  width="100%"
  height="600"
  frameborder="0"
></iframe>
ParameterOpis
projectSlug vašega projekta (obvezno)
accountIdentifikator računa
themeBarvna tema: auto, light ali dark
accentPrilagojena poudarjena barva (hex brez #, npr. FF5733)
branding=falsePrikaži ali skrij nogo "Powered by Damper"
voting=falsePrikaži ali skrij gumbe za glasovanje

Podrobnosti postavke načrta razvoja

Neposredno povežite do posameznih postavk načrta razvoja. Klik na naslov postavke v vgrajenem načrtu razvoja odpre stran s podrobnostmi s celotnim opisom, podnalogi in glasovanjem.

https://usedamper.com/embed/roadmap-item?project=YOUR_SLUG&account=YOUR_ACCOUNT_ID&item=ITEM_ID

Obvestila o izdaji

Na gostovanem načrtu razvoja obiskovalec s preverjenim e-poštnim naslovom, ki podpre postavko, samodejno spremlja obvestila o njeni izdaji. Iframe trenutno nima ločenega gumba za naročanje.

Javni dnevnik sprememb

Vgradite svoj dnevnik sprememb izdelka, da uporabnike obveščate o novih funkcijah in izboljšavah.

<iframe
  src="https://api.usedamper.com/embed/changelog?project=YOUR_SLUG"
  width="100%"
  height="600"
  frameborder="0"
></iframe>

Javna statusna stran

Objavite statusno stran za projekt z javnimi preverjanji, incidenti, vzdrževanjem, naročninami in po želji lastnimi domenami.

Nastavitev iz delovnega prostora Status

Odprite projekt v nadzorni plošči, pojdite na Status, ustvarite skupine in preverjanja, nato pa v nastavitvah objave vključite javno statusno stran. Navzven so prikazane le javne skupine, preverjanja, incidenti in vzdrževalna okna.

Gostovana statusna stran

Damper ponuja pripravljeno javno statusno stran z imenom projekta, povzetki uptimea, dnevnimi trakovi uptimea, incidenti, vzdrževanjem in prijavo naročnikov.

https://api.usedamper.com/api/public/render/status/YOUR_PROJECT_SLUG?account=YOUR_ACCOUNT_ID

Podprte vrste preverjanj

  • HTTP preverjanja spremljajo URL z GET ali HEAD, timeoutom, pričakovanim razponom statusnih kod in neobveznimi glavami.
  • SSL preverjanja spremljajo veljavnost certifikata in opozorijo pred potekom.
  • Heartbeat preverjanja spremljajo background opravila ali cron procese, ki morajo v določenem intervalu in grace obdobju pingati Damper.

Heartbeat endpoint

Vsako heartbeat preverjanje dobi svoj tokeniziran endpoint. Pokličite ga iz workerja ali cron opravila vsakič, ko se opravilo uspešno zaključi.

curl -X POST "https://api.usedamper.com/api/status/heartbeats/YOUR_HEARTBEAT_TOKEN"

Obvestila naročnikom

Obiskovalci se lahko naročijo neposredno na javni statusni strani. Damper najprej pošlje potrditveni email, nato pa dostavlja javna obvestila o incidentih, okrevanjih, posodobitvah in vzdrževanju.

Lastne domene

V nastavitvah objave projekta lahko nastavite lastno domeno, kot je status.example.com, in jo usmerite na svojo Damper-hostano statusno stran.

status.example.com

Javna tabla povratnih informacij

Vdelajte pogled povratnih informacij, v katerem lahko identificirani obiskovalci brskajo in glasujejo. Ko morajo obiskovalci tudi oddati nove povratne informacije, uporabite gostovano tablo ali widget.

<iframe
  src="https://usedamper.com/embed/feedback?project=YOUR_SLUG&account=YOUR_ACCOUNT_ID"
  width="100%"
  height="600"
  frameborder="0"
></iframe>
Iframe za povratne informacije omogoča le brskanje in glasovanje

Ne vključuje oddajanja povratnih informacij, komentarjev ali strani s podrobnostmi. Za celovito zbiranje povežite gostovano tablo povratnih informacij ali namestite widget.

ParameterOpis
projectSlug vašega projekta (obvezno)
accountIdentifikator računa
themeBarvna tema: auto, light ali dark
accentPrilagojena poudarjena barva (hex brez #, npr. FF5733)
branding=falsePrikaži ali skrij nogo "Powered by Damper"
voting=falsePrikaži ali skrij gumbe za glasovanje

Hosted table

Hosted table so samostojne, popolnoma interaktivne strani, ki jih streže Damper. Ni potreben iframe ali vgrajena koda — samo povežite na URL. Vključujejo glasovanje, filtriranje, razvrščanje, strani s podrobnostmi in preverjanje identitete prek e-pošte.

Tabla povratnih informacij

Celostna interaktivna tabla povratnih informacij, kjer lahko obiskovalci brskajo, oddajajo, glasujejo, odpirajo strani s podrobnostmi in komentirajo.

https://api.usedamper.com/api/public/board/YOUR_SLUG?account=YOUR_ACCOUNT_ID

Tabla načrta razvoja

Celostna interaktivna stran načrta razvoja s filtriranjem po statusu, glasovanjem in stranmi s podrobnostmi postavk.

https://api.usedamper.com/api/public/roadmap-board/YOUR_SLUG?account=YOUR_ACCOUNT_ID

Identiteta in glasovanje

Obiskovalci glasujejo in komentirajo z vnosom svojega e-poštnega naslova. Damper pošlje čarobno povezavo za preverjanje identitete — ustvarjanje računa ni potrebno.

  1. Obiskovalec klikne glasuj ali vnese komentar
  2. Damper zahteva njihov e-poštni naslov
  3. Čarobna povezava se pošlje za preverjanje identitete
  4. Po kliku na povezavo se glasovanje zaključi ali pa se obiskovalec vrne k začeti oddaji oziroma komentarju

Teme

Dodajte theme parameter v URL za prisilni svetli ali temni način. Brez njega tabla sledi sistemski nastavitvi obiskovalca.

Preverjanje pristnosti vdelave

Parametre identitete posredujte kot poizvedbene parametre URL-ja, da omogočite ponderirano glasovanje in sledenje uporabnikom na vdelanih straneh.

https://usedamper.com/embed/roadmap?project=YOUR_SLUG&account=YOUR_ACCOUNT_ID&uid=user_123&email=jane%40acme.com&name=Jane%20Smith&plan=enterprise&hash=HMAC_SHA256
ParameterOpis
uidZunanji ID uporabnika (omogoči preverjanje pristnosti)
emailE-poštni naslov uporabnika
namePrikazno ime uporabnika
planIme uporabnikovega paketa, povezano s projektnimi utežmi glasov glede na paket
hashHMAC-SHA256 povzetek za preverjanje identitete (glejte Identifikacija uporabnikov)
accountIdentifikator računa
HMAC verifikacija

Povzetek se izračuna kot HMAC-SHA256(identitySecret, userId). Skrivnost identitete najdete na nadzorni plošči pod Nastavitve. Navodila za ustvarjanje povzetka na strežniku so v razdelku Identifikacija uporabnikov.

Ko je uid podan, vdelana stran preveri pristnost obiskovalca prek POST /api/public/embed/identify. To omogoči prilagojeno glasovanje in uteževanje glasov glede na uporabnikov paket.

Kako povpraševanje iz povratnih informacij postane prioriteta načrta razvoja

Ko povratno informacijo povišate ali povežete z delom v načrtu razvoja, njeni dokazi strank ostanejo povezani in se znova izračunajo skupaj s postavko načrta.

  • Vsak posamezni obiskovalec se šteje enkrat prek povezanih povratnih informacij in neposredne podpore načrtu razvoja.
  • Če je isti obiskovalec podprl več virov, prispeva le njegova najvišja utež glede na paket.
  • Kandidati v zaostanku so privzeto zasebni in ne pomenijo zaveze. Načrtovano ali aktivno delo jo pomeni.
  • Strateška skladnost, nujnost, zaupanje in vložek ostanejo izrecni produktni dejavniki in niso skriti v povpraševanju strank.

Metrike, prikazane v Damperju

Edinstveni podporniki merijo doseg. Ponderirano povpraševanje uporabi projektne uteži paketov. Ocena prioritete združi normalizirano povpraševanje s strateško skladnostjo, nujnostjo, zaupanjem in vložkom.

priority = (normalized demand + strategic fit + urgency) × confidence ÷ effort

Slack Integration

Connect your Slack workspace to push messages directly into Damper as feedback. Use the "Push to Damper" message shortcut to save any Slack message as a feedback item.

OAuth 2.0 Provider

Create OAuth applications to let external services submit and read feedback from your Damper project. Supports the authorization code flow with optional PKCE.

Creating an OAuth App

Go to your project's Settings > OAuth Apps in the dashboard. Create a new app with a name and redirect URI. You'll receive a client ID and client secret.

Authorization Flow

  1. Redirect the user to the authorization endpoint with your client ID, redirect URI, and requested scopes.
  2. The user approves access on the Damper consent page.
  3. Damper redirects back to your redirect URI with an authorization code.
  4. Exchange the code for an access token via the token endpoint.
Use the OAuth endpoints

OAuth access tokens are only valid for /api/integrations/* or /api/external/* routes. Do not send OAuth tokens to /api/projects/* or /api/agent/*.

Scopes

Scope Description
feedback:writeSubmit feedback to the project
feedback:readRead feedback items and linked roadmap tasks
project:readRead project metadata, widget settings, and resource counts
roadmap:readRead roadmap items and linked feedback relationships
context:readRead project specs and context documentation
changelog:readRead changelog entries and shipped work

Endpoints

Method Path Description
GEThttps://api.usedamper.com/oauth/authorizeAuthorization page (redirect users here)
POSThttps://api.usedamper.com/api/oauth/tokenExchange authorization code for access token
GEThttps://api.usedamper.com/api/integrations/projectGet project metadata for the connected project
GEThttps://api.usedamper.com/api/integrations/roadmapList roadmap items for the connected project
GEThttps://api.usedamper.com/api/integrations/contextList context sections or fetch a specific section
GEThttps://api.usedamper.com/api/integrations/changelogList changelog entries for the connected project
POSThttps://api.usedamper.com/api/integrations/feedbackSubmit feedback using OAuth access token
GEThttps://api.usedamper.com/api/integrations/feedback/:idGet a feedback item with linked roadmap tasks

Canonical token response

Damper returns a stable snake_case token payload. Treat the following fields as the canonical response contract.

{
  "access_token": "dat_...",
  "token_type": "Bearer",
  "expires_in": 2592000,
  "scope": "feedback:read project:read roadmap:read context:read changelog:read",
  "project_id": "proj_123"
}
Refresh tokens

Damper OAuth currently returns only an access token. Refresh tokens are not supported at this time.

Auth error responses

OAuth auth failures return structured error codes so integrations can distinguish invalid tokens, insufficient scope, and incorrect route usage.

{
  "error": "Invalid or expired token",
  "code": "oauth_token_invalid"
}

{
  "error": "Insufficient scope. Required: roadmap:read",
  "code": "oauth_insufficient_scope",
  "requiredScope": "roadmap:read"
}

{
  "error": "OAuth access tokens can only be used with /api/integrations/* or /api/external/* endpoints.",
  "code": "oauth_wrong_endpoint",
  "allowedPrefixes": ["/api/integrations/", "/api/external/"]
}

Integration examples

Use these example calls as your starting point for third-party integrations.

GET /api/integrations/project

curl -H "Authorization: Bearer dat_..." \
  "https://api.usedamper.com/api/integrations/project"

GET /api/integrations/roadmap

curl -H "Authorization: Bearer dat_..." \
  "https://api.usedamper.com/api/integrations/roadmap?status=planned&limit=20"

GET /api/integrations/context

curl -H "Authorization: Bearer dat_..." \
  "https://api.usedamper.com/api/integrations/context"

curl -H "Authorization: Bearer dat_..." \
  "https://api.usedamper.com/api/integrations/context/specs%2Foauth-dashboard"

GET /api/integrations/changelog

curl -H "Authorization: Bearer dat_..." \
  "https://api.usedamper.com/api/integrations/changelog?status=published&limit=10"

Prilagojene HTML in Markdown strani

Poleg iframe vgradenj lahko pridobite svoje javne strani kot surovi HTML ali Markdown. Uporabite jih za poln nadzor nad obliko ali za integracijo z generatorji statičnih strani.

Razpoložljivi tipi strani

  • roadmap
  • changelog
  • feedback
  • status
https://api.usedamper.com/api/public/render/status/YOUR_PROJECT_SLUG
https://api.usedamper.com/api/public/render/status/YOUR_PROJECT_SLUG?format=md

Javni API

Programsko dostopajte do podatkov svojega projekta. Javne končne točke ne zahtevajo avtentikacije. Avtenticirane končne točke uporabljajo Bearer žeton iz vaše nadzorne plošče.

Javne končne točke

MetodaPotOpis
GET/api/public/feedback/:slugPridobi javne postavke povratnih informacij po slugu projekta
POST/api/public/embed/identifyUstvari ali posodobi obiskovalca projekta in vrne ID obiskovalca za glasovanje
POST/api/public/feedback/voteGlasuj za javno postavko povratnih informacij
GET/api/public/roadmap/:slugPridobi javne postavke načrta razvoja po slugu projekta
GET/api/public/roadmap/:slug/items/:itemIdPridobi posamezno javno postavko načrta razvoja po slugu in ID-ju
POST/api/public/roadmap/voteGlasuj za javno postavko načrta razvoja
Javno branje ne potrebuje žetona Bearer; glasovanje zahteva preverjenega obiskovalca

Končne točke za branje zahtevajo vključeno ustrezno javno možnost projekta. Pri integraciji po meri najprej identificirajte prijavljenega uporabnika s svojega strežnika, nato pa vrnjeni visitorId uporabite za prilagojeno branje in glasovanje. Skrivnost identitete in ustvarjanje zgoščene vrednosti naj ostaneta na strežniku. Hash je neobvezen le, ko je preverjanje identitete za projekt izključeno.

# Identify the signed-in user from your server. Generate HASH with the
# identity secret as shown in User Identification above.
curl -X POST "https://api.usedamper.com/api/public/embed/identify" \
  -H "Content-Type: application/json" \
  -d '{"projectSlug":"YOUR_SLUG","accountId":"YOUR_ACCOUNT_ID","userId":"user_123","email":"jane@acme.com","name":"Jane Smith","plan":"enterprise","hash":"HASH"}'

# Response: {"visitorId":"VISITOR_ID","votedItemIds":[]}
# Use visitorId for personalized reads and votes.
curl "https://api.usedamper.com/api/public/roadmap/YOUR_SLUG?account=YOUR_ACCOUNT_ID&visitor_id=VISITOR_ID"

curl -X POST "https://api.usedamper.com/api/public/roadmap/vote" \
  -H "Content-Type: application/json" \
  -d '{"roadmapItemId":"ITEM_ID","visitorId":"VISITOR_ID"}'

curl -X POST "https://api.usedamper.com/api/public/feedback/vote" \
  -H "Content-Type: application/json" \
  -d '{"feedbackId":"FEEDBACK_ID","visitorId":"VISITOR_ID"}'

Avtentikacija

Za avtenticirane končne točke posredujte svoj API ključ v glavi Authorization.

Authorization: Bearer dmp_your_api_key

Statusne končne točke

Uporabite javni status API za pridobivanje trenutnih stanj preverjanj, grupiranih komponent, incidentov, vzdrževanja in zgodovine uptimea za projekt.

curl "https://api.usedamper.com/api/public/status/YOUR_PROJECT_SLUG?account=YOUR_ACCOUNT_ID"
Heartbeat ingestija

Heartbeat preverjanja uporabljajo tokeniziran javni endpoint. Iz crona ali workerja pošljite POST, ko se opravilo uspešno zaključi.

Strežniška ingestija napak

Uporabite API ključ Damper, ko želite iz zaledja ali workerja pošiljati grupirane dnevnike napak v Inbox. API ključi uporabljajo predpono dmp_ in jih ustvarite v Settings > API Keys.

Ingest backend napak z API ključem

Ključi, vezani na projekt, lahko endpoint kličejo neposredno. Ključi na ravni računa morajo URL-ju dodati ?project_id=YOUR_PROJECT_ID.

curl -X POST \
  -H "Authorization: Bearer dmp_..." \
  -H "Content-Type: application/json" \
  "https://api.usedamper.com/api/ingest/errors?project_id=proj_123" \
  -d '{
    "rawLog": "Error: connect ECONNREFUSED 127.0.0.1:5432\\n    at connect (db.js:42:11)",
    "occurredAt": "2026-03-11T10:12:34.000Z",
    "hints": {
      "service": "api",
      "environment": "production",
      "severity": "error"
    }
  }'

Strežniška ingestija dnevnikov

Uporabite ingest endpoint za pošiljanje redigiranih skupin strežniških napak v Damper. Ingestirane napake se prikažejo v internem delovnem prostoru Logs, kjer lahko ekipa pregleda strukturiran kontekst in iz dnevniške skupine odpre interno napako.

Omejitve hitrosti in velikosti payloadov

Endpoint je omejen po API ključu in projektu, celotno telo zahtevka je omejeno na 64 KB, strukturiran kontekst pa se pred shranjevanjem omeji in redigira. Odgovore 429 obravnavajte z backoff ponovitvami.

curl -X POST \
  -H "Authorization: Bearer dmp_..." \
  -H "Content-Type: application/json" \
  "https://api.usedamper.com/api/ingest/errors?project_id=proj_123" \
  -d '{
    "rawLog": "TypeError: Cannot read properties of undefined\\n    at handler (server.js:10:4)",
    "occurredAt": "2026-03-11T10:05:00.000Z",
    "hints": {
      "service": "worker",
      "environment": "production",
      "severity": "error"
    },
    "fingerprint": "jobs:critical-timeout",
    "context": {
      "request": {
        "method": "POST",
        "path": "/api/jobs/run"
      },
      "job": {
        "id": "job_123",
        "queue": "critical"
      }
    }
  }'
{
  "feedbackId": "fb_123",
  "action": "created",
  "source": "backend",
  "feedbackStatus": "new",
  "title": "worker: TypeError: Cannot read properties of undefined",
  "dedupeKey": "sha256...",
  "occurrenceCount": 1,
  "firstOccurredAt": "2026-03-11T10:05:00.000Z",
  "lastOccurredAt": "2026-03-11T10:05:00.000Z",
  "aiTriageScheduled": true
}
curl -X POST \
  -H "Authorization: Bearer dmp_..." \
  -H "Content-Type: application/json" \
  "https://api.usedamper.com/api/ingest/errors/batch?project_id=proj_123" \
  -d '{
    "events": [
      {
        "rawLog": "Error: queue timeout\\n    at run (worker.js:14:3)",
        "fingerprint": "queue:timeout",
        "hints": {
          "service": "worker",
          "environment": "production",
          "severity": "error"
        }
      },
      {
        "rawLog": "Error: queue timeout\\n    at run (worker.js:14:3)",
        "fingerprint": "queue:timeout",
        "hints": {
          "service": "worker",
          "environment": "production",
          "severity": "error"
        }
      }
    ]
  }'
  • Projektni API ključi lahko kličejo /api/ingest/errors neposredno. Ključi na ravni računa morajo poslati tudi query parameter project_id.
  • Telo zahtevka podpira rawLog, occurredAt, hints, neobvezen fingerprint za prilagojeno grupiranje in neobvezen context objekt za strukturirane metapodatke.
  • Damper redigira pogoste skrivnosti, skrajša prevelike vrednosti in shrani samo omejen redigiran kontekstni objekt.
  • Ekvivalentne napake se agregirajo v isto dnevniško skupino z dedupe podpisom namesto ustvarjanja podvojenih elementov.
  • Pri večjem prometu na vaši strani uporabite vzorčenje ali batching, pošiljajte stabilne hints za service in environment ter na 429 odgovore ponavljajte z eksponentnim backoffom.
  • Prilagojeni fingerprinti omogočajo združevanje hrupnih variant v eno operativno težavo, kadar bi jih privzeto parserjsko grupiranje razdelilo.
  • Po ingestiji lahko skupine dnevnikov neposredno v delovnem prostoru Logs dodelite, utišate, odložite ali jih pretvorite v interno napako.
  • Uporabite /api/ingest/errors/batch, kadar morajo workerji poslati več grupiranih napak v eni zahtevi. Batch se v celoti validira vnaprej in ostane pod isto omejitvijo 64 KB za zahtevek.

CLI

Damper CLI ustvari git delovna drevesa za vsako nalogo, vnese celoten kontekst naloge in zažene Claude Code — da AI agenti začnejo z vsem, kar potrebujejo.

npx @damper/cli setup
npx @damper/cli

AI izvajanje (MCP)

Povežite Claude Code, Cursor ali kateri koli MCP-združljiv AI asistent s svojim Damper projektom. AI agenti lahko prevzemajo naloge, sledijo napredku in samostojno označijo delo kot končano.

{
  "mcpServers": {
    "damper": {
      "type": "http",
      "url": "https://api.usedamper.com/mcp",
      "headers": {
        "Authorization": "Bearer dmp_..."
      }
    }
  }
}