---
swagger: "2.0"
info:
title: csmt-crm-d-codi-device-management
description: The microservice helps to manage the devices in Banxico for Codi feature.
version: 1.2.0
x-ibm-name: csmt-crm-d-codi-device-management
host: 127.0.0.1
schemes:
- https
basePath: /api
produces:
- application/json
paths:
/v1/customers/codi-banxico/devices/register:
post:
tags:
- register-codi-device-detail
operationId: register-codi-device-detail
summary: LOB:Digital Payments; Feature:Codi; Functionality:Manage Device in
Banxico
description: The API will register the device and application detail in Banxico
for Codi feature
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: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- 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: sid
in: header
required: true
type: string
description: SessionId sent by Consumer
- name: registerCodiDeviceRequest
in: body
schema:
$ref: '#/definitions/RegisterCodiDeviceRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/RegisterCodiDeviceResponse'
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/customers/codi-banxico/devices/validate:
post:
tags:
- validate-codi-device-detail
operationId: validate-codi-device-detail
summary: LOB:Digital Payments; Feature:Codi; Functionality:Validate Device in
Banxico
description: The API helps to validate the device and application detail with
Banxico for Codi feature
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: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- 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: sid
in: header
required: true
type: string
description: SessionId sent by Consumer
- name: validateCodiDeviceDetailRequest
in: body
schema:
$ref: '#/definitions/ValidateCodiDeviceDetailRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/ValidateCodiDeviceDetailResponse'
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/customers/codi-banxico/applications/set-default:
post:
tags:
- set-codi-default-application
operationId: set-codi-default-application
summary: LOB:Digital Payments; Feature:Codi; Functionality:Set default application
description: The API helps to set the default banking application for Codi
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: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- 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: sid
in: header
required: true
type: string
description: SessionId sent by Consumer
- name: setDefaultApplicationRequest
in: body
schema:
$ref: '#/definitions/SetDefaultApplicationRequest'
responses:
204:
description: Successful operation.
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'
/v2/customers/codi-banxico/applications/set-default:
post:
tags:
- set-codi-default-application-v2
operationId: set-codi-default-application-v2
summary: LOB:Digital Payments; Feature:Codi; Functionality:Set default application
description: The API helps to set the default banking application for Codi
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: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- 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: sid
in: header
required: true
type: string
description: SessionId sent by Consumer
- name: setDefaultApplicationInfoRequest
in: body
schema:
$ref: '#/definitions/SetDefaultApplicationInfoRequest'
responses:
204:
description: Successful operation.
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/customers/codi-banxico/devices/delete:
put:
tags:
- delete-codi-device
operationId: delete-codi-device
summary: LOB:Digital Payments; Feature:Codi; Functionality:Delete device in
Banxico
description: This API is used to delete the device registry in Banxico for Codi
feature
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: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- 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: sid
in: header
required: true
type: string
description: SessionId sent by Consumer
- name: deleteDeviceRequest
in: body
schema:
$ref: '#/definitions/DeleteDeviceRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/DeleteDeviceResponse'
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'
/v2/customers/codi-banxico/devices/delete:
put:
tags:
- delete-codi-device-v2
operationId: delete-codi-device-v2
summary: LOB:Digital Payments; Feature:Codi; Functionality:Delete device in
Banxico
description: This API is used to delete the device registry in Banxico for Codi
feature
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: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- 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: sid
in: header
required: true
type: string
description: SessionId sent by Consumer
- name: deleteDeviceInfoRequest
in: body
schema:
$ref: '#/definitions/DeleteDeviceInfoRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/DeleteDeviceInfoResponse'
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:
RegisterCodiDeviceRequest:
type: object
properties:
encryptedDeviceDetails:
$ref: '#/definitions/EncryptedDeviceDetails'
phoneNumber:
description: CoDi client phone number
type: string
example: "5512345678"
required:
- encryptedDeviceDetails
- phoneNumber
EncryptedDeviceDetails:
type: object
properties:
deviceMake:
description: Maker of the device which the client is using to enroll with
Citibanamex CoDi
type: string
example: samsung
deviceModel:
description: Model of the device which the client is using to enroll with
Citibanamex CoDi
type: string
example: SM-G935F
deviceOsId:
description: ID of the Operative system of the device with the client is using
to enroll with Citibanamex CoDi
type: string
example: "1"
deviceOsName:
description: Operative system of the device with the client is using to enroll
with Citibanamex CoDi
type: string
example: Android
deviceOsVersion:
description: Version of the operative system of the device which the user
is using to enroll with Citibanamex CoDi
type: string
example: 8.0.0
deviceSerialNumber:
description: Serial number of the device which a new user is enrolling with
Citibanamex CoDi
type: string
example: 12d58955dcd9e1f4-com.citibanamex.banamexmobile
required:
- deviceMake
- deviceModel
- deviceOsId
- deviceOsName
- deviceOsVersion
- deviceSerialNumber
RegisterCodiDeviceResponse:
type: object
properties:
encryptedCodiDeviceId:
description: Encrypted alias asigned by Banxico to identify the device uniquely
type: string
example: asfsSRTaxdfw#$%&e==
codiBankingAppId:
description: Check code assigned by Banxico to identify the App in the device
type: integer
format: int32
example: 1
encryptedGoogleId:
description: Encrypted Id of the project enrolled with Google in order to
request a new FirebaseId releated to the project
type: string
example: 4OIemuIf04sMzbFBl_duDoWZOO4rADGviq0Rf4UCz-cYS6zvijYesfRbUR1a4BQqKUQ4z56cgmTyEjtQdQQgIz
required:
- encryptedCodiDeviceId
- codiBankingAppId
- encryptedGoogleId
ValidateCodiDeviceDetailRequest:
type: object
properties:
encryptedValidateDevice:
description: Encrypted payload object as defined in the definitions swagger
type: string
example: Q34EDR56TF
required:
- encryptedValidateDevice
ValidateCodiDeviceDetailResponse:
type: object
properties:
codiBankingAppId:
description: Check code assigned by Banxico to identify the App in the device
type: integer
format: int32
example: 1
codiBankingDefaultAppId:
description: Check code that Banxico has for the default application in the
device to get notifications
type: integer
format: int32
example: 2
required:
- codiBankingAppId
- codiBankingDefaultAppId
SetDefaultApplicationRequest:
type: object
properties:
codiDeviceId:
description: Alias asigned by Banxico to identify the device uniquely
type: string
example: "460912423578"
codiBankingAppId:
description: Check code assigned by Banxico to identify the App in the device
type: integer
format: int32
example: 1
messageAuthenticationCode:
description: Hashed message authentication code (HMAC) needed by Banxico to
validate the request's authenticity
type: string
example: dUww7Jl4b9o:APA91bCF5ZgrBqDQGl9QO4OIemuIf-cYS6zvijYesf
required:
- codiDeviceId
- codiBankingAppId
- messageAuthenticationCode
SetDefaultApplicationInfoRequest:
type: object
properties:
customerId:
description: Unique identifier for the customer
type: string
example: "109876542371"
codiDeviceId:
description: Alias asigned by Banxico to identify the device uniquely
type: string
example: "460912423578"
codiBankingAppId:
description: Check code assigned by Banxico to identify the App in the device
type: integer
format: int32
example: 1
messageAuthenticationCode:
description: Hashed message authentication code (HMAC) needed by Banxico to
validate the request's authenticity
type: string
example: dUww7Jl4b9o:APA91bCF5ZgrBqDQGl9QO4OIemuIf-cYS6zvijYesf
required:
- codiDeviceId
- codiBankingAppId
- messageAuthenticationCode
DeleteDeviceRequest:
type: object
properties:
phoneNumber:
description: CoDi client phone number
type: string
example: "5512345678"
customerId:
description: Unique identifier for the customer
type: string
example: "109876542371"
legalRepresentativeId:
description: Unique identifier for corporate legal Representative. Only for
Corporate customers
type: string
example: "1"
maxLength: 2
encryptedDeleteDevice:
description: Information on the device and account that will be removed from
the Banxico service.
type: string
example: Q34EDR56TF
required:
- phoneNumber
- customerId
- encryptedDeleteDevice
DeleteDeviceInfoRequest:
type: object
properties:
phoneNumber:
description: CoDi client phone number
type: string
example: "5512345678"
customerId:
description: Unique identifier for the customer
type: string
example: "109876542371"
legalRepresentativeId:
description: Unique identifier for corporate legal Representative. Only for
Corporate customers
type: string
example: "1"
maxLength: 2
encryptedDeleteDevice:
description: Encrypted object as defined in the definitions swagger.
type: string
format: byte
example: Q34EDR56TF
required:
- phoneNumber
- customerId
- encryptedDeleteDevice
DeleteDeviceResponse:
type: object
properties:
responses:
type: array
items:
$ref: '#/definitions/Response'
required:
- responses
DeleteDeviceInfoResponse:
type: object
properties:
responses:
type: array
items:
$ref: '#/definitions/Response'
required:
- responses
Response:
type: object
properties:
responseCode:
description: Response code for each phone sent in the array, according to
its position
type: string
example: "0"
responseDescription:
description: Response description for each phone sent in the array, accordign
to its position
type: string
example: Device Deleted successfully
required:
- responseCode
- responseDescription
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
...