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

  1. 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
  2. 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

  1. 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
  2. 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:

  1. Konto - Kunden deres
  2. Avtaler (valgfritt) - Spesialpriser eller volumrabatter med nivåer
  3. Betalingsmetode - Stripe- eller QuickPay-kortregistrering
  4. 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


Trenger du hjelp til å velge?

Start i det små, skaler opp:

  1. Begynn med UI-først-integrasjon for å bli kjent med Fenerum
  2. Legg til hybrid-integrasjon når dere trenger selvbetjening for kunder
  3. 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.

background logo

Vi fakturerer for mer enn 2 milliarder årlig for våre kunder. Skal vi hjelpe deg med å sette faktureringen din på autopilot?