Veiledning for å opprette og godkjenne ISV-appen (Client ID / Client Secret) og tilhørende servicebruker som XENDO bruker mot Visma Business NXT.
| Begrep | Betydning |
|---|---|
| ISV-app | Appregistrering i Visma Developer Portal. Gir client_id (ISV-bruker) og client_secret. |
| Service-integrasjon | App-typen som bruker OAuth client credentials (maskin-til-maskin) — påkrevd for XENDO. |
| Servicebruker | Bruker i kundens Visma Business NXT som appen kjører som. Navnet må matche app-navnet. |
| Godkjenning / aktivering | Kunden må godkjenne appen for sin tenant/firma før GraphQL-kallet får tilgang. |
XENDO lagrer Client ID og Client Secret (kryptert) per selskap, henter tilgjengelige firmaer via availableCustomers / availableCompanies, og synker mot ett valgt vismaNetCompanyId.
| Rolle | Trenger |
|---|---|
| Visma Developer Portal | Tilgang til å opprette/administrere ISV-app (ofte XENDO eller Visma-partner) |
| Visma Business NXT | Administrator hos kunden |
| XENDO | Rettigheten Administrere firmainnstillinger |
Token-endepunkt: https://connect.visma.com/connect/token
GraphQL: https://business.visma.net/api/graphql-service
Gjøres én gang per integrasjonsklient (f.eks. isv_…). Samme app kan brukes mot flere kunder når de har godkjent den.
isv_…) — dette er «ISV-bruker» i XENDO.business-graphql-service-api:access-group-based-readonly — anbefalt til lesing / synkbusiness-graphql-service-api:access-group-based — full tilgang (inkl. skriving)-readonly gir skrivetilgang via samme klient — unngås i produksjon med mindre det er bevisst (f.eks. midlertidig test). Egne klienter for revisjon/export anbefales.XENDO sender ikke scope eller tenant_id i token-kallet. Hvilke rettigheter tokenet får, styres av det som er registrert og godkjent på appen i Visma.
Uten aktivering og servicebruker-tilgang feiler token eller GraphQL med «access denied» / tom availableCustomers.
Detaljer: visma-business-nxt.md.
availableCompanies returnerer forventede selskaper| Feilkode / symptom | Typisk årsak | Tiltak |
|---|---|---|
invalid_client |
Feil Client ID/Secret, eller secret utløpt/rotert | Generer ny secret i Developer Portal; oppdater XENDO |
invalid_scope |
Scope ikke lagt på appen | Legg til GraphQL-scope under APIs |
invalid_tenant |
Kunden har ikke godkjent appen for tenanten | Developer Portal → Customers; aktiver i NXT |
unauthorized_client |
App er ikke Service / client credentials | Endre app-type til service-integrasjon |
availableCustomers tom |
App ikke godkjent / servicebruker mangler tilgang | Aktiver app + sjekk servicebruker |
| Token OK, men GraphQL access denied | Feil firma, eller app ikke aktivert for firmaet | Aktiver under Integrasjoner → Apper; velg riktig vismaNetCompanyId |
https://oauth.developers.visma.com