POST | /ext/powens/connection_synced |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using AlbaApi.ServiceModel;
using AlbaMfs.Common.Models.Powens.DomainObjects;
using AlbaApi.Model;
namespace AlbaApi.Model
{
[DataContract]
public partial class PowensAccount
{
public PowensAccount()
{
Investments = new PowensInvestment[]{};
Calculated = new string[]{};
}
[DataMember(Name="investments")]
public virtual PowensInvestment[] Investments { get; set; }
[DataMember(Name="id")]
public virtual int Id { get; set; }
[DataMember(Name="id_connection")]
public virtual int? IdConnection { get; set; }
[DataMember(Name="id_user")]
public virtual int? IdUser { get; set; }
[DataMember(Name="id_source")]
public virtual int? IdSource { get; set; }
[DataMember(Name="id_parent")]
public virtual int? IdParent { get; set; }
[DataMember(Name="number")]
public virtual string Number { get; set; }
[DataMember(Name="webid")]
public virtual string WebId { get; set; }
[DataMember(Name="original_name")]
public virtual string OriginalName { get; set; }
[DataMember(Name="balance")]
public virtual decimal? Balance { get; set; }
[DataMember(Name="coming")]
public virtual decimal? Coming { get; set; }
[DataMember(Name="display")]
public virtual bool Display { get; set; }
[DataMember(Name="last_update")]
public virtual DateTime? LastUpdate { get; set; }
[DataMember(Name="deleted")]
public virtual DateTime? Deleted { get; set; }
[DataMember(Name="disabled")]
public virtual DateTime? Disabled { get; set; }
[DataMember(Name="iban")]
public virtual string Iban { get; set; }
[DataMember(Name="currency")]
public virtual PowensCurrency Currency { get; set; }
[DataMember(Name="id_type")]
public virtual int IdType { get; set; }
[DataMember(Name="bookmarked")]
public virtual int Bookmarked { get; set; }
[DataMember(Name="name")]
public virtual string Name { get; set; }
[DataMember(Name="error")]
public virtual string Error { get; set; }
[DataMember(Name="usage")]
public virtual AccountUsage? Usage { get; set; }
[DataMember(Name="company_name")]
public virtual string CompanyName { get; set; }
[DataMember(Name="opening_date")]
public virtual DateTime? OpeningDate { get; set; }
[DataMember(Name="bic")]
public virtual Object Bic { get; set; }
[DataMember(Name="coming_balance")]
public virtual long ComingBalances { get; set; }
[DataMember(Name="formatted_balance")]
public virtual string FormattedBalance { get; set; }
[DataMember(Name="type")]
public virtual string Type { get; set; }
[DataMember(Name="calculated")]
public virtual string[] Calculated { get; set; }
[DataMember(Name="valuation")]
public virtual double Valuation { get; set; }
[DataMember(Name="diff")]
public virtual double Diff { get; set; }
[DataMember(Name="diff_percent")]
public virtual double DiffPercent { get; set; }
[DataMember(Name="prev_diff")]
public virtual double PrevDiff { get; set; }
[DataMember(Name="prev_diff_percent")]
public virtual double PrevDiffPercent { get; set; }
[DataMember(Name="information")]
public virtual PowensInformation Information { get; set; }
[DataMember(Name="loan")]
public virtual PowensLoan Loan { get; set; }
}
[DataContract]
public partial class PowensCurrency
{
[DataMember(Name="id")]
public virtual string Id { get; set; }
[DataMember(Name="name")]
public virtual string Name { get; set; }
[DataMember(Name="symbol")]
public virtual string Symbol { get; set; }
[DataMember(Name="crypto")]
public virtual bool Crypto { get; set; }
[DataMember(Name="precision")]
public virtual int Precision { get; set; }
[DataMember(Name="prefix")]
public virtual bool Prefix { get; set; }
[DataMember(Name="marketcap")]
public virtual Object Marketcap { get; set; }
[DataMember(Name="datetime")]
public virtual DateTime? Datetime { get; set; }
}
[DataContract]
public partial class PowensInformation
{
[DataMember(Name="version")]
public virtual string Version { get; set; }
[DataMember(Name="provider_type")]
public virtual string ProviderType { get; set; }
}
[DataContract]
public partial class PowensInvestment
{
public PowensInvestment()
{
Calculated = new string[]{};
}
[DataMember(Name="id")]
public virtual int Id { get; set; }
[DataMember(Name="id_account")]
public virtual int IdAccount { get; set; }
[DataMember(Name="label")]
public virtual string Label { get; set; }
[DataMember(Name="code")]
public virtual string Code { get; set; }
[DataMember(Name="code_type")]
public virtual string CodeType { get; set; }
[DataMember(Name="stock_symbol")]
public virtual string StockSymbol { get; set; }
[DataMember(Name="stock_market")]
public virtual Object StockMarket { get; set; }
[DataMember(Name="source")]
public virtual string Source { get; set; }
[DataMember(Name="description")]
public virtual string Description { get; set; }
[DataMember(Name="quantity")]
public virtual decimal? Quantity { get; set; }
[DataMember(Name="unitprice")]
public virtual decimal? UnitPrice { get; set; }
[DataMember(Name="unitvalue")]
public virtual decimal? UnitValue { get; set; }
[DataMember(Name="valuation")]
public virtual decimal? Valuation { get; set; }
[DataMember(Name="diff")]
public virtual decimal? Diff { get; set; }
[DataMember(Name="diff_percent")]
public virtual decimal? DiffPercent { get; set; }
[DataMember(Name="prev_diff")]
public virtual decimal? PrevDiff { get; set; }
[DataMember(Name="portfolio_share")]
public virtual decimal PortfolioShare { get; set; }
[DataMember(Name="vdate")]
public virtual DateTime VDate { get; set; }
[DataMember(Name="prev_vdate")]
public virtual DateTime? PrevVDate { get; set; }
[DataMember(Name="id_security")]
public virtual int IdSecurity { get; set; }
[DataMember(Name="original_currency")]
public virtual Currency OriginalCurrency { get; set; }
[DataMember(Name="original_valuation")]
public virtual decimal? OriginalValuation { get; set; }
[DataMember(Name="original_unitvalue")]
public virtual decimal? OriginalUnitValue { get; set; }
[DataMember(Name="original_unitprice")]
public virtual decimal? OriginalUnitPrice { get; set; }
[DataMember(Name="original_diff")]
public virtual decimal? OriginalDiff { get; set; }
[DataMember(Name="last_update")]
public virtual DateTime? LastUpdate { get; set; }
[DataMember(Name="deleted")]
public virtual DateTime? Deleted { get; set; }
[DataMember(Name="calculated")]
public virtual string[] Calculated { get; set; }
[DataMember(Name="id_type")]
public virtual int? IdType { get; set; }
}
[DataContract]
public partial class PowensLoan
{
[DataMember(Name="total_amount")]
public virtual decimal? TotalAmount { get; set; }
[DataMember(Name="available_amount")]
public virtual decimal? AvailableAmount { get; set; }
[DataMember(Name="used_amount")]
public virtual decimal? UsedAmount { get; set; }
[DataMember(Name="subscription_date")]
public virtual DateTime? SubscriptionDate { get; set; }
[DataMember(Name="maturity_date")]
public virtual DateTime? MaturityDate { get; set; }
[DataMember(Name="next_payment_amount")]
public virtual decimal? NextPaymentAmount { get; set; }
[DataMember(Name="next_payment_date")]
public virtual DateTime? NextPaymentDate { get; set; }
[DataMember(Name="rate")]
public virtual decimal? Rate { get; set; }
[DataMember(Name="nb_payments_left")]
public virtual int? NbPaymentsLeft { get; set; }
[DataMember(Name="nb_payments_done")]
public virtual int? NbPaymentsDone { get; set; }
[DataMember(Name="nb_payments_total")]
public virtual int? NbPaymentsTotal { get; set; }
[DataMember(Name="last_payment_amount")]
public virtual decimal? LastPaymentAmount { get; set; }
[DataMember(Name="last_payment_date")]
public virtual DateTime? LastPaymentDate { get; set; }
[DataMember(Name="account_label")]
public virtual string AccountLabel { get; set; }
[DataMember(Name="insurance_label")]
public virtual string InsuranceLabel { get; set; }
[DataMember(Name="insurance_amount")]
public virtual decimal? InsuranceAmount { get; set; }
[DataMember(Name="insurance_rate")]
public virtual decimal? InsuranceRate { get; set; }
[DataMember(Name="duration")]
public virtual int? Duration { get; set; }
[DataMember(Name="type")]
public virtual string Type { get; set; }
}
}
namespace AlbaApi.ServiceModel
{
[DataContract]
public partial class ConnectionRequest
{
public ConnectionRequest()
{
Accounts = new PowensAccount[]{};
}
[DataMember(Name="id")]
public virtual int Id { get; set; }
[DataMember(Name="id_user")]
public virtual long IdUser { get; set; }
[DataMember(Name="id_connector")]
public virtual int IdConnector { get; set; }
[DataMember(Name="last_update")]
public virtual DateTime? LastUpdate { get; set; }
[DataMember(Name="created")]
public virtual DateTime? Created { get; set; }
[DataMember(Name="active")]
public virtual bool Active { get; set; }
[DataMember(Name="last_push")]
public virtual DateTime? LastPush { get; set; }
[DataMember(Name="next_try")]
public virtual DateTime? NextTry { get; set; }
[DataMember(Name="connector")]
public virtual ConnectorReq Connector { get; set; }
[DataMember(Name="accounts")]
public virtual PowensAccount[] Accounts { get; set; }
[DataMember(Name="state")]
public virtual string State { get; set; }
[DataMember(Name="error")]
public virtual string Error { get; set; }
[DataMember(Name="error_message")]
public virtual string ErrorMessage { get; set; }
[DataMember(Name="expire")]
public virtual DateTime? Expire { get; set; }
[DataMember(Name="id_provider")]
public virtual int IdProvider { get; set; }
[DataMember(Name="id_bank")]
public virtual int IdBank { get; set; }
[DataMember(Name="bank")]
public virtual ConnectorReq Bank { get; set; }
[DataMember(Name="connector_uuid")]
public virtual string ConnectorUuid { get; set; }
[DataMember(Name="informations")]
public virtual Object Informations { get; set; }
}
[DataContract]
public partial class ConnectorReq
{
public ConnectorReq()
{
Capabilities = new string[]{};
AvailableAuthMechanisms = new List<AuthMechanism>{};
Categories = new string[]{};
AccountTypes = new List<Object>{};
AccountUsages = new List<Object>{};
DocumentsType = new string[]{};
Products = new List<Object>{};
}
[DataMember(Name="id")]
public virtual int Id { get; set; }
[DataMember(Name="name")]
public virtual string Name { get; set; }
[DataMember(Name="hidden")]
public virtual bool? Hidden { get; set; }
[DataMember(Name="charged")]
public virtual bool Charged { get; set; }
[DataMember(Name="code")]
public virtual string Code { get; set; }
[DataMember(Name="beta")]
public virtual bool Beta { get; set; }
[DataMember(Name="color")]
public virtual string Color { get; set; }
[DataMember(Name="slug")]
public virtual string Slug { get; set; }
[DataMember(Name="sync_periodicity")]
public virtual decimal? SyncPeriodicity { get; set; }
[DataMember(Name="months_to_fetch")]
public virtual int? MonthsToFetch { get; set; }
[DataMember(Name="siret")]
public virtual string Siret { get; set; }
[DataMember(Name="uuid")]
public virtual string Uuid { get; set; }
[DataMember(Name="restricted")]
public virtual bool Restricted { get; set; }
[DataMember(Name="stability")]
public virtual Stability Stability { get; set; }
[DataMember(Name="capabilities")]
public virtual string[] Capabilities { get; set; }
[DataMember(Name="available_auth_mechanisms")]
public virtual List<AuthMechanism> AvailableAuthMechanisms { get; set; }
[DataMember(Name="categories")]
public virtual string[] Categories { get; set; }
[DataMember(Name="auth_mechanism")]
public virtual AuthMechanism AuthMechanism { get; set; }
[DataMember(Name="account_types")]
public virtual List<Object> AccountTypes { get; set; }
[DataMember(Name="account_usage")]
public virtual List<Object> AccountUsages { get; set; }
[DataMember(Name="documents_type")]
public virtual string[] DocumentsType { get; set; }
[DataMember(Name="products")]
public virtual List<Object> Products { get; set; }
}
public partial class PowensConnectionSyncRequest
{
public virtual ConnectionRequest Connection { get; set; }
[DataMember(Name="push_type")]
public virtual string PushType { get; set; }
[DataMember(Name="id_webhook_data")]
public virtual int IdWebhookData { get; set; }
}
}
namespace AlbaMfs.Common.Models.Powens.DomainObjects
{
public enum AccountUsage
{
PRIV = 1,
ORGA = 2,
}
public enum AuthMechanism
{
[EnumMember(Value="credentials")]
Credentials = 1,
[EnumMember(Value="webauth")]
WebAuth = 2,
}
public partial class Currency
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
public virtual string Symbol { get; set; }
public virtual bool Crypto { get; set; }
public virtual int Precision { get; set; }
public virtual bool Prefix { get; set; }
public virtual Object Marketcap { get; set; }
public virtual DateTime? Datetime { get; set; }
}
public partial class Stability
{
public virtual string Status { get; set; }
public virtual DateTime? LastUpdate { get; set; }
}
}
C# 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 }