DM Champ Docs

Kom godt i gang med API’en

DM Champ REST API’en giver dig mulighed for at bygge din egen integration oven på din konto. Du kan oprette og slå kontakter op, administrere kampagner, ofte stillede spørgsmål, opgaver og aftaler, sende beskeder, registrere webhooks, læse analyser og forbinde beskedkanaler — alt det, som dashboardet gør, styret af kode.

Dette er hovedsiden for API-dokumentationen. Hvis du forbinder DM Champ til et værktøj, der allerede har en indbygget integration, har du muligvis slet ikke brug for API’en. API’en er beregnet til tilpassede integrationer og automatisering i stor skala.

Bemærk: Disse sider er skrevet til udviklere. Hvis du ikke er udvikler, bør du dele dette afsnit med dit tekniske team.


Basis-URL

Alle anmodninger går til den samme base-webadresse, og alle stier i disse dokumenter er relative i forhold til den:

https://api.dmchamp.com/v1

Så AI Agents-slutpunktet er https://api.dmchamp.com/v1/agents, kontakt-slutpunktet er https://api.dmchamp.com/v1/contacts, og så videre.

Alle anmodninger skal bruge en sikker forbindelse (HTTPS). Almindelige HTTP-anmodninger afvises.


Sådan får du en API-nøgle

API-adgang er en betalt funktion. Hvis dit abonnement ikke inkluderer den, returnerer hver anmodning en 403 med denne brødtekst:

{
  "success": false,
  "error_code": 403,
  "error": "This action requires the \"api_access\" feature, which is not enabled for this account."
}

Når API-adgang er aktiveret på dit abonnement, kan du generere en nøgle fra dashboardet. Den fulde trin-for-trin-vejledning findes i API-adgang — kort fortalt: gå til Indstillinger → Integrationer → API-nøgle for at generere eller gendanne din nøgle. API-nøgle er sin egen sektion under Integrationer, adskilt fra Webhooks, og den vises kun, når API-adgang er inkluderet i dit abonnement. Behandl nøglen som en adgangskode: den giver fuld adgang til din konto.


Godkendelse

Du kan sende din API-nøgle på fire måder. De virker alle på ethvert endpoint, der accepterer API-nøgle-godkendelse.

Metode Hvordan Bedst til
Forespørgselsparameter ?apiKey=YOUR_API_KEY Hurtige tests, browser-URL’er, ældre opsætninger
Header X-API-Key: YOUR_API_KEY Produktionsintegrationer
Bearer-header Authorization: Bearer YOUR_API_KEY Produktionsintegrationer
Firebase ID-token Authorization: Bearer <ID token> Kun sessioner i førsteparts-apps

Til produktion bør du foretrække en af header-formerne, så din nøgle aldrig ender i en serverlog eller browserhistorik. Forespørgselsparameter-formen virker altid og er den enkleste til en engangstest.

Se Godkendelse for en fuldstændig gennemgang af hver metode, med eksempler og vejledning i, hvornår du skal bruge hvad.


Din første anmodning

Her er et komplet, fungerende kald, der viser AI-agenterne på din konto. Det bruger din API-nøgle og returnerer en kort række pr. agent, nyeste først.

cURL

curl "https://api.dmchamp.com/v1/agents?apiKey=YOUR_API_KEY&view=summary"

JavaScript

const res = await fetch("https://api.dmchamp.com/v1/agents?view=summary", {
  headers: {
    "X-API-Key": "YOUR_API_KEY",
  },
});

const data = await res.json();
console.log(data.agents);

Python

import requests

res = requests.get(
    "https://api.dmchamp.com/v1/agents",
    params={"view": "summary"},
    headers={"X-API-Key": "YOUR_API_KEY"},
)

data = res.json()
print(data["agents"])

Et vellykket svar ser således ud:

{
  "success": true,
  "campaigns": [
    {
      "id": "NBCXrhqGPSFsd6MV7pRo",
      "name": "Inbound WhatsApp Leads",
      "type": "Incoming from Unknown Contacts",
      "status": "Live",
      "enabled": true,
      "archived": false,
      "created_at": 1700000000000,
      "ai_mode": true,
      "language": "en",
      "enabled_channels": ["whatsapp", "instagram"]
    }
  ],
  "next_cursor": null
}

Succes- og fejlbeskeder

Hvert JSON-svar indeholder et success-flag, så du kan forgrene din logik baseret på det uden at skulle parse statuskoder.

Et vellykket svar er success: true plus dataene for det pågældende slutpunkt (feltnavnet varierer — campaigns, contacts, data osv.):

{
  "success": true,
  "campaigns": []
}

Et mislykket svar er success: false med en læsbar error-besked og en numerisk error_code, der svarer til HTTP-statuskoden:

{
  "success": false,
  "error": "Invalid cursor",
  "error_code": 400
}

Tjek altid success (eller HTTP-statuskoden), før du læser dataene. Se Fejl & Sidetal for den fulde tabel over statuskoder og hvordan du navigerer gennem store resultatsæt.


Hastighedsbegrænsninger

Autentificerede anmodninger er begrænset til 300 anmodninger pr. minut pr. API-nøgle. Der er også et bredere loft på 1.200 anmodninger pr. minut pr. konto, som tæller alle autentificerede anmodninger foretaget for den pågældende konto.

Bureauer: det andet tal er det, du skal planlægge ud fra. Anmodninger, du foretager med din bureau-nøgle, tælles mod din bureaukonto, selv når de er rettet mod en underkonto med sub_account_id, så en provisioning-spidsbelastning på tværs af mange klienter deler ét budget. Hvis en klient har brug for sit eget budget, skal du bruge den pågældende underkontos egen API-nøgle.

Hvis du overskrider en af grænserne, får du et 429 svar:

{
  "success": false,
  "error_code": 429,
  "error": "Rate limit exceeded. Please try again later."
}

Hold en pause og prøv igen efter kort tid. Du kan også til enhver tid tjekke dit aktuelle forbrug med GET https://api.dmchamp.com/v1/api-keys/usage, som returnerer, hvor mange anmodninger du har brugt i det nuværende vindue, og hvornår det nulstilles — nyttigt til at opbygge klient-side begrænsning (throttling). Se API-nøgler.


Ressourcevejledninger

Ressourcegrupperne nedenfor har hver deres guide med de præcise stier, anmodningsfelter og svarformater.

Ressource Hvad den dækker
AI-agenter Opret og konfigurer AI-agenter: indstillinger, aktive timer, viden, tag-regler, værktøjer, medier og kladder
Indgangspunkter Beslut hvilken AI-agent der skal besvare en ny samtale: kanalstandarder, én agent pr. WhatsApp-nummer, søgeord, kommentar- og følgerregler
Udsendelser Opret, prissæt, start, sæt på pause og dupliker engangsudsendelser til en kontaktliste
Kampagner Opret, opdater, dupliker, aktiver, arkiver og inspicer kampagner og deres bot-konfiguration
Kontakter Opret, søg, list, opdater, importer, tag og slet kontakter
Ofte stillede spørgsmål Administrer de spørgsmål-og-svar-poster, som din AI-assistent bruger, og link dem til kampagner
Vidensbase Importer hjemmesider og dokumenter til din AI’s viden og saml ofte stillede spørgsmål i grupper
Opgaver Opret og administrer CRM-opgaver, tavlestadier og opgavetyper
Beskeder Send udgående beskeder og læs samtaleloggens historik
Aftaler Book, ombook, annuller og slet aftaler
Kanaler Tilslut og afbryd beskedkanaler, køb numre og indstil hvilken AI-agent der skal besvare nye samtaler på hver kanal
Skabeloner Opret, indsend og tjek godkendelsesstatus for WhatsApp-beskedskabeloner
Analyse Læs daglig statistik over beskedhændelser, kreditforbrug og AI-omkostningsopgørelser
Webhooks Registrer slutpunkter for at modtage notifikationer om hændelser i realtid
Team Administrer teammedlemmer, invitationer, roller, tilladelser og afdelinger
API-nøgler Inspicer, roter og tilbagekald din API-nøgle, tjek forbrug af hastighedsbegrænsninger og opret ekstra nøgler med begrænset adgang

Agenter, indgangspunkter og udsendelser

AI-agenter, indgangspunkter og udsendelser findes alle i den publicerede OpenAPI-specifikation, så du kan gennemse deres præcise felter og køre live-forespørgsler mod dem i API-udforskeren. Hver har sin egen guide: AI-agenter, Indgangspunkter og Udsendelser.

At være i specifikationen betyder også, at disse slutpunkter vises som værktøjer for enhver AI-assistent, du forbinder via MCP.


Læsning af denne dokumentation som Markdown

Hver side i denne dokumentation har en tvilling i ren Markdown: tag sidens adresse og tilføj /index.md til slutningen. Så denne side er også tilgængelig på https://docs.youraiconnector.com/api/getting-started/index.md, og den returneres som ren tekst i stedet for en webside — praktisk når du vil indsætte en side i en AI-assistent eller hente den ind i et script.

For en AI-assistent eller et script, der skal læse hele sættet, findes der to færdige filer:

  • https://docs.youraiconnector.com/llms.txt — indekset: hver side med et resumé på én linje og et link til dens Markdown-tvilling, grupperet på samme måde som sidepanelet.
  • https://docs.youraiconnector.com/llms-full.txt — hele dokumentationen i én Markdown-fil. Hver side starter med sin titel og en Source:-linje, der indeholder sidens adresse, så en assistent kan citere, hvor et svar kommer fra.

Begge findes også for hvert sprog under sprogpræfikset (https://docs.youraiconnector.com/nl/llms.txt, https://docs.youraiconnector.com/es/llms-full.txt osv.). Giv din assistent llms.txt-adressen, så henter den de sider, den har brug for, eller giv den llms-full.txt, når den skal have alt i kontekst på én gang. De genopbygges ved hver ændring i dokumentationen, så de bliver aldrig forældede.

Hvis du selv vil gennemgå siderne, viser https://docs.youraiconnector.com/sitemap.xml hver side, vi udgiver. Dokumentationen holdes bevidst ude af søgemaskiner, så at hente disse adresser direkte er måden at tilgå den fra kode på.

Intet af dette kræver en API-nøgle: Markdown-tvillingerne, de to llms-filer og sitemappet udgør hele interfacet.


Næste skridt

  • Godkendelse — vælg den rigtige godkendelsesmetode til din integration.
  • Fejl og paginering — håndter fejl og gennemse resultater side for side.
  • API-adgang — generer din nøgle og se gennemarbejdede eksempler.