AlbaApi

<back to all web services

PowensConnectionSyncRequest

The following routes are available for this service:
POST/ext/powens/connection_synced
import Foundation
import ServiceStack

public class PowensConnectionSyncRequest : Codable
{
    public var connection:ConnectionRequest?
    // @DataMember(Name="push_type")
    public var push_type:String?

    // @DataMember(Name="id_webhook_data")
    public var id_webhook_data:Int?

    required public init(){}
}

// @DataContract
public class ConnectionRequest : Codable
{
    // @DataMember(Name="id")
    public var id:Int?

    // @DataMember(Name="id_user")
    public var id_user:Int?

    // @DataMember(Name="id_connector")
    public var id_connector:Int?

    // @DataMember(Name="last_update")
    public var last_update:Date?

    // @DataMember(Name="created")
    public var created:Date?

    // @DataMember(Name="active")
    public var active:Bool?

    // @DataMember(Name="last_push")
    public var last_push:Date?

    // @DataMember(Name="next_try")
    public var next_try:Date?

    // @DataMember(Name="connector")
    public var connector:ConnectorReq?

    // @DataMember(Name="accounts")
    public var accounts:[PowensAccount] = []

    // @DataMember(Name="state")
    public var state:String?

    // @DataMember(Name="error")
    public var error:String?

    // @DataMember(Name="error_message")
    public var error_message:String?

    // @DataMember(Name="expire")
    public var expire:Date?

    // @DataMember(Name="id_provider")
    public var id_provider:Int?

    // @DataMember(Name="id_bank")
    public var id_bank:Int?

    // @DataMember(Name="bank")
    public var bank:ConnectorReq?

    // @DataMember(Name="connector_uuid")
    public var connector_uuid:String?

    //informations:Object ignored. Type could not be extended in Swift

    required public init(){}
}

// @DataContract
public class ConnectorReq : Codable
{
    // @DataMember(Name="id")
    public var id:Int?

    // @DataMember(Name="name")
    public var name:String?

    // @DataMember(Name="hidden")
    public var hidden:Bool?

    // @DataMember(Name="charged")
    public var charged:Bool?

    // @DataMember(Name="code")
    public var code:String?

    // @DataMember(Name="beta")
    public var beta:Bool?

    // @DataMember(Name="color")
    public var color:String?

    // @DataMember(Name="slug")
    public var slug:String?

    // @DataMember(Name="sync_periodicity")
    public var sync_periodicity:Double?

    // @DataMember(Name="months_to_fetch")
    public var months_to_fetch:Int?

    // @DataMember(Name="siret")
    public var siret:String?

    // @DataMember(Name="uuid")
    public var uuid:String?

    // @DataMember(Name="restricted")
    public var restricted:Bool?

    // @DataMember(Name="stability")
    public var stability:Stability?

    // @DataMember(Name="capabilities")
    public var capabilities:[String] = []

    // @DataMember(Name="available_auth_mechanisms")
    public var available_auth_mechanisms:[AuthMechanism] = []

    // @DataMember(Name="categories")
    public var categories:[String] = []

    // @DataMember(Name="auth_mechanism")
    public var auth_mechanism:AuthMechanism?

    // @DataMember(Name="account_types")
    public var account_types:[Object] = []

    // @DataMember(Name="account_usage")
    public var account_usage:[Object] = []

    // @DataMember(Name="documents_type")
    public var documents_type:[String] = []

    // @DataMember(Name="products")
    public var products:[Object] = []

    required public init(){}
}

public class Stability : Codable
{
    public var status:String?
    public var lastUpdate:Date?

    required public init(){}
}

public enum AuthMechanism : Int, Codable
{
    case Credentials = 1
    case WebAuth = 2
}

// @DataContract
public class PowensAccount : Codable
{
    // @DataMember(Name="investments")
    public var investments:[PowensInvestment] = []

    // @DataMember(Name="id")
    public var id:Int?

    // @DataMember(Name="id_connection")
    public var id_connection:Int?

    // @DataMember(Name="id_user")
    public var id_user:Int?

    // @DataMember(Name="id_source")
    public var id_source:Int?

    // @DataMember(Name="id_parent")
    public var id_parent:Int?

    // @DataMember(Name="number")
    public var number:String?

    // @DataMember(Name="webid")
    public var webid:String?

    // @DataMember(Name="original_name")
    public var original_name:String?

    // @DataMember(Name="balance")
    public var balance:Double?

    // @DataMember(Name="coming")
    public var coming:Double?

    // @DataMember(Name="display")
    public var display:Bool?

    // @DataMember(Name="last_update")
    public var last_update:Date?

    // @DataMember(Name="deleted")
    public var deleted:Date?

    // @DataMember(Name="disabled")
    public var disabled:Date?

    // @DataMember(Name="iban")
    public var iban:String?

    // @DataMember(Name="currency")
    public var currency:PowensCurrency?

    // @DataMember(Name="id_type")
    public var id_type:Int?

    // @DataMember(Name="bookmarked")
    public var bookmarked:Int?

    // @DataMember(Name="name")
    public var name:String?

    // @DataMember(Name="error")
    public var error:String?

    // @DataMember(Name="usage")
    public var usage:AccountUsage?

    // @DataMember(Name="company_name")
    public var company_name:String?

    // @DataMember(Name="opening_date")
    public var opening_date:Date?

    //bic:Object ignored. Type could not be extended in Swift

    // @DataMember(Name="coming_balance")
    public var coming_balance:Int?

    // @DataMember(Name="formatted_balance")
    public var formatted_balance:String?

    // @DataMember(Name="type")
    public var type:String?

    // @DataMember(Name="calculated")
    public var calculated:[String] = []

    // @DataMember(Name="valuation")
    public var valuation:Double?

    // @DataMember(Name="diff")
    public var diff:Double?

    // @DataMember(Name="diff_percent")
    public var diff_percent:Double?

    // @DataMember(Name="prev_diff")
    public var prev_diff:Double?

    // @DataMember(Name="prev_diff_percent")
    public var prev_diff_percent:Double?

    // @DataMember(Name="information")
    public var information:PowensInformation?

    // @DataMember(Name="loan")
    public var loan:PowensLoan?

    required public init(){}
}

// @DataContract
public class PowensInvestment : Codable
{
    // @DataMember(Name="id")
    public var id:Int?

    // @DataMember(Name="id_account")
    public var id_account:Int?

    // @DataMember(Name="label")
    public var label:String?

    // @DataMember(Name="code")
    public var code:String?

    // @DataMember(Name="code_type")
    public var code_type:String?

    // @DataMember(Name="stock_symbol")
    public var stock_symbol:String?

    //stockMarket:Object ignored. Type could not be extended in Swift

    // @DataMember(Name="source")
    public var source:String?

    // @DataMember(Name="description")
    public var description:String?

    // @DataMember(Name="quantity")
    public var quantity:Double?

    // @DataMember(Name="unitprice")
    public var unitprice:Double?

    // @DataMember(Name="unitvalue")
    public var unitvalue:Double?

    // @DataMember(Name="valuation")
    public var valuation:Double?

    // @DataMember(Name="diff")
    public var diff:Double?

    // @DataMember(Name="diff_percent")
    public var diff_percent:Double?

    // @DataMember(Name="prev_diff")
    public var prev_diff:Double?

    // @DataMember(Name="portfolio_share")
    public var portfolio_share:Double?

    // @DataMember(Name="vdate")
    public var vdate:Date?

    // @DataMember(Name="prev_vdate")
    public var prev_vdate:Date?

    // @DataMember(Name="id_security")
    public var id_security:Int?

    // @DataMember(Name="original_currency")
    public var original_currency:Currency?

    // @DataMember(Name="original_valuation")
    public var original_valuation:Double?

    // @DataMember(Name="original_unitvalue")
    public var original_unitvalue:Double?

    // @DataMember(Name="original_unitprice")
    public var original_unitprice:Double?

    // @DataMember(Name="original_diff")
    public var original_diff:Double?

    // @DataMember(Name="last_update")
    public var last_update:Date?

    // @DataMember(Name="deleted")
    public var deleted:Date?

    // @DataMember(Name="calculated")
    public var calculated:[String] = []

    // @DataMember(Name="id_type")
    public var id_type:Int?

    required public init(){}
}

public class Currency : Codable
{
    public var id:String?
    public var name:String?
    public var symbol:String?
    public var crypto:Bool?
    public var precision:Int?
    public var `prefix`:Bool?
    //marketcap:Object ignored. Type could not be extended in Swift
    public var datetime:Date?

    required public init(){}
}

// @DataContract
public class PowensCurrency : Codable
{
    // @DataMember(Name="id")
    public var id:String?

    // @DataMember(Name="name")
    public var name:String?

    // @DataMember(Name="symbol")
    public var symbol:String?

    // @DataMember(Name="crypto")
    public var crypto:Bool?

    // @DataMember(Name="precision")
    public var precision:Int?

    // @DataMember(Name="prefix")
    public var prefix:Bool?

    //marketcap:Object ignored. Type could not be extended in Swift

    // @DataMember(Name="datetime")
    public var datetime:Date?

    required public init(){}
}

public enum AccountUsage : Int, Codable
{
    case PRIV = 1
    case ORGA = 2
}

// @DataContract
public class PowensInformation : Codable
{
    // @DataMember(Name="version")
    public var version:String?

    // @DataMember(Name="provider_type")
    public var provider_type:String?

    required public init(){}
}

// @DataContract
public class PowensLoan : Codable
{
    // @DataMember(Name="total_amount")
    public var total_amount:Double?

    // @DataMember(Name="available_amount")
    public var available_amount:Double?

    // @DataMember(Name="used_amount")
    public var used_amount:Double?

    // @DataMember(Name="subscription_date")
    public var subscription_date:Date?

    // @DataMember(Name="maturity_date")
    public var maturity_date:Date?

    // @DataMember(Name="next_payment_amount")
    public var next_payment_amount:Double?

    // @DataMember(Name="next_payment_date")
    public var next_payment_date:Date?

    // @DataMember(Name="rate")
    public var rate:Double?

    // @DataMember(Name="nb_payments_left")
    public var nb_payments_left:Int?

    // @DataMember(Name="nb_payments_done")
    public var nb_payments_done:Int?

    // @DataMember(Name="nb_payments_total")
    public var nb_payments_total:Int?

    // @DataMember(Name="last_payment_amount")
    public var last_payment_amount:Double?

    // @DataMember(Name="last_payment_date")
    public var last_payment_date:Date?

    // @DataMember(Name="account_label")
    public var account_label:String?

    // @DataMember(Name="insurance_label")
    public var insurance_label:String?

    // @DataMember(Name="insurance_amount")
    public var insurance_amount:Double?

    // @DataMember(Name="insurance_rate")
    public var insurance_rate:Double?

    // @DataMember(Name="duration")
    public var duration:Int?

    // @DataMember(Name="type")
    public var type:String?

    required public init(){}
}


Swift PowensConnectionSyncRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /ext/powens/connection_synced HTTP/1.1 
Host: hcbtas-q-albamfs-api.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	connection: 
	{
		id: 0,
		id_user: 0,
		id_connector: 0,
		last_update: 0001-01-01,
		created: 0001-01-01,
		active: False,
		last_push: 0001-01-01,
		next_try: 0001-01-01,
		connector: 
		{
			id: 0,
			name: String,
			hidden: False,
			charged: False,
			code: String,
			beta: False,
			color: String,
			slug: String,
			sync_periodicity: 0,
			months_to_fetch: 0,
			siret: String,
			uuid: String,
			restricted: False,
			stability: 
			{
				status: String,
				lastUpdate: 0001-01-01
			},
			capabilities: 
			[
				String
			],
			available_auth_mechanisms: 
			[
				credentials
			],
			categories: 
			[
				String
			],
			auth_mechanism: credentials,
			account_types: 
			[
				{
					
				}
			],
			account_usage: 
			[
				{
					
				}
			],
			documents_type: 
			[
				String
			],
			products: 
			[
				{
					
				}
			]
		},
		accounts: 
		[
			{
				investments: 
				[
					{
						id: 0,
						id_account: 0,
						label: String,
						code: String,
						code_type: String,
						stock_symbol: String,
						stock_market: {},
						source: String,
						description: String,
						quantity: 0,
						unitprice: 0,
						unitvalue: 0,
						valuation: 0,
						diff: 0,
						diff_percent: 0,
						prev_diff: 0,
						portfolio_share: 0,
						vdate: 0001-01-01,
						prev_vdate: 0001-01-01,
						id_security: 0,
						original_currency: 
						{
							id: String,
							name: String,
							symbol: String,
							crypto: False,
							precision: 0,
							prefix: False,
							marketcap: {},
							datetime: 0001-01-01
						},
						original_valuation: 0,
						original_unitvalue: 0,
						original_unitprice: 0,
						original_diff: 0,
						last_update: 0001-01-01,
						deleted: 0001-01-01,
						calculated: 
						[
							String
						],
						id_type: 0
					}
				],
				id: 0,
				id_connection: 0,
				id_user: 0,
				id_source: 0,
				id_parent: 0,
				number: String,
				webid: String,
				original_name: String,
				balance: 0,
				coming: 0,
				display: False,
				last_update: 0001-01-01,
				deleted: 0001-01-01,
				disabled: 0001-01-01,
				iban: String,
				currency: 
				{
					id: String,
					name: String,
					symbol: String,
					crypto: False,
					precision: 0,
					prefix: False,
					marketcap: {},
					datetime: 0001-01-01
				},
				id_type: 0,
				bookmarked: 0,
				name: String,
				error: String,
				usage: 0,
				company_name: String,
				opening_date: 0001-01-01,
				bic: {},
				coming_balance: 0,
				formatted_balance: String,
				type: String,
				calculated: 
				[
					String
				],
				valuation: 0,
				diff: 0,
				diff_percent: 0,
				prev_diff: 0,
				prev_diff_percent: 0,
				information: 
				{
					version: String,
					provider_type: String
				},
				loan: 
				{
					total_amount: 0,
					available_amount: 0,
					used_amount: 0,
					subscription_date: 0001-01-01,
					maturity_date: 0001-01-01,
					next_payment_amount: 0,
					next_payment_date: 0001-01-01,
					rate: 0,
					nb_payments_left: 0,
					nb_payments_done: 0,
					nb_payments_total: 0,
					last_payment_amount: 0,
					last_payment_date: 0001-01-01,
					account_label: String,
					insurance_label: String,
					insurance_amount: 0,
					insurance_rate: 0,
					duration: 0,
					type: String
				}
			}
		],
		state: String,
		error: String,
		error_message: String,
		expire: 0001-01-01,
		id_provider: 0,
		id_bank: 0,
		bank: 
		{
			id: 0,
			name: String,
			hidden: False,
			charged: False,
			code: String,
			beta: False,
			color: String,
			slug: String,
			sync_periodicity: 0,
			months_to_fetch: 0,
			siret: String,
			uuid: String,
			restricted: False,
			stability: 
			{
				status: String,
				lastUpdate: 0001-01-01
			},
			capabilities: 
			[
				String
			],
			available_auth_mechanisms: 
			[
				credentials
			],
			categories: 
			[
				String
			],
			auth_mechanism: credentials,
			account_types: 
			[
				{
					
				}
			],
			account_usage: 
			[
				{
					
				}
			],
			documents_type: 
			[
				String
			],
			products: 
			[
				{
					
				}
			]
		},
		connector_uuid: String,
		informations: {}
	},
	push_type: String,
	id_webhook_data: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	version: 
	{
		major: 0,
		minor: 0,
		build: -1,
		revision: -1,
		majorRevision: -1,
		minorRevision: -1
	},
	content: 
	{
		__type: "System.Net.Http.EmptyContent, System.Net.Http",
		headers: []
	},
	statusCode: Continue,
	reasonPhrase: String,
	headers: [],
	trailingHeaders: [],
	requestMessage: 
	{
		version: 
		{
			major: 0,
			minor: 0,
			build: -1,
			revision: -1,
			majorRevision: -1,
			minorRevision: -1
		},
		versionPolicy: RequestVersionOrLower,
		method: 
		{
			method: GET
		},
		headers: [],
		properties: {},
		options: {}
	},
	isSuccessStatusCode: False
}