---
swagger: "2.0"
info:
version: 1.0.0
title: SERV-CTC-V-CrCardDsptMgt
description: NC This microservice is to perfom the necesary dispute data to show
in the front end of digital services.
x-ibm-name: serv-ctc-v-crcarddsptmgt
host: 127.0.0.1
basePath: /api
schemes:
- https
produces:
- application/json
paths:
/v1/servicing/disputes/credit-cards/transactions/validate:
post:
tags:
- validate-credit-card-dispute
operationId: validate-credit-card-dispute
summary: 'LOB: Cards, Feature: Disputes, Functionality: Creation'
description: This api is to perform the first and second attempt to validate
the dispute in order to know if the gathered data is valid to create a dispute
in the digital services.
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: disputeValidationRequest
in: body
schema:
$ref: '#/definitions/DisputeValidationRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/DisputeValidationResponse'
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'
/v1/servicing/disputes/credit-cards/transaction:
post:
tags:
- create-credit-card-dispute
operationId: create-credit-card-dispute
summary: 'LOB: Cards, Feature: Disputes, Functionality: Creation'
description: This service is to create a dispute about some transactions that
the customer doesn't recognize as own.
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: createTransactionDisputeRequest
in: body
schema:
$ref: '#/definitions/CreateTransactionDisputeRequest'
responses:
200:
description: Successful operation.
headers:
Eventid:
type: string
description: This is a unique event id generated and encrypted with
session key, which must be used to encrypt the next payload to validate.
Eventidexpirytime:
type: string
description: Event ID expiration time encrypted with session key
schema:
$ref: '#/definitions/CreateTransactionDisputeResponse'
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 |
headers:
Eventid:
type: string
description: This is a unique event id generated and encrypted with
session key, which must be used to encrypt the next payload to validate.
Eventidexpirytime:
type: string
description: Event ID expiration time encrypted with session key
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:
DisputeValidationRequest:
type: object
properties:
transactionId:
description: Transaction ID refers to an identifier or code which uniquely
identifies a specific Transaction across Citi globally.
type: string
example: 28984673s32
accountId:
description: AccountId will be an ID used to represent an account number uniquely.
This could be a random number (surrogate ids) or an Id generated using any
hashing algorithm. Also, this could be confined to a session or stay with
an account number for its life time.
type: string
example: "278926158923"
disputeReasonCode:
description: The code of the main reason configured in the One Disputes Database.
type: string
example: F-FD4
firstQuestion:
$ref: '#/definitions/Question'
required:
- transactionId
- accountId
- disputeReasonCode
- firstQuestion
Question:
type: object
properties:
questionId:
description: Unique identifier assigned for each question.
type: string
example: BC0100
answerId:
description: The code value related to the answer in the answer set for the
question.
type: string
example: "1"
required:
- questionId
- answerId
DisputeValidationResponse:
type: object
properties:
oneDisputeValidationId:
description: Folio number from the one disputes service.
type: string
example: "3068432"
posEntryMode:
description: Entry mode of the transaction, could be magnetic band, chip and
pin or manual
type: string
example: "05"
maxLength: 2
questionnaireId:
description: Unique Identifier associated with the questionnary.
type: string
example: "1234"
questionnaire:
type: array
items:
$ref: '#/definitions/QuestionSet'
required:
- questionnaireId
QuestionSet:
type: object
properties:
questionId:
description: Unique identifier assigned for each question.
type: string
example: BC0100
questionText:
description: This is the text of the question for dispute reason.
type: string
example: What is the problem with your transaction by phone?
answerDataType:
description: The data type required for the answer.
type: string
example: A
questionType:
description: The display type required for the question. Example-multiple
choice question- single selection, multiple selection or free form etc.
type: string
example: "2"
answers:
type: array
items:
$ref: '#/definitions/AnswerSetInfo'
required:
- questionId
- questionType
- answers
AnswerSetInfo:
type: object
properties:
answerId:
description: The code value related to the answer in the answer set for the
question.
type: string
example: "1"
answerText:
description: The description of the code value related to the answer in the
answer set.
type: string
example: Recurring charge canceled
required:
- answerId
- answerText
CreateTransactionDisputeRequest:
type: object
properties:
dispute:
$ref: '#/definitions/DisputeDetail'
DisputeDetail:
type: object
properties:
oneDisputeValidationId:
description: Folio number from the one dispute service.
type: string
example: "286348390"
encryptedCustomerPhone:
description: Encrypted phone number of the customer registered during the
dispute creation.
type: string
example: k9d03ks75nf7
encryptedCustomerEmail:
description: Encrypted email of the customer registered during the dispute
creation
type: string
example: k17ddh57d85j
cardBlockCode:
description: Card block Codes. Possibles values are in AMCR file (AMCR-LB-LM-BLK).
type: string
example: L
questionnaire:
type: array
items:
$ref: '#/definitions/Question'
required:
- oneDisputeValidationId
- encryptedCustomerPhone
- encryptedCustomerEmail
- cardBlockCode
- questionnaire
CreateTransactionDisputeResponse:
type: object
properties:
disputeId:
description: Unique identifier of the dispute created
type: string
example: "3829202"
disputeAmount:
description: Dispute Amount
type: number
format: double
example: 29393.320000
responseDueDate:
description: Expected date when case can be resolved or the next response
in relation to its resolution would be received.
type: string
format: date
example: "2020-12-12"
disputeReasonText:
description: Description of the main reason of the dispute
type: string
example: Charge not recognized
merchantName:
description: Name of the merchant related to the dispute
type: string
example: Amazon
disputeDate:
description: Date when the Dispute happened
type: string
format: date
example: "2020-12-12"
benefitDescription:
description: Customer benefit according to the dispute
type: string
example: "NO"
maxLength: 40
caseStatus:
description: Case Status refers to the present stage or status of the case.It
can have following values:-Case Creation , Retrieval ,CHGBK, FRAUD,ADJS,ARBIT,WRTOFF
type: string
example: CHGBK
required:
- disputeId
- disputeAmount
- responseDueDate
- disputeReasonText
- merchantName
- disputeDate
- benefitDescription
- caseStatus
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: URI to human readable documentation of the error
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://sandbox.externalapib2b.wlb.nam.nsroot.net:7101/mx-gcgapi-uat/sandbox2/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://sandbox.externalapib2b.wlb.nam.nsroot.net:7101/mx-gcgapi-uat/sandbox2
type:
- production
- development
...