All Projects → Sbanken → Api Examples

Sbanken / Api Examples

Examples on how to use the Sbanken Open Banking API

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Api Examples

Csharp Datatables Parser
C# Serverside parser for the popuplar jQuery datatables plugin.
Stars: ✭ 119 (-9.16%)
Mutual labels:  dotnet-core
Darker
The query-side counterpart of Brighter
Stars: ✭ 124 (-5.34%)
Mutual labels:  dotnet-core
Commandlineutils
Command line parsing and utilities for .NET
Stars: ✭ 1,782 (+1260.31%)
Mutual labels:  dotnet-core
Sio.core
✔ [ SIOC ] Swastika I/O Core is an all in one platform (e.g CMS, eCommerce, Forum, Q&A, CRM...) ASP.NET Core / Dotnet Core System based on SIOH Framework.
Stars: ✭ 121 (-7.63%)
Mutual labels:  dotnet-core
Cv4pve Autosnap
Automatic snapshot tool for Proxmox VE
Stars: ✭ 123 (-6.11%)
Mutual labels:  dotnet-core
Dotnetbook
.NET Platform Architecture book (English, Chinese, Russian)
Stars: ✭ 1,763 (+1245.8%)
Mutual labels:  dotnet-core
Nsubstitute
A friendly substitute for .NET mocking libraries.
Stars: ✭ 1,646 (+1156.49%)
Mutual labels:  dotnet-core
Fluentmediator
🔀 FluentMediator is an unobtrusive library that allows developers to build custom pipelines for Commands, Queries and Events.
Stars: ✭ 128 (-2.29%)
Mutual labels:  dotnet-core
Colore
A powerful C# library for Razer Chroma's SDK
Stars: ✭ 121 (-7.63%)
Mutual labels:  dotnet-core
Etl.net
Mass processing data with a complete ETL for .net developers
Stars: ✭ 129 (-1.53%)
Mutual labels:  dotnet-core
Recaptcha.aspnetcore
Google reCAPTCHA v2/v3 for .NET Core 3.x
Stars: ✭ 122 (-6.87%)
Mutual labels:  dotnet-core
Xunit.gherkin.quick
BDD in .NET Core - using Xunit and Gherkin (compatible with both .NET Core and .NET)
Stars: ✭ 123 (-6.11%)
Mutual labels:  dotnet-core
Downloader
Fast and reliable multipart downloader with asynchronous progress events for .NET applications.
Stars: ✭ 128 (-2.29%)
Mutual labels:  dotnet-core
Samples
Sample code referenced by the .NET documentation
Stars: ✭ 1,875 (+1331.3%)
Mutual labels:  dotnet-core
Grandnode
Open source, headless, multi-tenant eCommerce platform built with .NET Core, MongoDB, AWS DocumentDB, Azure CosmosDB, Vue.js.
Stars: ✭ 1,768 (+1249.62%)
Mutual labels:  dotnet-core
Plotly.net
.NET interface for plotly.js written in F# 📈
Stars: ✭ 119 (-9.16%)
Mutual labels:  dotnet-core
Giraffe
Giraffe is an F# micro web framework for building rich web applications. It has been heavily inspired and is similar to Suave, but has been specifically designed with ASP.NET Core in mind and can be plugged into the ASP.NET Core pipeline via middleware. Giraffe applications are composed of so called HttpHandler functions which can be thought of a mixture of Suave's WebParts and ASP.NET Core's middleware.
Stars: ✭ 1,703 (+1200%)
Mutual labels:  dotnet-core
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (+0%)
Mutual labels:  dotnet-core
Spark
.NET for Apache® Spark™ makes Apache Spark™ easily accessible to .NET developers.
Stars: ✭ 1,721 (+1213.74%)
Mutual labels:  dotnet-core
Aaframework
AA.Framework is built on the popular open source class library of NET Core
Stars: ✭ 128 (-2.29%)
Mutual labels:  dotnet-core

API usage examples

Introduction

This repository provides a few examples on how to use Sbankens Open Banking APIs. These will enable you to quickly get started and get familiar with the basic concepts of authorization and API usage.

DotNetCoreSampleApplication

Simple .NET Core Console Application which retrieves accessToken, customer and account information.

NodeSampleApplication

Simple Node client which retrieves accessToken and account information.

JavaSampleApplication

Java client which retrieves accessToken and account information.

ElectronSampleApplication

Simple Electron App with an example GUI which retrieves accessToken and account information.

VueSampleApplication

Simple Vue.js App with an example GUI which retrieves account information and transactions.

PythonSampleApplication

Python script which retrieves accessToken, customer and account information.

ShellScripts

Shell script examples on how to retrieve accessToken and account information.

Documentation

Update July 2019

  • Old scopes are deprecated. New scopes are available. Visit the API Beta self service pages in the Internet Bank to review the new scopes and activate any desired scopes.

Update June 2019

  • Changed the example URLs to target /exec.bank instead of /bank

Update November 2018

Update September 2018

Update May 2018

  • We have stopped using customerId as a part of the API URL. Instead we require all API requests to include the customerId as a http header. See swagger for more information.
  • We have rolled back all APIs to start on V1
  • We have stopped using AccountNumber as part of the URL. Instead we require all Account API requests to include the AccountId as retrieved from HTTP GET /exec.bank/api/v1/Accounts (see powershell script example)
  • Update of IdentityServer requires Clients to form-urlencode ClientId and Secret prior to Base64-encoding the Authorization header. This is according to specification in RFC6749. See DotNetCoreSampleApplication (updated to IdentityModel 3.6.1 which does this automatically) and ShellScripts example.

Swagger

The following links provides detailed description of the REST interfaces. This includes how to construct your requests and what response to expect.

https://api.sbanken.no/exec.bank/swagger

https://api.sbanken.no/exec.customers/swagger

Authentication

How to get an Access Token

One must authenticate in order to get an access token. To authenticate the clientId and secret is sent to the sbanken authorization server. If valid, an access token is returned.

// client credentials

var clientId = "*****" // clientId obtained from Sbanken API Beta / utviklerportalen
var secret = "****" // password

// First, the application must authenticate itself with Sbanken's authorization server.
// The basic authentication scheme is used here (https://tools.ietf.org/html/rfc2617#section-2 ) 

// The clientId and secret must first be urlencoded and then base64 encoded, separated by a single colon ( : ).
// You might have to investigate which base64 encoding-library to use depending on your choice of programming language.

var basicAuthentationHeaderValue = btoa(encodeURIComponent(clientId) + ":" + encodeURIComponent(secret));

To obtain the access token, send a request to the token URI with the following http headers. Note: For the Authorization header, the value of the header must be prefixed with "Basic " as shown below.

// host
https://auth.sbanken.no

// uri
POST /identityserver/connect/token  

// headers
Authorization: Basic Y2xpZW50aWQ6c2VjcmV0
Accept: application/json  
Content-Type: application/x-www-form-urlencoded

// request body
grant_type=client_credentials  

If the request was successful, one should get the following response:

{
    "access_token": "abcdefghijklmnopqrstuvwxyz..",
    "expires_in": 3600,
    "token_type": "Bearer"
}

Known bugs

Swagger documentation

  • The Try Me-button will not work. This is because it will send an unauthenticated request.
  • Transactions: TransactionId is returned in Transactions although not part of documentation.
  • Transactions: source will either be 0 or 1 although documentation states it should be an enum string (accountStatement or archive)

FAQ

How do I find the customerId / userId?

This is your social security number. The same Id which is used when you log in with BankID.

Availability

In order to get access to these APIs certain requirements needs to be fullfilled:

  • You are a Sbanken customer
  • You have to sign up for access via https://utvikler.sbanken.no
  • You have to enable "Beta" in your personal settings
  • Finally, you need to complete the API Beta setup wizard.

(Detailed information will be provided after you sign up for access)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].