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
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 }