Vejledninger
Fakturaer
Agenten kan læse en udstedt faktura fra en tilsluttet Fakturoid- eller ABRA Flexi-konto og bruge den som grundlag for et påmindelsesopkald - den udsteder aldrig en faktura og markerer aldrig en som betalt.
Hvad den kan og ikke kan
- Søge i udstedte fakturaer efter nummer eller firmanavn (
list_invoices). - Læse den ene fakturas friskeste status direkte hos udbyderen (
get_invoice). - Oprette en påmindelsesopgave (
taskType: "invoice"), der henviser til fakturaen.
Kan ikke
- Den udsteder, redigerer eller sletter ingen fakturaer.
- Den markerer ikke en faktura som betalt - det kan kun Fakturoid eller ABRA selv.
- Den tilslutter ikke Fakturoid med adgangsoplysninger - kun via OAuth i browseren.
Tilslutning af en konto
Begge fakturatjenester administreres samme sted som kalendere, i portalens afsnit Data og integrationer (/en/connections). list_integrations og GET /v1/integrations er skrivebeskyttede: de returnerer forbindelsens tilstand og eventuelt en connectUrl, men tilslutter ikke noget selv. Det fulde agentforløb (list_integrations -> connectUrl -> et trin i browseren) står på siden Forbindelser.
Fakturoid
Tilsluttes kun via OAuth i browseren - POST /v1/integrations med provider: "fakturoid" afvises af REST med integration_unsupported; adgangsoplysninger kan slet ikke sendes på den måde. Har kontoen mere end ét firma med fakturering aktiveret, sendes browseren efter login tilbage til volais egen side Data og integrationer (/en/connections, eller /propojeni på tjekkisk), og der vises valget af firma - posten i integrations oprettes først efter dette valg. ready for fakturoid i GET /v1/integrations oplyser kun, at volai har konfigureret OAuth-oplysninger til Fakturoid (FAKTUROID_CLIENT_ID og de øvrige) - IKKE at en bestemt konto faktisk er tilsluttet. Om forbindelsen er oprettet, ses som en post i arrayet integrations.
ABRA Flexi
Tilsluttes med adgangsoplysninger, på samme måde som Apple Calendar: POST /v1/integrations med {provider: "abra-flexi", baseUrl, company, username, password}. Serveradressen (baseUrl) skal svare til en vært, som operatøren på forhånd har sat på tilladelseslisten (ABRA_FLEXI_ALLOWED_HOSTS) - alt andet afvises.
Send kun en adgangskode, når brugeren allerede har den gemt et sikkert sted (en miljøvariabel, en fil vedkommende har nævnt) - bed aldrig om en i samtalen, og gentag den aldrig.
Læsning af fakturaer
Et forløb i to trin: først søgning, derefter en frisk læsning af den ene faktura, der er brug for.
list_invoices({integrationId, search?})-search(op til 100 tegn) er en søgning hos udbyderen efter fakturanummer eller firmanavn; den returnerer de første 40 rækker fra Fakturoid eller 50 fra ABRA, uden sideinddeling. Afgrænssearchyderligere, hvis der er for mange resultater.get_invoice({integrationId, invoiceId})-invoiceIder denexternalId, der er kopieret fralist_invoices. Returnerer den friskeste status direkte fra udbyderen, ikke det, volai husker.
REST-ækvivalenter: GET /v1/integrations/{id}/invoices?search=... og GET /v1/integrations/{id}/invoices/{invoiceId}.
status er paid, unpaid, overdue eller unknown; amountDueMinor er et heltal i FAKTURAENS EGEN VALUTAS mindste enhed (ikke nødvendigvis CZK), og null betyder, at restbeløbet ikke er bekræftet. Detaljen indeholder også provider, fetchedAt og evidence: "provider_response".
status: "unknown" og et manglende beløb er ALDRIG bevis for betaling - og en opringers egen påstand er heller ikke bevis. Agenten tæller kun en frisk get_invoice-respons som bevis.
Påmindelser via opgaver
Massepåmindelser om ubetalte fakturaer foregår via Opgaver.
En opgave med taskType: "invoice" oprettes med source: "integration", og hver modtager (eller hele opgaven, når alle modtagere deler samme faktura) bærer externalRefs.invoice = {connectionId, externalId, provider?} - connectionId er forbindelses-id'et fra list_integrations, externalId er faktura-id'et fra list_invoices. Uden den reference fejler create_task/POST /v1/tasks med en validation-fejl, hvis besked nævner recipients.externalRefs, og ingen opgave gemmes. Hvis en eksisterende post manglede den påkrævede reference, ville get_task/GET /v1/tasks/{id} angive den i issues, og start_task ville afvise opgaven med samme valideringsfejl.
Hver modtager har desuden feltet paymentStatus (not_applicable, unknown, unpaid, paid, disputed) - styret af systemet og skrivebeskyttet, afledt af den friskeste fakturalæsning hos udbyderen lige før opkaldet. Den er not_applicable uden fakturareference, unknown lige efter oprettelsen eller når status eller beløb ikke kan bekræftes, og følger ellers svaret fra Fakturoid/ABRA - en betalt faktura får opgaven til at springe posten over (skipped) og sætte paid. Systemet sætter aldrig selv disputed i dag - kun portalen kan vise den - den er en del af den offentlige enum (TaskItem i /openapi.json) til et fremtidigt manuelt flag for bestridelse.
Fejl
integration_not_found- Der findes ingen forbindelse med detteintegrationId, eller den tilhører ikke denne konto.integration_unsupported- Forbindelsen er ikke en faktureringsforbindelse (for eksempel en kalender), eller der blev forsøgt at tilslutte Fakturoid med adgangsoplysninger i stedet for OAuth.integration_unauthorized- Fakturoid eller ABRA har tilbagekaldt adgangen - tilslut igen i portalen.integration_provider_error- Udbyderen svarer ikke lige nu eller returnerede en fejl - prøv igen senere, og behandl fakturaens tilstand som ukendt i mellemtiden.integration_invalid_query- ABRA afvistesearchpå grund af omvendte skråstreger eller blandede anførselstegn - forenkl forespørgslen.
Den fulde tabel med alle koder findes i afsnittet om fakturaer i REST API-referencen og i MCP-fejl.
Sikkerhed
REST API og MCP returnerer aldrig adgangstokens eller adgangskoder til Fakturoid eller ABRA Flexi, og vi gemmer dem krypteret. En integration kan kun frakobles i portalen eller via REST (DELETE /v1/integrations/{id}) - MCP har bevidst intet værktøj til det, da det ikke kan fortrydes.
Relateret
MCP-server
Forbind Claude Code, Codex CLI, Codex desktop, Cursor og andre AI-editorer.
REST API
Komplet reference for alle endpoints: numre, opkald, sms, mobilnumre til sms, agenter og deres kladder, værktøjer, optagelser, webhooks, ring-ikke-liste, relay, konto, opgaver, saldo, bilag, kalendere og integrationer.
Forbindelser
Google- og Apple-kalender: forbind en konto, læs og bekræft opdateringer af begivenheder.
Opgaver
Udgående kampagner: oprettelse, CSV-import af modtagere, start/pause/afstemning, budget og opkaldsvindue.