SBanken

Få kontostatus for dine kontoer i Sbanken. Spesielt aktuelt for barnekontoer, hvor det er mangelfull mulighet for å hente ut saldo.

Dette homeyscriptet vil bruke sbankens API for å hente ut kontostatus.

Det du må gjøre er å registrere en klient i sbanken beta utvikler portal. Sette fødselsnummer i koden under som customerID. Så må du bruke API-et for å hente ut en account ID for den kontoen du vil ha status for.

sbanken.js
let customerId = 'xxxfødselsnummerxxx'
let b = xxx base64encoded clientid : secret ....'
let tokenEndpoint = 'https://auth.sbanken.no/identityserver/connect/token'
// var basicAuth = btoa(encodeURIComponent(clientid) + ":" + encodeURIComponent(secret));
// console.log("basic ", basicAuth)
const response = await fetch(tokenEndpoint, {
"headers": {
"accept": "application/json",
"authorization": "Basic " + b,
"content-type": "application/x-www-form-urlencoded; charset=utf-8"
},
"body": 'grant_type=client_credentials',
"method": "POST"
});
let data = await response.json()
var token = data['access_token']
async function getAPI(path) {
const baseURL = 'https://api.sbanken.no/exec.bank/api/v1'
let resp = await fetch(baseURL + path, {
"headers": {
"accept": "application/json",
"authorization": "Bearer " + token,
"content-type": "application/json",
"customerId": customerId
},
"method": "GET"
});
let data = await resp.json()
return data
}
// Note.. You have to play with the API in postman to get the account ID that you would like to get status from
let r = await getAPI('/Accounts/xxx_accountid_xxx')
console.log("=== Results ===")
console.log(r)
await setTagValue("sbanken_linnea", {type: 'number', title:'Linnea konto'}, r.item.available)
//console.log("response", data)