AlbaApi

<back to all web services

PowensConnectionSyncRequest

The following routes are available for this service:
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

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
}