Dokumentacija

Dokumentacija

Sve što vam je potrebno za integraciju Dampera u vaš proizvod. Dodajte widget za povratne informacije, ugradite javne stranice, koristite API ili povežite AI agente.

Odaberite način prikupljanja povratnih informacija i glasanja

Damper podržava hostane stranice, widget unutar proizvoda, iframe ugradnje i javne JSON API-je. Počnite s najjednostavnijom opcijom koja odgovara mjestu na kojem vaši korisnici već rade.

Preporučena zadana postavka: uključite obje hostane ploče

Hostanu ploču povratnih informacija koristite za prikupljanje i raspravu o zahtjevima, a hostani roadmap za prikaz dogovorenog napretka. Dodajte widget za prikupljanje unutar proizvoda; ugradnje ili API-je odaberite samo kada trebate prilagođeni prikaz.

Opcije integracije

Način prikaza Mogućnosti povratnih informacija Mogućnosti roadmapa Identitet Zahtjevnost implementacije
Hosted pločePregledavanje, slanje, glasanje, stranice s detaljima i javno komentiranje uz provjeru e-pošteFiltriranje po statusu, glasanje podrške, detalji stavki, napredak i automatske obavijesti o isporuci za potvrđene podržavateljePosjetitelji glasuju i komentiraju unosom svoje e-mail adrese. Damper šalje magic link za provjeru identiteta — nije potrebno kreiranje računa.Niska: uključite i podijelite generirane poveznice
Widget za povratne informacijeWidget za povratne informacije omogućuje vašim korisnicima slanje zahtjeva za značajke, prijava grešaka i poboljšanja izravno iz vaše aplikacije.Identificirajte korisnike za omogućavanje ponderiranog glasanja i praćenje tko je poslao povratne informacije. Pozovite metodu identify nakon učitavanja skripte widgeta.Niska–srednja: skripta i obavezan poziv identify
Iframe ugradnjeUgradite prikaz povratnih informacija u kojem identificirani posjetitelji mogu pregledavati i glasati. Kada posjetitelji trebaju i slati nove povratne informacije, koristite hostanu ploču ili widget.Ugradite svoj roadmap proizvoda na bilo koju stranicu. Posjetitelji mogu vidjeti planirane, tekuće i završene stavke te glasovati za ono što im je važno.Parametre identiteta proslijedite kao parametre URL upita kako biste omogućili ponderirano glasanje i praćenje korisnika na ugrađenim stranicama.Srednja: iframe i potpisani parametri identiteta za glasanje
Javni APIDohvati javne stavke povratnih informacija po slugu projektaDohvati javne stavke roadmapa po slugu projektaEndpointi za čitanje zahtijevaju uključenu odgovarajuću javnu opciju projekta. Za prilagođenu integraciju najprije identificirajte prijavljenog korisnika sa svog servera, a zatim koristite vraćeni visitorId za personalizirano čitanje i glasanje. Tajnu identiteta i generiranje hasha zadržite na serveru. Hash je opcionalan samo kada je provjera identiteta isključena za projekt.Visoka: izradite korisničko sučelje i tijek identifikacije posjetitelja

Preporučena postavka projekta

  1. U Postavke → Prikupljanje uključite Javne povratne informacije i postavite težine glasova prema pretplatničkom planu.
  2. U Postavke → Objavljivanje uključite Javni roadmap. Kandidate u backlogu zadržite privatnima dok se tim ne obveže na njihovu izvedbu.
  3. Podijelite oba hostana URL-a. Po potrebi dodajte widget za prikupljanje od identificiranih korisnika unutar proizvoda.

Widget za povratne informacije

Widget za povratne informacije omogućuje vašim korisnicima slanje zahtjeva za značajke, prijava grešaka i poboljšanja izravno iz vaše aplikacije.

Instalacija

Dodajte jednu script oznaku prije zatvarajuće body oznake. Zamijenite YOUR_PROJECT_ID s ID-om vašeg projekta s nadzorne ploče.

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

Nakon prijave korisnika pozovite Damper.identify(). Widget ostaje skriven dok nema provjerenog posjetitelja projekta kako bi poslani odgovor ostao povezan s kontekstom korisnika.

Konfiguracija

Oznaka script odabire projekt i opcionalni poslužitelj. Temu, položaj, oznake, vrste povratnih informacija, raspoloženje, privitke i hvatanje grešaka postavite u postavkama widgeta projekta u Damperu.

Atribut Zadano Opis
data-project-idRequiredID projekta kopiran iz nadzorne ploče Damper
data-server-urlHostani API DamperOpcionalna zamjena za samostalno hostanje ili lokalni razvoj

JavaScript API

Koristite globalni objekt Damper za identifikaciju korisnika, ručno otvaranje widgeta ili izravno slanje povratnih informacija iz frontenda bez čekanja na klik.

Parametar Zadano 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 korisnika

Identificirajte korisnike za omogućavanje ponderiranog glasanja i praćenje tko je poslao povratne informacije. Pozovite metodu identify nakon učitavanja skripte widgeta.

await Damper.identify({
  userId: 'user_123',
  email: 'jane@acme.com',
  name: 'Jane Smith',
  plan: 'enterprise',
  tier: 10,
  userHash: 'hmac_sha256...'
            })
Plan određuje težinu glasa; razina je odvojena

U Postavke → Prikupljanje postavite težine za pojedine planove. Plan posjetitelja odabire težinu njegovih glasova za povratne informacije i roadmap. Razina ostaje odvojeni signal važnosti korisnika.

HMAC verifikacija

Kako biste spriječili krivotvorenje identiteta, na svom poslužitelju generirajte HMAC-SHA256(identitySecret, userId) i kao userHash proslijedite heksadecimalni sažetak malim slovima. Tajnu identiteta pronađite u postavkama projekta.

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

Javni roadmap

Ugradite svoj roadmap proizvoda na bilo koju stranicu. Posjetitelji mogu vidjeti planirane, tekuće i završene stavke te glasovati za ono što im je važno.

<iframe
  src="https://usedamper.com/embed/roadmap?project=YOUR_SLUG&account=YOUR_ACCOUNT_ID"
  width="100%"
  height="600"
  frameborder="0"
></iframe>
ParametarOpis
projectSlug vašeg projekta (obavezno)
accountIdentifikator računa
themeTema boja: auto, light ili dark
accentPrilagođena naglasna boja (hex bez #, npr. FF5733)
branding=falsePrikaži ili sakrij podnožje "Powered by Damper"
voting=falsePrikaži ili sakrij gumbe za glasanje

Detalji stavke roadmapa

Izravno povežite na pojedinačne stavke roadmapa. Klik na naslov stavke u ugrađenom roadmapu otvara stranicu s detaljima s punim opisom, podzadacima i glasanjem.

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

Obavijesti o isporuci

Na hostanom roadmapu posjetitelj s potvrđenom e-mail adresom koji podrži stavku automatski prati obavijesti o njezinoj isporuci. Iframe trenutačno nema zasebnu kontrolu za pretplatu.

Javni dnevnik promjena

Ugradite svoj dnevnik promjena proizvoda kako biste korisnike informirali o novim značajkama i poboljšanjima.

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

Javna status stranica

Objavite status stranicu po projektu s javnim provjerama, incidentima, održavanjem, pretplatama i opcionalnim custom domenama.

Postavljanje iz Status workspacea

Otvorite projekt u nadzornoj ploči, idite na Status, kreirajte grupe i provjere, a zatim uključite javnu status stranicu u publishing postavkama. Izvana se prikazuju samo javne grupe, provjere, incidenti i periodi održavanja.

Hostana status stranica

Damper poslužuje gotovu javnu status stranicu s imenom projekta, sažecima uptimea, dnevnim uptime trakama, incidentima, održavanjem i prijavom pretplatnika.

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

Podržane vrste provjera

  • HTTP provjere nadziru URL putem GET ili HEAD zahtjeva, timeouta, očekivanog statusnog raspona i opcionalnih zaglavlja.
  • SSL provjere nadziru valjanost certifikata i upozoravaju prije isteka.
  • Heartbeat provjere nadziru pozadinske poslove ili cron zadatke koji moraju pingati Damper unutar konfiguriranog intervala i grace perioda.

Heartbeat endpoint

Svaka heartbeat provjera dobiva jedinstveni tokenizirani endpoint. Pozovite ga iz workera ili cron zadatka svaki put kada posao uspješno završi.

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

Obavijesti pretplatnicima

Posjetitelji se mogu pretplatiti izravno na javnoj status stranici. Damper prvo šalje email za potvrdu, a zatim isporučuje javne obavijesti o incidentima, oporavcima, ažuriranjima i održavanju.

Custom domene

Možete dodijeliti custom domenu kao što je status.example.com u publishing postavkama projekta i usmjeriti je na Damper-hostanu status stranicu.

status.example.com

Javna ploča povratnih informacija

Ugradite prikaz povratnih informacija u kojem identificirani posjetitelji mogu pregledavati i glasati. Kada posjetitelji trebaju i slati nove povratne informacije, koristite hostanu ploču ili 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 služi samo za pregledavanje i glasanje

Ne uključuje slanje povratnih informacija, komentare ni stranice s detaljima. Za potpuno iskustvo prikupljanja povežite hostanu ploču povratnih informacija ili instalirajte widget.

ParametarOpis
projectSlug vašeg projekta (obavezno)
accountIdentifikator računa
themeTema boja: auto, light ili dark
accentPrilagođena naglasna boja (hex bez #, npr. FF5733)
branding=falsePrikaži ili sakrij podnožje "Powered by Damper"
voting=falsePrikaži ili sakrij gumbe za glasanje

Hosted ploče

Hosted ploče su samostalne, potpuno interaktivne stranice koje poslužuje Damper. Nije potreban iframe ili embed kod — samo povežite na URL. Uključuju glasanje, filtriranje, sortiranje, stranice s detaljima i provjeru identiteta putem e-pošte.

Ploča povratnih informacija

Interaktivna ploča povratnih informacija na cijeloj stranici na kojoj posjetitelji mogu pregledavati, slati, glasati, otvarati detalje i komentirati.

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

Ploča roadmapa

Interaktivna roadmap stranica s filtriranjem po statusu, glasanjem i stranicama s detaljima stavki.

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

Identitet i glasanje

Posjetitelji glasuju i komentiraju unosom svoje e-mail adrese. Damper šalje magic link za provjeru identiteta — nije potrebno kreiranje računa.

  1. Posjetitelj klikne glasaj ili unese komentar
  2. Damper traži njihovu e-mail adresu
  3. Magic link se šalje za provjeru identiteta
  4. Nakon klika na poveznicu glasanje se dovršava ili se posjetitelj vraća započetom slanju odnosno komentaru

Teme

Dodajte theme parametar u URL za prisilni svijetli ili tamni način rada. Bez njega, ploča prati sistemsku postavku posjetitelja.

Autentikacija ugradnje

Parametre identiteta proslijedite kao parametre URL upita kako biste omogućili ponderirano glasanje i praćenje korisnika na ugrađenim stranicama.

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
ParametarOpis
uidVanjski ID korisnika (omogućuje autentikaciju)
emailE-mail adresa korisnika
namePrikazno ime korisnika
planNaziv korisničkog plana povezan s projektnim težinama glasova prema planu
hashHMAC-SHA256 sažetak za provjeru identiteta (pogledajte Identifikacija korisnika)
accountIdentifikator računa
HMAC verifikacija

Sažetak se računa kao HMAC-SHA256(identitySecret, userId). Tajnu identiteta pronađite na nadzornoj ploči pod Postavke. Upute za generiranje sažetka na poslužitelju nalaze se u odjeljku Identifikacija korisnika.

Kada je uid naveden, ugrađena stranica autentificira posjetitelja putem POST /api/public/embed/identify. To omogućuje personalizirano glasanje i ponderiranje glasova prema korisničkom planu.

Kako potražnja iz povratnih informacija postaje prioritet roadmapa

Kada povratnu informaciju promovirate ili povežete s radom na roadmapu, njezini dokazi korisnika ostaju povezani i ponovno se izračunavaju sa stavkom roadmapa.

  • Svaki pojedinačni posjetitelj broji se jednom kroz povezane povratne informacije i izravnu podršku roadmapu.
  • Ako je isti posjetitelj podržao više izvora, doprinosi samo njegova najveća težina prema planu.
  • Kandidati u backlogu zadano ostaju privatni i ne predstavljaju obvezu. Planirani ili aktivni rad je predstavlja.
  • Strateška usklađenost, hitnost, pouzdanost i trud ostaju izričiti produktni čimbenici umjesto da budu skriveni u potražnji korisnika.

Metrike prikazane u Damperu

Jedinstveni podržavatelji mjere doseg. Ponderirana potražnja primjenjuje projektne težine planova. Ocjena prioriteta spaja normaliziranu potražnju sa strateškom usklađenošću, hitnošću, pouzdanošću i trudom.

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"

Prilagođene HTML i Markdown stranice

Osim iframe ugradnji, možete dohvatiti svoje javne stranice kao sirovi HTML ili Markdown. Koristite ih za potpunu kontrolu dizajna ili za integraciju s generatorima statičnih stranica.

Dostupne vrste stranica

  • 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

Programski pristupite podacima svog projekta. Javni endpointi ne zahtijevaju autentikaciju. Autenticirani endpointi koriste Bearer token s vaše nadzorne ploče.

Javni endpointi

MetodaPutanjaOpis
GET/api/public/feedback/:slugDohvati javne stavke povratnih informacija po slugu projekta
POST/api/public/embed/identifyStvori ili ažuriraj posjetitelja projekta i vrati ID posjetitelja koji se koristi za glasanje
POST/api/public/feedback/voteGlasaj za javnu stavku povratnih informacija
GET/api/public/roadmap/:slugDohvati javne stavke roadmapa po slugu projekta
GET/api/public/roadmap/:slug/items/:itemIdDohvati pojedinačnu javnu stavku roadmapa po slugu i ID-ju
POST/api/public/roadmap/voteGlasaj za javnu stavku roadmapa
Javno čitanje ne treba Bearer token; glasanje zahtijeva potvrđenog posjetitelja

Endpointi za čitanje zahtijevaju uključenu odgovarajuću javnu opciju projekta. Za prilagođenu integraciju najprije identificirajte prijavljenog korisnika sa svog servera, a zatim koristite vraćeni visitorId za personalizirano čitanje i glasanje. Tajnu identiteta i generiranje hasha zadržite na serveru. Hash je opcionalan samo kada je provjera identiteta isključena za projekt.

# 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"}'

Autentikacija

Za autenticirane endpointe proslijedite svoj API ključ u Authorization zaglavlju.

Authorization: Bearer dmp_your_api_key

Status endpointi

Koristite javni status API za dohvat trenutnih stanja provjera, grupiranih komponenti, incidenata, održavanja i povijesti uptimea za projekt.

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

Heartbeat provjere koriste tokenizirani javni endpoint. Pošaljite POST iz crona ili workera kada posao uspješno završi.

Serverski unos grešaka

Koristite Damper API ključ kada backend ili worker želi slati grupirane logove grešaka u Inbox. API ključevi koriste prefiks dmp_ i stvaraju se u Settings > API Keys.

Unesi backend greške API ključem

Ključevi scoped na projekt mogu zvati endpoint izravno. Account-scoped ključevi moraju dodati ?project_id=YOUR_PROJECT_ID u URL zahtjeva.

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"
    }
  }'

Serverski unos logova

Koristite ingest endpoint za slanje redigiranih grupa serverskih grešaka u Damper. Unesene greške pojavljuju se u internom Logs workspaceu, gdje tim može pregledati strukturirani kontekst i otvoriti internu grešku iz log grupe.

Ograničenja brzine i veličine payloada

Endpoint je ograničen po API ključu i projektu, cijelo tijelo zahtjeva ograničeno je na 64 KB, a strukturirani kontekst se prije spremanja ograničava i redigira. Obradite 429 odgovore s retry backoffom.

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"
        }
      }
    ]
  }'
  • API ključevi na razini projekta mogu pozivati /api/ingest/errors izravno. Ključevi na razini računa moraju poslati i query parametar project_id.
  • Tijelo zahtjeva podržava rawLog, occurredAt, hints, opcionalni fingerprint override za prilagođeno grupiranje i opcionalni context objekt za strukturirane metapodatke.
  • Damper redigira uobičajene tajne, skraćuje prevelike vrijednosti i sprema samo ograničeni redigirani context objekt.
  • Ekvivalentne greške agregiraju se u istu log grupu pomoću dedupe potpisa umjesto stvaranja duplikata.
  • Pod većim prometom koristite batching ili sampling na svojoj strani, šaljite stabilne hints za service i environment te ponavljajte 429 odgovore s eksponencijalnim backoffom.
  • Prilagođeni fingerprinti omogućuju spajanje bučnih varijanti u jedan operativni problem kada bi ih zadano parser-grupiranje razdvojilo.
  • Nakon ingestije log grupe se mogu dodijeliti, utišati, odgoditi ili pretvoriti u internu grešku izravno iz Logs workspacea.
  • Koristite /api/ingest/errors/batch kada workeri trebaju poslati više grupiranih grešaka u jednom zahtjevu. Batch se unaprijed validira i ostaje pod istim ograničenjem od 64 KB po zahtjevu.

CLI

Damper CLI stvara git radna stabla za svaki zadatak, ubacuje puni kontekst zadatka i pokreće Claude Code — tako da AI agenti započinju sa svime što trebaju.

npx @damper/cli setup
npx @damper/cli

AI izvršavanje (MCP)

Povežite Claude Code, Cursor ili bilo koji MCP-kompatibilni AI asistent s vašim Damper projektom. AI agenti mogu preuzimati zadatke, pratiti napredak i autonomno označavati rad završenim.

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