---
swagger: "2.0"
info:
title: csmt-cso-d-offer-simulation-detail
description: This microservice will provide functionality for simulating offers
that are related to the customer for the Digital and CRP channels.
version: 1.0.0
x-ibm-name: csmt-cso-d-offer-simulation-detail
host: 127.0.0.1
schemes:
- https
basePath: /api
produces:
- application/json
paths:
/v1/customers/offers/simulation/detail/retrieve:
post:
tags:
- retrieve-offer-simulation-detail
operationId: retrieve-offer-simulation-detail
summary: LOB:Customers; Feature:CSO; Functionality:Similuate Offer
description: This API will be used to retrieve the information of the top offers
related to a customer.
consumes:
- application/json
produces:
- application/json
parameters:
- name: client_id
in: header
required: true
type: string
description: Client ID generated during application registration
- name: Authorization
in: header
required: true
type: string
description: The Authorization Token received during login
- name: Accept
in: header
required: true
type: string
description: Content-Types that are acceptable for the response
- name: uuid
in: header
required: true
type: string
description: 128 bit UUID that you generate for every request
- name: Accept-Language
in: header
required: false
type: string
description: List of acceptable human languages for response
- name: Content-Type
in: header
required: true
type: string
description: Content-Types that are sent in the request
- name: countryCode
in: header
required: true
type: string
description: Country code in 2 character ISO 3166 format
- name: businessCode
in: header
required: true
type: string
description: Business code identified during application registration
- name: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- name: sid
in: header
required: true
type: string
description: SessionId sent by Consumer
- name: retrieveOfrSimulationDtlRequest
in: body
schema:
$ref: '#/definitions/RetrieveOfrSimulationDtlRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/RetrieveOfrSimulationDtlResponse'
400:
description:
Type | Code | Details |
error | invalidRequest | Missing
or invalid Parameters |
schema:
$ref: '#/definitions/ErrorResponse'
401:
description: Type | Code | Details |
error | unAuthorized | Authorization
credentials are missing or invalid |
schema:
$ref: '#/definitions/ErrorResponse'
403:
description: Type | Code | Details | More
Info |
error | accessNotConfigured | The request
operation is not configured to access this resource | Channel/Country/Business
provided in the request is not supported currently |
schema:
$ref: '#/definitions/ErrorResponse'
404:
description: Type | Code | Details | More
Info |
error | resourceNotFound | The requested
resource was not found | Empty resource/resource not found |
schema:
$ref: '#/definitions/ErrorResponse'
422:
description: Type | Code | Details |
error | businessValidationFailed | Business
validation error occured on one or more parameters |
schema:
$ref: '#/definitions/ErrorResponse'
500:
description: Type | Code | Details |
fatal | serverUnavailable | The
request failed due to an internal error/server unavailability |
schema:
$ref: '#/definitions/ErrorResponse'
definitions:
RetrieveOfrSimulationDtlRequest:
type: object
properties:
customerId:
description: Unique identifier of the customer.
type: string
example: "157804359"
pattern: ^[0-9]{1,9}$
encryptedCheckCodeIntegrity:
description: Encrypted Check Code to verify the integrity of the parameters
in the request
type: string
example: pfuGeZv93mjFCsxKgcy5dt6TB5ltoiy4IXjyvjmz2cXjqt38tvsfY9
investmentAmount:
description: Amount that user choose to invest.
type: number
format: double
maximum: 15
example: 1234567890123456
tenureTerm:
description: Investment term.
type: integer
format: int32
maximum: 3
example: 30
digitalChannelFlag:
description: Flag to know if is a Digital Channel or another type of channel.
type: boolean
example: true
required:
- customerId
- encryptedCheckCodeIntegrity
- digitalChannelFlag
RetrieveOfrSimulationDtlResponse:
type: object
properties:
customer:
$ref: '#/definitions/Customer'
Customer:
type: object
properties:
encryptedCustomerId:
description: Encrypted unique identifier of the customer.
type: string
example: pfuGeZv93mjFCsxKgcy5dt6TB5ltoiy4IXjyvjmz2cXjqt38tvsfY9
encryptedFirstName:
description: Encrypted name of the client for presentation of offer.
type: string
example: pfuGeZv93mjFCsxKgcy5dt6TB5ltoiy4IXjyvjmz2cXjqt38tvsfY9
offer:
type: array
items:
$ref: '#/definitions/Offers'
Offers:
type: object
properties:
offerType:
description: Offer type legend for offer presentation. 1 – BAU DIGITAL, 2
– BAU Sucursal, 3 - Promocional
type: integer
format: int32
example: 1
productCode:
description: Product identifies goods and services that can be offered, sold,
purchased or traded by Citi, its competitors, counterparties and other Involved
Parties, or in which Citi has an interest during the normal course of its
business activity.
type: integer
format: int32
example: 87
productInstrument:
description: Unique identifier for different instrument.
type: integer
format: int32
example: 4
channelOrigin:
description: Channel of origin (when you take the offer in a channel you will
have that channel marked, this field will allow you to know that it originally
came from CRP).
type: string
example: CRP
campaignId:
description: Identifier of the campaign to track which campaign the customer
participated in.
type: string
example: BAUDIGITAL
campaignName:
description: Name of Campaign.
type: string
example: Pagare 60 días (Plazo)
lastUpdatedDate:
description: Upload date in BDU in order to know when the offer information
was updated.
type: string
format: date
example: "2021-09-30"
expiryDate:
description: Offer Expiration Date.
type: string
format: date
example: "2021-09-30"
investment:
$ref: '#/definitions/Investment'
Investment:
type: object
properties:
accountTypeDescription:
description: Name of the type of account where the money will be taken for
the investment.
type: string
example: Cuenta Perfiles
encryptedCheckingAccountNumber:
description: Encrypted Checking Account Number where the investment money
will be taken.
type: string
example: pfuGeZv93mjFCsxKgcy5dt6TB5ltoiy4IXjyvjmz2cXjqt38tvsfY9
encryptedContractNumber:
description: Encrypted Investment contract number.
type: string
example: pfuGeZv93mjFCsxKgcy5dt6TB5ltoiy4IXjyvjmz2cXjqt38tvsfY9
investmentRate:
description: Investment rate.
type: number
format: double
example: 3.452000
investmentAmount:
description: Amount to invest.
type: number
format: double
example: 10000000000000
tenureTerm:
description: Investment term.
type: integer
format: int32
example: 30
maturityInstructionTypeCode:
description: Code of the instruction or action to follow once the investment
term is finished.
type: integer
format: int32
example: 1
maturityInstructionType:
description: Description Instruction at expiration for presentation to the
client.
type: string
example: Reembolso Total
maturityInterestAmount:
description: Earned income before taxes.
type: string
example: "0.45"
taxRate:
description: Income tax rate used to calculate withholding tax.
type: number
format: double
example: 12.123000
investmentNumber:
description: Number of Invesment for that contract
type: integer
format: int32
example: 10
maturityRate:
description: Indicator used to know the total return on passive investment
or savings operations.
type: number
format: double
example: 0.008600
inflationAdjustedMaturityRate:
description: Indicator that subtracts the estimated inflation in the following
12 month period from the nominal GAT.
type: number
format: double
example: -0.028200
maturityDate:
description: Date in which the GAT is calculated.
type: string
format: date
example: "2021-09-30"
maturityDurationDays:
description: Validity duration of the GAT after its creation.
type: integer
format: int32
example: 5
maturityExpiryDate:
description: Date that reflects the end of validity of the GAT, it is calculated
from the start date of the GAT and the number of days contained in the field
of duration of the GAT.
type: string
format: date
example: "2021-09-30"
ErrorResponse:
properties:
type:
type: string
description: Invalid - Request did not confirm to the specification and was
unprocessed and rejected. Please fix the value and try again
enum:
- error
- warn
- invalid
- fatal
code:
description: Error code which qualifies the error
type: string
details:
description: Human readable explanation specific to the occurrence of the
problem
type: string
location:
description: The name of the field that resulted in the error
type: string
moreInfo:
description: More Info can be used to pass any additional details
type: string
uuid:
description: 128 bit UUID that you generate for every request
type: string
timestamp:
description: Timestamp of the error
type: string
required:
- type
- code
x-ibm-configuration:
enforced: true
testable: true
phase: realized
securityDefinitions:
OAuth2 Application Flow:
type: oauth2
description: ""
flow: application
scopes:
/api/v1: ""
tokenUrl: https://perf.api.externalapib2b.wlb.lac.nsroot.net:7100/mx-gcgapi/perfext/api/v1/oauth/token
Client ID:
type: apiKey
description: ""
in: header
name: X-IBM-Client-Id
security:
- OAuth2 Application Flow:
- /api/v1
Client ID: []
x-ibm-endpoints:
- endpointUrl: https://perf.api.externalapib2b.wlb.lac.nsroot.net:7100/mx-gcgapi/perfext
type:
- production
- development
...