Integration Workflows
Oversikt
Fenerum tilbyr fleksible integrasjonsalternativer som matcher virksomhetens behov. Velg tilnærmingen som passer best til brukstilfellet deres:
Velg integrasjonstilnærming:
Bruk Fenerum UI, eksporter data til BI
Self-Service + API for backend
Komplett headless-integrasjon (Anbefalt for B2B SaaS)
UI-First Integration
Best for: Små team, oppstartsbedrifter, eller virksomheter som vil bruke Fenerums innebygde funksjoner med minimal utviklingsinnsats.
Slik fungerer det
Administrer alt i Fenerum UI
- Opprett kontoer, abonnementer og planer via webgrensesnittet
- Utsted fakturaer og administrer fakturering manuelt eller med automatiseringsregler
- Overvåk nøkkeltall med innebygde dashboards
Eksporter data via API for analyser
- Bruk skrivebeskyttede API-endepunkter for å hente data til BI-verktøyene deres
- Vanlige endepunkter:
/api/v1/accounts/,/api/v1/invoices/,/api/v1/subscriptions/ - Synkroniser data til datavarehuset deres for tilpasset rapportering
Viktige fordeler
- Rask oppstart - Ingen integrasjonskode nødvendig
- Full tilgang til funksjoner - Bruk alle Fenerum-funksjoner gjennom UI
- Enkel analyse - Eksporter data ved behov
Eksempel: Eksporter fakturaer
curl https://app.fenerum.com/api/v1/invoices/?created_date__gte=2025-01-01 \
-H "Authorization: Token your-token-here" \
-H "X-Client-System: BIExport"Hybrid Integration
Best for: Virksomheter som vil automatisere backend-operasjoner og samtidig tilby kundene en selvbetjeningsportal.
Slik fungerer det
Kundevendt: Fenerum Self-Service
- Kunder administrerer egne betalingsmetoder via Self-Service
- Legg til/fjern kort, oppdater faktureringsinformasjon, se fakturaer
- Ingen utvikling nødvendig hos dere
Backend: API-integrasjon
- Opprett kontoer og abonnementer automatisk via API når kunder registrerer seg
- Synkroniser bruksdata, oppdater antall, håndter livssyklus-hendelser
- Håndter kompleks forretningslogikk i applikasjonen deres
Integrasjonsflyt
Your App (Backend) Fenerum API Customer
│ │ │
│ Create Account │ │
├──────────────────────────► │ │
│ │ │
│ Create Subscription │ │
├──────────────────────────► │ │
│ │ │
│ Generate Self-Service Link │ │
├──────────────────────────► │ │
│ ◄────────────────────────┤ │
│ │ │
│ Redirect Customer to Self-Service │
├──────────────────────────────────────────────────► │
│ │ │
│ │ Add Payment Card │
│ │ ◄──────────────────── │Eksempel: Generer Self-Service-lenke
curl -X POST https://app.fenerum.com/api/self-service/initiate-organization/ \
-H "Authorization: Token your-token-here" \
-H "X-Client-System: YourApp" \
-H "Content-Type: application/json" \
-d '{
"email": "customer@example.com"
}'{
"url": "https://yourcompany.hostedsignup.com/auth/login?token=..."
}Se Self-Service guide for fullstendige oppsettinstruksjoner.
Full API Integration
Best for: B2B SaaS-selskaper som ønsker full kontroll og en helprofilert opplevelse.
✨ Recommended for B2B SaaS - Kundene deres ser eller interagerer aldri direkte med Fenerum. Alt skjer gjennom applikasjonen deres, med Stripe eller QuickPay som håndterer innkreving av betalinger.
Slik fungerer det
Komplett headless-integrasjon der alle faktureringsoperasjoner styres programmatisk:
- Kontoadministrasjon - Opprett/oppdater kundekontoer via API
- Abonnementslivssyklus - Start, oppgrader, nedgrader, avslutt abonnementer
- Betalingsinnkreving - Bruk Stripe eller QuickPay direkte (se Accepting Payments)
- Brukssporing - Rapporter bruksdata for forbruksbasert fakturering
- Fakturering - Automatisk generering og utsendelse av faktura
Kritisk: Opprettelsesrekkefølge
Opprett alltid ressurser i denne rekkefølgen:
- Konto - Kunden deres
- Avtaler (valgfritt) - Spesialpriser eller volumrabatter med nivåer
- Betalingsmetode - Stripe- eller QuickPay-kortregistrering
- Abonnement - Aktiv bruk av plan
Trinn 1: Opprett konto
curl -X POST https://app.fenerum.com/api/v1/accounts/ \
-H "Authorization: Token your-token-here" \
-H "X-Client-System: YourApp" \
-H "X-User: admin@yourapp.com" \
-H "Content-Type: application/json" \
-d '{
"code": "CUST001",
"name": "Acme Corporation",
"email": "billing@acme.com",
"type": "company",
"legal_address": "123 Main Street",
"legal_zipcode": "12345",
"legal_city": "Copenhagen",
"legal_country": "DK"
}'{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"code": "CUST001",
"name": "Acme Corporation",
"email": "billing@acme.com",
"type": "company"
}Trinn 2: Legg til avtaler (valgfritt)
Hvis kunden har forhandlet spesialpriser eller volumrabatter, opprett en avtale med rabattrinn:
# First, create the contract
curl -X POST https://app.fenerum.com/api/v1/accounts/CUST001/contracts/ \
-H "Authorization: Token your-token-here" \
-H "X-Client-System: YourApp" \
-H "Content-Type: application/json" \
-d '{
"plan_terms": "plan-terms-uuid",
"start_date": "2025-01-01",
"end_date": "2025-12-31"
}'{
"uuid": "contract-uuid-here",
"plan_terms": "plan-terms-uuid",
"start_date": "2025-01-01",
"end_date": "2025-12-31"
}Legg deretter til rabattrinn i avtalen:
# Add a tier: 15% discount when quantity >= 10
curl -X POST https://app.fenerum.com/api/v1/accounts/CUST001/contracts/contract-uuid-here/tiers/ \
-H "Authorization: Token your-token-here" \
-H "X-Client-System: YourApp" \
-H "Content-Type: application/json" \
-d '{
"minimum_quantity": 10,
"discount": "15.00",
"discount_type": "percentage"
}'Trinn 3: Registrer betalingsmetode
Bruk Stripe eller QuickPay til å innhente betalingskortdetaljer, og registrer deretter tokenet hos Fenerum:
For Stripe:
curl -X POST https://app.fenerum.com/api/v1/paymentcards/ \
-H "Authorization: Token your-token-here" \
-H "X-Client-System: YourApp" \
-H "Content-Type: application/json" \
-d '{
"account": "123e4567-e89b-12d3-a456-426614174000",
"token": "pm_1234567890",
"gateway": "stripe"
}'For QuickPay:
curl -X POST https://app.fenerum.com/api/v1/paymentcards/ \
-H "Authorization: Token your-token-here" \
-H "X-Client-System: YourApp" \
-H "Content-Type: application/json" \
-d '{
"account": "123e4567-e89b-12d3-a456-426614174000",
"token": "12345678",
"gateway": "quickpay"
}'Se Accepting Payments guide for komplette eksempler på betalingsintegrasjon.
Trinn 4: Opprett abonnement
Til slutt, opprett abonnementet for å starte fakturering:
curl -X POST https://app.fenerum.com/api/v1/subscriptions/ \
-H "Authorization: Token your-token-here" \
-H "X-Client-System: YourApp" \
-H "X-User: admin@yourapp.com" \
-H "Content-Type: application/json" \
-d '{
"account": "CUST001",
"terms": "plan-terms-uuid",
"quantity": 5,
"collection_method": "card",
"start_date": "2025-01-01"
}'{
"uuid": "sub-uuid-here",
"account": "CUST001",
"terms": "plan-terms-uuid",
"quantity": 5,
"collection_method": "card",
"status": "active",
"current_period_start": "2025-01-01",
"current_period_end": "2025-02-01"
}Fullstendig integrasjonseksempel
Her er hele flyten i riktig rekkefølge:
<!-- focus-start -->
import requests
# Configuration
FENERUM_TOKEN = 'your-token-here'
FENERUM_BASE_URL = 'https://app.fenerum.com/api/v1'
headers = {
'Authorization': f'Token {FENERUM_TOKEN}',
'X-Client-System': 'YourApp',
'X-User': 'admin@yourapp.com',
'Content-Type': 'application/json'
}
# Step 1: Create Account
account_response = requests.post(
f'{FENERUM_BASE_URL}/accounts/',
headers=headers,
json={
'code': 'CUST001',
'name': 'Acme Corporation',
'email': 'billing@acme.com',
'type': 'company',
'legal_address': '123 Main Street',
'legal_zipcode': '12345',
'legal_city': 'Copenhagen',
'legal_country': 'DK'
}
)
account = account_response.json()
account_uuid = account['uuid']
# Step 2: Add Contract with discount tiers (optional)
contract_response = requests.post(
f'{FENERUM_BASE_URL}/accounts/CUST001/contracts/',
headers=headers,
json={
'plan_terms': 'plan-terms-uuid',
'start_date': '2025-01-01',
'end_date': '2025-12-31'
}
)
contract = contract_response.json()
# Add a discount tier: 15% off when quantity >= 10
tier_response = requests.post(
f'{FENERUM_BASE_URL}/accounts/CUST001/contracts/{contract["uuid"]}/tiers/',
headers=headers,
json={
'minimum_quantity': 10,
'discount': '15.00',
'discount_type': 'percentage'
}
)
# Step 3: Register Payment Method
# (After collecting card via Stripe/QuickPay)
card_response = requests.post(
f'{FENERUM_BASE_URL}/paymentcards/',
headers=headers,
json={
'account': account_uuid,
'token': 'pm_1234567890', # From Stripe
'gateway': 'stripe'
}
)
# Step 4: Create Subscription
subscription_response = requests.post(
f'{FENERUM_BASE_URL}/subscriptions/',
headers=headers,
json={
'account': 'CUST001',
'terms': 'plan-terms-uuid',
'quantity': 5,
'collection_method': 'card',
'start_date': '2025-01-01'
}
)
subscription = subscription_response.json()
<!-- focus-end -->
print(f"Created subscription: {subscription['uuid']}")Viktige fordeler
- Full kontroll - Komplett programmatisk kontroll over fakturering
- Helprofilert opplevelse - Kundene forlater aldri applikasjonen deres
- Fleksible arbeidsflyter - Implementer all forretningslogikk dere trenger
- Skalerbar - Automatiser alt fra onboarding til oppsigelse
Neste steg
- Authentication - Konfigurer API-legitimasjon
- Accepting Payments - Integrer Stripe eller QuickPay
- Error Handling - Håndter API-feil på en god måte
- API Reference - Komplett endepunktdokumentasjon
Trenger du hjelp til å velge?
Start i det små, skaler opp:
- Begynn med UI-først-integrasjon for å bli kjent med Fenerum
- Legg til hybrid-integrasjon når dere trenger selvbetjening for kunder
- Gå over til full API-integrasjon etter hvert som virksomheten deres skalerer
Kontakt vårt supportteam hvis dere trenger hjelp til å velge riktig tilnærming.