public TestCommand() { this.IsCommand("test-api-access", "Visit https://developer.omniture.com/en_US/content_page/enterprise-api/c-get-web-service-access-to-the-enterprise-api to setup API access for a user and to find your API secret key."); Endpoint = new EndpointParameters(); Endpoint.ApplyTo(this); }
/// <summary> /// Solicita la anulación o cancelación de un token o clave transaccional. /// </summary> /// <param name="docType">El tipo de documento del usuario para el que fue emitido token transaccional.</param> /// <param name="docNumber">El número de documento del usuario para el que fue emitido token transaccional..</param> /// <param name="token">El valor del token que se desea cancelar.</param> /// <param name="appId">El identificador de la aplicación que emitió el token transaccional.</param> /// <param name="accountType">El identificador del tipo de cuenta que fue asociado al token transaccional.</param> /// <param name="amount">El valor de la transacción asociado al token que se desea cancelar.</param> /// <param name="channelKey">El código el canal por el que se redime el token transaccional.</param> /// <param name="metadata">Los metadatos personalizados que fueron asociados en el proceso de generación del token transaccional.</param> /// <remarks>Esta operación solo está disponible cuando el servicio ASPEN fue iniciado en modo de depuración o para ambiente de desarrollo.</remarks> internal void NullifyToken( string docType, string docNumber, string token, int appId, string accountType = null, int?amount = null, string channelKey = null, string metadata = null) { Dictionary <string, object> body = new Dictionary <string, object>() { { "docType", docType }, { "docNumber", docNumber }, { "appId", appId }, { "accountType", accountType }, { "amount", amount }, { "channelKey", channelKey }, { "metadata", metadata } }; EndpointParameters endpointParameters = new EndpointParameters() .AddToken(token); IRestRequest request = new AspenRequest( Scope.Autonomous, EndpointMapping.NullifyToken, body, endpointParameters); this.Execute(request); }
/// <summary> /// Valida la información de un token o clave transaccional generado y marca el token como utilizado. /// </summary> /// <param name="docType">El tipo de documento del usuario para el que se solicita la generación de un token transaccional.</param> /// <param name="docNumber">El número de documento del usuario para el que se solicita la generación de un token transaccional.</param> /// <param name="token">El valor del token que se desea redimir.</param> /// <param name="amount">El valor de la transacción para la que se utilizará el token.</param> /// <param name="metadata">Los metadatos personalizados para asociar al proceso de generación del token transaccional.</param> /// <returns> /// La información resultante del proceso de redención del token transaccional. /// </returns> public TokenRedeemedInfo RedeemToken( string docType, string docNumber, string token, int amount, string metadata = null) { Dictionary <string, object> body = new Dictionary <string, object>() { { "docType", docType }, { "docNumber", docNumber }, { "amount", amount }, { "metadata", metadata } }; EndpointParameters endpointParameters = new EndpointParameters() .AddToken(token); IRestRequest request = new AspenRequest( Scope.Autonomous, EndpointMapping.RedeemToken, body, endpointParameters); return(this.Execute <TokenRedeemedInfo>(request)); }
/// <summary> /// This method is called when a Send Location is enabled. /// </summary> public override void Open( EndpointParameters endpointParameters, IPropertyBag handlerPropertyBag, string propertyNamespace) { this._propertyNamespace = propertyNamespace; }
/// <summary> /// Desvincula la información de una cuenta de las cuentas inscritas de un usuario para transferencia de saldos. /// </summary> /// <param name="docType">El tipo de documento del cliente al cual se vinculó la cuenta.</param> /// <param name="docNumber">El número de documento del cliente al cual se vinculó la cuenta.</param> /// <param name="cardHolderDocType">El tipo de documento del titular de la cuenta.</param> /// <param name="cardHolderDocNumber">El número de documento del titular de la cuenta.</param> public void UnlinkTransferAccount( string docType, string docNumber, string cardHolderDocType, string cardHolderDocNumber) { if (!ServiceLocator.Instance.Runtime.IsDevelopment) { Throw.IfNullOrEmpty(docType, nameof(docType)); Throw.IfNullOrEmpty(docNumber, nameof(docNumber)); Throw.IfNullOrEmpty(cardHolderDocType, nameof(cardHolderDocType)); Throw.IfNullOrEmpty(cardHolderDocNumber, nameof(cardHolderDocNumber)); } EndpointParameters endpointParameters = new EndpointParameters { { "@[OwnerDocType]", docType }, { "@[OwnerDocNumber]", docNumber }, { "@[CardHolderDocType]", cardHolderDocType }, { "@[CardHolderDocNumber]", cardHolderDocNumber } }; IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.UnlinkTransferAccountByUserIdentityAndCardHolder, endpointParameters); this.Execute(request); }
/// <summary> /// Obtiene la información de saldos de una cuenta asociada al usuario actual. /// </summary> /// <param name="accountId">Identificador de la cuenta para la que se obtienen los saldos.</param> /// <returns> /// Lista de tipo <see cref="IBalanceInfo" /> con la información de saldos de las cuentas del usuario actual. /// </returns> public IList <BalanceExtendedInfo> GetBalances(string accountId) { EndpointParameters endpointParameters = new EndpointParameters().AddAccountId(accountId); IRestRequest request = new AspenRequest(Scope.Delegated, EndpointMapping.BalancesFromCurrentUser, endpointParameters); return(this.Execute <List <BalanceExtendedInfo> >(request)); }
/// <summary> /// This method is called when a Send Location is enabled. /// </summary> public void Open( EndpointParameters endpointParameters, IPropertyBag handlerPropertyBag, string propertyNamespace) { _propertyNamespace = propertyNamespace; }
public GetCalculatedMetricsCommand() { this.IsCommand("get-metrics", "Lists calculated metrics."); this.HasRequiredOption("r=", "Report suite to use", v => Suite = v); Endpoint = new EndpointParameters(); Endpoint.ApplyTo(this); }
/// <summary> /// Obtiene la información resumida de las cuentas asociadas a un usuario a partir de su alias utilizado en el registro. /// </summary> /// <param name="channelId">El identificador del canal por el que se registró el usuario.</param> /// <param name="enrollmentAlias">El alias utilizado en el proceso de registro del usuario.</param> /// <returns> /// Lista de instancias de <see cref="IAccountInfo"/> con la información de las cuentas del usuario a partir del alias especificado. /// </returns> public IList <AccountInfo> GetAccountsByAlias(string channelId, string enrollmentAlias) { EndpointParameters endpointParameters = new EndpointParameters() .AddChannelId(channelId) .AddEnrollmentAlias(enrollmentAlias); IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.AccountsByAlias, endpointParameters); return(this.Execute <List <AccountInfo> >(request)); }
/// <summary> /// Obtiene la información resumida de las cuentas asociadas a un usuario. /// </summary> /// <param name="docType">El tipo de documento del usuario.</param> /// <param name="docNumber">El número de documento del usuario.</param> /// <returns> /// Lista de instancias de <see cref="IAccountInfo"/> con la información del resultado por la solicitud de cuentas del usuario especificado. /// </returns> public IList <AccountInfo> GetAccounts(string docType, string docNumber) { EndpointParameters endpointParameters = new EndpointParameters() .AddDocType(docType) .AddDocNumber(docNumber); IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.AccountsByUserIdentity, endpointParameters); return(this.Execute <List <AccountInfo> >(request)); }
/// <summary> /// Obtiene la información de los movimientos financieros de una cuenta asociada al usuario actual. /// </summary> /// <param name="accountId">El identificador de la cuenta para la que se obtienen los movimientos financieros.</param> /// <param name="accountTypeId">El identificador del tipo de cuenta que se desea filtrar o <see langword="null" /> para omitir el filtro.</param> /// <returns> /// Lista de tipo <see cref="IMiniStatementInfo" /> con la información de los movimientos financieros de la cuenta especificada del usuario actual. /// </returns> public IList <MiniStatementInfo> GetStatements(string accountId, string accountTypeId = null) { EndpointParameters endpointParameters = new EndpointParameters() .AddAccountId(accountId) .AddAccountTypeId(string.IsNullOrWhiteSpace(accountTypeId) ? "*" : accountTypeId); IRestRequest request = new AspenRequest(Scope.Delegated, EndpointMapping.StatementsFromCurrentUser, endpointParameters); return(this.Execute <List <MiniStatementInfo> >(request)); }
/// <summary> /// Obtiene la información de un token o clave transaccional en formato imagen (base64). /// </summary> /// <param name="channelId">El identificador del canal por el que se registró el usuario.</param> /// <param name="enrollmentAlias">El alias utilizado en el proceso de registro del usuario.</param> /// <returns> /// Cadena de texto que representa a la imagen del token transaccional en formato base64. /// </returns> public string GetTokenByAlias(string channelId, string enrollmentAlias) { EndpointParameters endpointParameters = new EndpointParameters() .AddChannelId(channelId) .AddEnrollmentAlias(enrollmentAlias); IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.GenerateTokenByAlias, endpointParameters); return(this.Execute(request).Content); }
/// <summary> /// Creates an <see cref="IEtpServer"/> instance. /// </summary> /// <param name="webSocket">The websocket to create the server for.</param> /// <param name="etpVersion">The ETP version for the session.</param> /// <param name="encoding">The ETP encoding for the session.</param> /// <param name="headers">The websocket headers.</param> /// <returns>The created server.</returns> protected override IEtpServer CreateServerCore(IEtpServerWebSocket webSocket, EtpVersion etpVersion, EtpEncoding encoding, IDictionary <string, string> headers) { var ws = webSocket as EtpServerWebSocket; if (ws == null) { throw new ArgumentException("Must be a WebSocket4Net websocket", nameof(webSocket)); } return(new EtpServer(ws, etpVersion, encoding, EndpointInfo, parameters: EndpointParameters.CloneForVersion(etpVersion), headers: headers)); }
/// <summary> /// Obtiene la información de las cuentas vinculadas a un usuario para transferencia de saldos. /// </summary> /// <param name="docType">El tipo de documento del usuario para el que se obtienen las cuentas.</param> /// <param name="docNumber">El número de documento del usuario para el que se obtienen las cuentas.</param> /// <returns> /// Lista de instancias de <see cref="ITransferAccountInfo" /> con la información de las cuentas vinculadas al usuario especificado. /// </returns> public IList <TransferAccountInfo> GetTransferAccounts(string docType, string docNumber) { EndpointParameters endpointParameters = new EndpointParameters { { "@[OwnerDocType]", docType }, { "@[OwnerDocNumber]", docNumber } }; IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.TransferAccountsByUserIdentity, endpointParameters); return(this.Execute <List <TransferAccountInfo> >(request) ?? Enumerable.Empty <TransferAccountInfo>().ToList()); }
/// <summary> /// Obtiene la información del resultado por la solicitud de los saldos de una cuenta asociada a un usuario de forma segura.B /// </summary> /// <param name="docType">El tipo de documento del propietario de la cuenta.</param> /// <param name="docNumber">El número de documento del propietario de la cuenta.</param> /// <param name="accountId">El identificador de la cuenta para la que se obtienen los saldos.</param> /// <returns> /// Lista de instancias de <see cref="IInquiryResultInfo{IBalanceInfo}" /> con la información del resultado por la solicitud de los saldos de una cuenta del usuario especificado. /// </returns> IList<BalanceResultInfo> IBalanceInquiries<BalanceResultInfo>.GetBalances( string docType, string docNumber, string accountId) { EndpointParameters endpointParameters = new EndpointParameters() .AddDocType(docType) .AddDocNumber(docNumber) .AddAccountId(accountId); IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.BalancesByUserIdentity, endpointParameters); return this.Execute<List<BalanceResultInfo>>(request, "1.1"); }
/// <summary> /// Obtiene la información del resultado que encapsula los saldos de una cuenta asociada a un usuario a partir de su alias de registro procesada de forma segura. /// </summary> /// <param name="channelId">El identificador del canal por el que se registró el usuario.</param> /// <param name="enrollmentAlias">El alias utilizado en el proceso de registro del usuario.</param> /// <param name="accountId">El identificador de la cuenta para la que se obtienen los saldos.</param> /// <returns> /// Lista de instancias de <see cref="IInquiryResultInfo{IBalanceInfo}" /> con la información del resultado por la solicitud de los saldos de una cuenta del usuario especificado. /// </returns> IList<BalanceResultInfo> IBalanceInquiries<BalanceResultInfo>.GetBalancesByAlias( string channelId, string enrollmentAlias, string accountId) { EndpointParameters endpointParameters = new EndpointParameters() .AddChannelId(channelId) .AddEnrollmentAlias(enrollmentAlias) .AddAccountId(accountId); IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.BalancesByAlias, endpointParameters); return this.Execute<List<BalanceResultInfo>>(request, "1.1"); }
/// <summary> /// Obtiene la información del resultado por la solicitud de los movimientos financieros de una cuenta asociada a un usuario de forma segura. /// </summary> /// <param name="docType">El tipo de documento del propietario de la cuenta.</param> /// <param name="docNumber">El número de documento del propietario de la cuenta.</param> /// <param name="accountId">El identificador de la cuenta para la que se obtienen los movimientos financieros.</param> /// <param name="accountTypeId">El identificador del tipo de cuenta (bolsillo) que se desea filtrar o <see langword="null" /> para omitir el filtro.</param> /// <returns> /// Lista de instancias de <see cref="IInquiryResultInfo{TData}" /> con la información del resultado por la solicitud de los saldos de una cuenta del usuario especificado. /// </returns> IList<MiniStatementResultInfo> IStatementInquiries<MiniStatementResultInfo>.GetStatements( string docType, string docNumber, string accountId, string accountTypeId) { EndpointParameters endpointParameters = new EndpointParameters() .AddDocType(docType) .AddDocNumber(docNumber) .AddAccountId(accountId) .AddAccountTypeId(string.IsNullOrWhiteSpace(accountTypeId) ? "*" : accountTypeId); IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.StatementsByUserIdentity, endpointParameters); return this.Execute<List<MiniStatementResultInfo>>(request, "1.1"); }
/// <summary> /// Obtiene la información del resultado que encapsula los movimientos financieros de una cuenta asociada a un usuario a partir de su alias de registro procesado de forma segura. /// </summary> /// <param name="channelId">El identificador del canal por el que se registró el usuario.</param> /// <param name="enrollmentAlias">El alias utilizado en el proceso de registro del usuario.</param> /// <param name="accountId">El identificador de la cuenta para la que se obtienen los saldos.</param> /// <param name="accountTypeId">El identificador del tipo de cuenta (bolsillo) que se desea filtrar o <see langword="null" /> para omitir el filtro.</param> /// <returns> /// Lista de instancias de <see cref="IInquiryResultInfo{IMiniStatementInfo}" /> con la información del resultado por la solicitud de los movimientos de una cuenta del usuario especificado. /// </returns> IList<MiniStatementResultInfo> IStatementInquiries<MiniStatementResultInfo>.GetStatementsByAlias( string channelId, string enrollmentAlias, string accountId, string accountTypeId) { EndpointParameters endpointParameters = new EndpointParameters() .AddChannelId(channelId) .AddEnrollmentAlias(enrollmentAlias) .AddAccountId(accountId) .AddAccountTypeId(string.IsNullOrWhiteSpace(accountTypeId) ? "*" : accountTypeId); IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.StatementsByAlias, endpointParameters); return this.Execute<List<MiniStatementResultInfo>>(request, "1.1"); }
/// <summary> /// Desvincula la información de una cuenta de las cuentas inscritas para transferencia de saldos del usuario actual. /// </summary> /// <param name="alias">El nombre o alias con el que se vinculó la cuenta.</param> public void UnlinkTransferAccount(string alias) { if (!ServiceLocator.Instance.Runtime.IsDevelopment) { Throw.IfNullOrEmpty(alias, nameof(alias)); } EndpointParameters endpointParameters = new EndpointParameters { { "@[Alias]", alias } }; IRestRequest request = new AspenRequest(Scope.Delegated, EndpointMapping.UnlinkTransferAccountFromCurrentUserByAlias, endpointParameters); this.Execute(request); }
public async Task <OkObjectResult> SubmitClient([FromForm] EndpointParameters parameters, CancellationToken cancellationToken) { var hash = parameters.Hash; var data = parameters.Data?.StringFromBase64() ?? string.Empty; _logger.LogTrace("Received hash: {Hash} endpoint: {Endpoint}", hash, data); try { var submitResult = await _submitClientRequestClient .GetResponse <SubmitClientSuccess, SubmitClientResult>(new { UserId = hash, Data = data }, cancellationToken); if (submitResult.Is(out Response <SubmitClientSuccess> submitClientSuccess)) { return(Ok(MenuHelper.FormatSubmitClientSuccessMessage(submitClientSuccess.Message))); } if (submitResult.Is(out Response <SubmitClientResult> result)) { return result.Message.ResultType switch { SubmitClientResultType.OkWithMessage => Ok(result.Message.ResultValue), SubmitClientResultType.ComingSoon => Ok(_menuHelper.ComingSoon), SubmitClientResultType.NotSupportedEndpointFormat => Ok(_menuHelper.NotSupportedEndpointFormat), SubmitClientResultType.AccessDenied => Ok(_menuHelper.AccessDenied), SubmitClientResultType.NoEndpointsRegistered => Ok(_menuHelper.NoEndpointsRegistered), SubmitClientResultType.HelpCommand => Ok(_menuHelper.HelpCommand), SubmitClientResultType.ListEndpoints => Ok( MenuHelper.ListEndpoints((List <EndpointModel>)result.Message.ResultValue)), _ => throw new ArgumentOutOfRangeException() } } ; } catch (Exception ex) { _logger.LogError(ex, "Something went wrong {UserId}", hash); } return(Ok(string.Format(MenuHelper.SomethingWentWrong, hash))); }
/// <summary> /// Vincula la información de una cuenta a las cuentas inscritas de un usuario para transferencia de saldos. /// </summary> /// <param name="docType">El tipo de documento del cliente al cual se vinculará la cuenta.</param> /// <param name="docNumber">El número de documento del cliente al cual se vinculará la cuenta.</param> /// <param name="accountInfo">La información de la cuenta a vincular.</param> /// <exception cref="ArgumentException">Se produce cuando <paramref name="docType"/> o <paramref name="docNumber"/> es nulo o vacío.</exception> /// <exception cref="ArgumentNullException">Se produce cuando <paramref name="accountInfo"/> es nulo.</exception> public void LinkTransferAccount( string docType, string docNumber, ILinkTransferAccountInfo accountInfo) { if (!ServiceLocator.Instance.Runtime.IsDevelopment) { Throw.IfNullOrEmpty(docType, nameof(docType)); Throw.IfNullOrEmpty(docNumber, nameof(docNumber)); Throw.IfNull(accountInfo, nameof(accountInfo)); } EndpointParameters endpointParameters = new EndpointParameters { { "@[OwnerDocType]", docType }, { "@[OwnerDocNumber]", docNumber } }; IRestRequest request = new AspenRequest(Scope.Autonomous, EndpointMapping.LinkTransferAccountByUserIdentity, endpointParameters); request.AddJsonBody(accountInfo); this.Execute(request); }
public override void Open(EndpointParameters endpointParameters, IPropertyBag handlerPropertyBag, string propertyNamespace) { actionEvent = EventReceivedFromEmbedded; GrabCaster.Framework.Library.Embedded.InitializeOffRampEmbedded(actionEvent); this.propertyNamespace = propertyNamespace; }