Skip to content

Borgenär & användarhantering

Vissa integrationer behöver programmatiskt skapa borgenärer och hantera användare via API:et. Detta är speciellt relevant för partnerplattformar som registrerar flera borgenärer, eller organisationer som behöver automatiserad provisionering av borgenärskonton och användare.

När en borgenär skapas genererar Amili automatiskt åtkomstgrupper för den borgenären. Dessa åtkomstgrupper används sedan för att tilldela roller vid skapande av användare.

Alla API-anrop kräver en giltig autentiseringstoken i X-API-Key-headern. För detaljer om autentiseringsprocessen och tokenhantering, se Autentiseringsdokumentationen.

I den här guiden använder vi klassen AuthTokenProvider (dokumenterad i autentiseringsguiden) för att hantera tokens.

Innehållsförteckning


Skapa en borgenär

För att registrera en ny borgenär, använd Creditor endpointen. En borgenär måste aktiveras innan några ärenden kan registreras mot den.

Aktiveringskrav

Följande fält krävs för att aktivera en borgenär: payout_details, sender_address, invoice_address och standard_debt_description. Du kan skapa en borgenär med is_active: true om alla obligatoriska fält anges, eller skapa den först och aktivera den senare.

typescript
const creditorData = {
  account: '6662fb1df4d1eaf404cb08de',
  name: 'Acme Inc',
  organization_no: '1122334455',
  is_active: true,
  standard_debt_description: 'Standard skuldbeskrivning på Konto',
  description: 'Testing',
  sender_address: {
    address_line_1: 'Redaregatan 50',
    zip_code: '25236',
    city: 'Helsingborg',
    country: 'SE',
  },
  invoice_address: {
    address_line_1: 'Redaregatan 50',
    zip_code: '25236',
    city: 'Helsingborg',
    country: 'SE',
  },
  payout_details: {
    sek: {
      bankgiro: '12312312',
    },
  },
}

const token = await auth.getValidToken()
const response = await axios.post(
  'https://api-sandbox.amili.se/creditors',
  creditorData,
  {
    headers: {
      'X-API-Key': token,
      'Content-Type': 'application/json',
    },
  }
)
python
creditor_data = {
    "account": "6662fb1df4d1eaf404cb08de",
    "name": "Acme Inc",
    "organization_no": "1122334455",
    "is_active": True,
    "standard_debt_description": "Standard skuldbeskrivning på Konto",
    "description": "Testing",
    "sender_address": {
        "address_line_1": "Redaregatan 50",
        "zip_code": "25236",
        "city": "Helsingborg",
        "country": "SE"
    },
    "invoice_address": {
        "address_line_1": "Redaregatan 50",
        "zip_code": "25236",
        "city": "Helsingborg",
        "country": "SE"
    },
    "payout_details": {
        "sek": {
            "bankgiro": "12312312"
        }
    }
}

token = auth.get_valid_token()
response = requests.post(
    'https://api-sandbox.amili.se/creditors',
    json=creditor_data,
    headers={
        'X-API-Key': token,
        'Content-Type': 'application/json'
    }
)
response.raise_for_status()
result = response.json()

Exempelsvar:

json
{
  "_id": "69132a8bc9ea54f691cc407c",
  "_created": "Tue, 11 Nov 2025 12:22:34 GMT",
  "_updated": "Tue, 11 Nov 2025 12:22:34 GMT",
  "_etag": "2646bc714fe277d4e317cfaddaeb450a34f28053",
  "_status": "OK"
}

Spara _id — detta är borgenärs-ID:t som du behöver vid skapande av användare och registrering av ärenden.

Icke-svenska organisationer

Fältet vat_area har standardvärdet "sweden". För icke-svenska borgenärer, ange det explicit (t.ex. "norway", "denmark", "eu") och använd non_swedish_organization_no istället för organization_no. Dessa fält är ömsesidigt uteslutande. Se Creditor endpointen för alla tillgängliga värden.


Hämta åtkomstgrupper

Innan du skapar användare behöver du veta vilka åtkomstgrupper som finns tillgängliga. När en borgenär skapas genererar Amili automatiskt borgenärsnivå-åtkomstgrupper (admin och user). Kontonivågrupper (account_admin och api_user) skapas när kontot skapas.

TypOmfattningBeskrivning
account_adminKontoFullständig åtkomst till alla borgenärer på kontot
api_userKontoProgrammatisk API-åtkomst — används av integrationstjänster
adminBorgenärKan hantera användare och inställningar för en specifik borgenär
userBorgenärKan hantera ärenden och dagliga operationer för en specifik borgenär

Fråga åtkomstgrupperna för ditt konto för att hitta de grupp-ID:n du behöver:

typescript
const token = await auth.getValidToken()
const where = encodeURIComponent(
  JSON.stringify({ account: '6662fb1df4d1eaf404cb08de' })
)

const response = await axios.get(
  `https://api-sandbox.amili.se/access--groups?where=${where}`,
  {
    headers: {
      'X-API-Key': token,
    },
  }
)
python
import json

token = auth.get_valid_token()
where = json.dumps({"account": "6662fb1df4d1eaf404cb08de"})

response = requests.get(
    'https://api-sandbox.amili.se/access--groups',
    params={'where': where},
    headers={'X-API-Key': token}
)
response.raise_for_status()
access_groups = response.json()['_items']

Exempelsvar (förkortat):

json
{
  "_items": [
    {
      "_id": "6662fb1df4d1eaf404cb08e0",
      "account": "6662fb1df4d1eaf404cb08de",
      "name": "account_admin",
      "type": "account_admin"
    },
    {
      "_id": "6662fb1df4d1eaf404cb08e1",
      "account": "6662fb1df4d1eaf404cb08de",
      "name": "api_user",
      "type": "api_user"
    },
    {
      "_id": "69132a8bc9ea54f691cc407e",
      "account": "6662fb1df4d1eaf404cb08de",
      "creditor": "69132a8bc9ea54f691cc407c",
      "name": "admin",
      "type": "admin",
      "creditor_name": "Acme Inc"
    },
    {
      "_id": "69132a8bc9ea54f691cc407f",
      "account": "6662fb1df4d1eaf404cb08de",
      "creditor": "69132a8bc9ea54f691cc407c",
      "name": "user",
      "type": "user",
      "creditor_name": "Acme Inc"
    }
  ]
}

Använd _id för relevant åtkomstgrupp när du skapar användare i nästa steg. För borgenärsnivå-användare, använd grupperna där type är admin eller user och creditor matchar ditt borgenärs-ID.


Skapa användare

Skapa användare via User endpointen. Den enda skillnaden mellan en administratör och en vanlig användare är vilken åtkomstgrupp du tilldelar. Fälten oauth_type och email_oauth bestämmer hur användaren autentiserar sig i Amilis gränssnitt.

Borgenärsadministratör

En borgenärsadministratör kan hantera användare och inställningar för borgenären. Använd admin-åtkomstgruppens ID från föregående steg:

typescript
const adminUserData = {
  account: '6662fb1df4d1eaf404cb08de',
  name: 'Anna Andersson',
  email_data: {
    email: 'anna.andersson@example.com',
  },
  is_enabled: true,
  oauth_type: 'google',
  email_oauth: 'anna.andersson@example.com',
  data_access: [
    {
      access_group: '69132a8bc9ea54f691cc407e', // type: "admin"
    },
  ],
}

const token = await auth.getValidToken()
const response = await axios.post(
  'https://api-sandbox.amili.se/users',
  adminUserData,
  {
    headers: {
      'X-API-Key': token,
      'Content-Type': 'application/json',
    },
  }
)
python
admin_user_data = {
    "account": "6662fb1df4d1eaf404cb08de",
    "name": "Anna Andersson",
    "email_data": {
        "email": "anna.andersson@example.com",
    },
    "is_enabled": True,
    "oauth_type": "google",
    "email_oauth": "anna.andersson@example.com",
    "data_access": [{
        "access_group": "69132a8bc9ea54f691cc407e"  # type: "admin"
    }],
}

token = auth.get_valid_token()
response = requests.post(
    'https://api-sandbox.amili.se/users',
    json=admin_user_data,
    headers={
        'X-API-Key': token,
        'Content-Type': 'application/json',
    }
)
response.raise_for_status()
result = response.json()

Vanlig borgenärsanvändare

En vanlig användare kan hantera ärenden och utföra dagliga operationer. Begäran är identisk — bara åtkomstgruppen ändras till typen user:

typescript
const userData = {
  account: '6662fb1df4d1eaf404cb08de',
  name: 'Erik Eriksson',
  email_data: {
    email: 'erik.eriksson@example.com',
  },
  is_enabled: true,
  oauth_type: 'google',
  email_oauth: 'erik.eriksson@example.com',
  data_access: [
    {
      access_group: '69132a8bc9ea54f691cc407f', // type: "user"
    },
  ],
}

const token = await auth.getValidToken()
const response = await axios.post(
  'https://api-sandbox.amili.se/users',
  userData,
  {
    headers: {
      'X-API-Key': token,
      'Content-Type': 'application/json',
    },
  }
)
python
user_data = {
    "account": "6662fb1df4d1eaf404cb08de",
    "name": "Erik Eriksson",
    "email_data": {
        "email": "erik.eriksson@example.com",
    },
    "is_enabled": True,
    "oauth_type": "google",
    "email_oauth": "erik.eriksson@example.com",
    "data_access": [{
        "access_group": "69132a8bc9ea54f691cc407f"  # type: "user"
    }],
}

token = auth.get_valid_token()
response = requests.post(
    'https://api-sandbox.amili.se/users',
    json=user_data,
    headers={
        'X-API-Key': token,
        'Content-Type': 'application/json',
    }
)
response.raise_for_status()
result = response.json()

Exempelsvar (samma struktur för båda användartyper):

json
{
  "_id": "691332f4f22afe6587de55ea",
  "_created": "Tue, 11 Nov 2025 12:58:28 GMT",
  "_updated": "Tue, 11 Nov 2025 12:58:28 GMT",
  "_etag": "8f24ed684144a3572083739483e0c3bf05571f8b",
  "_status": "OK"
}

Flera åtkomstgrupper

En användare kan tilldelas flera åtkomstgrupper genom att lägga till fler poster i data_access-arrayen. Till exempel kan en användare ha åtkomst till flera borgenärer under samma konto.

Nästa steg