---
swagger: "2.0"
info:
version: 1.0.4
title: CSMT-CCT-D-CustomerContactProfile
description: This microservice will retreive data for individual and corporate customers
x-ibm-name: csmt-cct-d-customercontactprofile
basePath: /api
schemes:
- https
produces:
- application/json
paths:
/v1/customers/profile/phoneNumbers/{cardId}:
get:
tags:
- CustomerPhoneNumbers
summary: This API is To fetch customer related phone numbers
description: This API is used to retreive customer related phone numbers
consumes:
- application/json
produces:
- application/json
parameters:
- name: sid
in: header
description: SessionId sent by Consumer
required: true
type: string
- name: client_id
in: header
description: 'Client ID generated during application registration '
required: true
type: string
- name: Authorization
in: header
description: The most recent Authorization token
type: string
required: true
- name: Accept-Language
in: header
description: List of acceptable human languages for response
required: true
type: string
- name: Accept
in: header
description: 'Content-Types that are acceptable for the response '
required: true
type: string
- name: 'uuid '
in: header
description: 'Random 128 bit UUID generated uniquely for every request from
the Customer, which will represent transaction unique identifier '
required: true
type: string
- name: Content-Type
in: header
description: Content-Types that are sent in the request
required: true
type: string
- name: cardId
in: path
description: tokenized card Number of the Customer
required: true
type: string
responses:
200:
description: Success Response
schema:
$ref: '#/definitions/GetRelatedPhoneNumbersResponse'
400:
description:
Type | Code | Details |
error | invalidRequest | Missing
or invalid Parameters |
error | UserNotFound | CustomerId
is Invalid |
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'
500:
description: Type | Code | Details |
fatal | serverUnavailable | The
request failed due to an internal error/server unavailability |
schema:
$ref: '#/definitions/ErrorResponse'
/v1/customers/phone/retrieve:
post:
tags:
- customer-best-phone
summary: This API is to get customer best phone
description: This API is to get customer best phone
consumes:
- application/json
produces:
- application/json
parameters:
- name: client_id
in: header
required: false
type: string
description: Client ID generated during application registration
- name: Authorization
in: header
description: The Authorization Token received during login
type: string
required: false
- name: Accept
in: header
description: Content-Types that are acceptable for the response
type: string
required: true
- name: uuid
in: header
description: 128 bit UUID that you generate for every request
type: string
required: true
- name: Accept-Language
in: header
description: List of acceptable human languages for response
type: string
required: false
- name: Content-Type
in: header
description: Content-Types that are sent in the request
required: true
type: string
- name: channelId
in: header
description: channel where request originated
type: string
required: true
- name: dataCenterLocation
in: header
description: CSI Data center location number
required: false
type: string
maxLength: 2
- name: stationName
in: header
description: Computer name calling or executing API
required: false
type: string
maxLength: 8
- name: bestPhoneDetailRequest
in: body
schema:
$ref: '#/definitions/BestPhoneDetailRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/BestPhoneDetailResponse'
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'
500:
description: Type | Code | Details |
fatal | serverUnavailable | The
request failed due to an internal error/server unavailability |
schema:
$ref: '#/definitions/ErrorResponse'
/v1/customers/email/retrieve:
post:
tags:
- customer-best-email
summary: ' This API is to get customer best email'
description: ' This API is to get customer best email'
consumes:
- application/json
produces:
- application/json
parameters:
- name: client_id
in: header
required: false
type: string
description: Client ID generated during application registration
- name: Authorization
in: header
description: The Authorization Token received during login
type: string
required: false
- name: Accept
in: header
description: Content-Types that are acceptable for the response
type: string
required: true
- name: uuid
in: header
description: 128 bit UUID that you generate for every request
type: string
required: true
- name: Accept-Language
in: header
description: List of acceptable human languages for response
type: string
required: false
- name: Content-Type
in: header
description: Content-Types that are sent in the request
required: true
type: string
- name: channelId
in: header
description: channel where request originated
type: string
required: true
- name: dataCenterLocation
in: header
description: CSI Data center location number
required: false
type: string
maxLength: 2
- name: stationName
in: header
description: Computer name calling or executing API
required: false
type: string
maxLength: 8
- name: customerEmailRequest
in: body
schema:
$ref: '#/definitions/CustomerEmailRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/CustomerEmailResponse'
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'
500:
description: Type | Code | Details |
fatal | serverUnavailable | The
request failed due to an internal error/server unavailability |
schema:
$ref: '#/definitions/ErrorResponse'
/v1/customers/contact/retrieve:
post:
tags:
- customer-contact-detail
summary: ' This API is to get customer best contact'
description: this api should be call if the pointer is 0
consumes:
- application/json
produces:
- application/json
parameters:
- name: client_id
in: header
required: false
type: string
description: Client ID generated during application registration
- name: Authorization
in: header
description: The Authorization Token received during login
type: string
required: false
- name: Accept
in: header
description: Content-Types that are acceptable for the response
type: string
required: true
- name: uuid
in: header
description: 128 bit UUID that you generate for every request
type: string
required: true
- name: Accept-Language
in: header
description: List of acceptable human languages for response
type: string
required: false
- name: Content-Type
in: header
description: Content-Types that are sent in the request
required: true
type: string
- name: channelId
in: header
description: channel where request originated
type: string
required: true
- name: dataCenterLocation
in: header
description: CSI Data center location number
required: false
type: string
maxLength: 2
- name: stationName
in: header
description: Computer name calling or executing API
required: false
type: string
maxLength: 8
- name: customerAddressProfileRequest
in: body
schema:
$ref: '#/definitions/CustomerAddressProfileRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/CustomerAddressProfileResponse'
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'
500:
description: Type | Code | Details |
fatal | serverUnavailable | The
request failed due to an internal error/server unavailability |
schema:
$ref: '#/definitions/ErrorResponse'
/v1/customers/address/retrieve:
post:
tags:
- customer-address
summary: 'this api to get customer best address '
description: this api should be call if the pointer value is >0
consumes:
- application/json
produces:
- application/json
parameters:
- name: client_id
in: header
required: false
type: string
description: Client ID generated during application registration
- name: Authorization
in: header
description: The Authorization Token received during login
type: string
required: false
- name: Accept
in: header
description: Content-Types that are acceptable for the response
type: string
required: true
- name: uuid
in: header
description: 128 bit UUID that you generate for every request
type: string
required: true
- name: Accept-Language
in: header
description: List of acceptable human languages for response
type: string
required: false
- name: Content-Type
in: header
description: Content-Types that are sent in the request
required: true
type: string
- name: channelId
in: header
description: channel where request originated
type: string
required: true
- name: dataCenterLocation
in: header
description: CSI Data center location number
required: false
type: string
maxLength: 2
- name: stationName
in: header
description: Computer name calling or executing API
required: false
type: string
maxLength: 8
- name: customerAddressByPointerRequest
in: body
schema:
$ref: '#/definitions/CustomerAddressByPointerRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/CustomerAddressByPointerResponse'
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'
500:
description: Type | Code | Details |
fatal | serverUnavailable | The
request failed due to an internal error/server unavailability |
schema:
$ref: '#/definitions/ErrorResponse'
definitions:
GetRelatedPhoneNumbersResponse:
type: object
description: This response is to get the customer's representatives list
properties:
phoneDetails:
type: array
items:
$ref: '#/definitions/PhoneDetails'
PhoneDetails:
type: object
description: This is the customer's Phone Related Data
properties:
fullPhoneNumber:
type: string
description: Full Phone Number of the customer
example: ""
BestPhoneDetailRequest:
type: object
properties:
customerId:
description: Unique identifier of the customer
type: string
example: 000004945914
maxLength: 12
phoneType:
description: Type of phone
type: string
example: "01"
maxLength: 2
cofetelIndex:
description: Índice cofetel
type: string
example: "1234"
maxLength: 4
phoneNumber:
description: Numero de teléfono. This field will be optional, if the value
of legacy field 'Opción' is D. If the value of legacy field 'Opción' is
C, then the phoneNumber will be mandatory in that scenario.
type: string
example: "5551394424"
maxLength: 16
recordsDaysCount:
description: Parametro de busqueda
type: string
example: "60"
maxLength: 4
pageId:
description: Page Id for pagination
type: integer
example: 1
required:
- customerId
BestPhoneDetailResponse:
type: object
properties:
moreInformationFlag:
description: More information flag
type: string
format: boolean
example: true
pageId:
description: Page Id for pagination
type: integer
example: 1
phoneData:
type: array
items:
$ref: '#/definitions/PhoneData'
PhoneData:
type: object
properties:
phoneType:
description: phoneType
type: string
example: "01"
maxLength: 2
cofetelIndex:
description: cofetelIndex
type: string
example: "0000"
maxLength: 4
phoneNumber:
description: phoneNumber
type: string
example: "3323479817"
maxLength: 10
extensionNumber:
description: extensionNumber
type: string
example: "0000000"
maxLength: 8
deregistrationDate:
description: phone cancel date
type: string
format: date
example: "2018-02-02"
maxLength: 10
registrationDate:
description: phoneRegistrationDate
type: string
format: date
example: "2018-02-02"
maxLength: 10
lastUpdatedDate:
description: lastUpdatedDate
type: string
format: date
example: "2018-02-02"
maxLength: 10
countryCode:
description: countryCode
type: string
example: ""
bankInternalAreaUpdated:
description: bankInternalAreaUpdated
type: string
example: "0000"
maxLength: 4
lastFailedContactDate:
description: last call date
type: string
format: date
example: "2018-02-02"
maxLength: 10
lastCorrespondenceDate:
description: last customer contact by call
type: string
format: date
example: "2018-02-02"
maxLength: 10
phoneStatus:
description: phoneStatus
type: string
example: "20180202"
maxLength: 8
serviceProviderId:
description: Service provider Id
type: string
example: "0000"
maxLength: 4
agentId:
description: employeeId
type: string
example: "000000000000"
maxLength: 12
phoneOwnershipIndicator:
description: is the phone belongs to the customer or not
type: string
example: "0000"
maxLength: 4
bankInternalSubAreaUpdated:
description: bankInternalSubAreaUpdated
type: string
example: "00000000"
maxLength: 8
phoneSource:
description: phoneSource
type: string
example: "0000"
maxLength: 4
preferContactMedium:
description: preferContactMedium
type: string
example: "00"
maxLength: 2
phoneBasedFirstAccount:
$ref: '#/definitions/PhoneBasedFirstAccount'
PhoneBasedFirstAccount:
type: object
properties:
accountNumber:
description: accountNumber
type: string
example: "000000000000"
maxLength: 12
productCode:
description: productCode
type: string
example: "0000"
maxLength: 4
productInstrument:
description: productInstrument
type: string
example: "00"
maxLength: 2
accountPrefix:
description: accountPrefix
type: string
example: "0000"
maxLength: 4
CustomerEmailRequest:
type: object
properties:
customerId:
description: customerId
type: string
example: "999999999999"
maxLength: 12
required:
- customerId
CustomerEmailResponse:
type: object
properties:
dataCenterLocation:
description: CSI
type: string
example: "10"
maxLength: 2
email:
type: array
items:
$ref: '#/definitions/Email'
required:
- dataCenterLocation
Email:
type: object
properties:
emailAddress:
description: emailAddress
type: string
example: algo@algo.com
maxLength: 78
serviceProvider:
description: serviceProvider
type: string
example: "0000"
maxLength: 4
lastUpdatedDate:
description: lastUpdateDate
type: string
format: date
example: "2015-01-01"
maxLength: 10
registrationDate:
description: registrationDate
type: string
format: date
example: "2015-01-01"
maxLength: 10
CustomerAddressProfileRequest:
type: object
properties:
customerId:
description: customerId
type: string
example: "100004945914"
maxLength: 12
CustomerAddressProfileResponse:
type: object
properties:
customerInformationData:
$ref: '#/definitions/CustomerInformationData'
CustomerInformationData:
type: object
properties:
billingCycleDay:
description: billingCycleDay
type: string
example: "30"
maxLength: 2
fullName:
description: CustomerName
type: string
example: juan perez alvarez
maxLength: 55
creditBureauReportStatus:
description: creditBureauReportStatus
type: string
example: "00"
maxLength: 2
customerType:
description: customerType
type: string
example: "01"
maxLength: 2
creditBureauReportDate:
description: creditBureauReportDate
type: string
format: date
example: "2015-01-01"
maxLength: 10
economicSector:
description: economicSector
type: string
example: "01"
maxLength: 2
segmentTypeCode:
description: segmentTypeCode
type: string
example: "00"
maxLength: 2
staffIndicator:
description: 2 = Empleado Banamex. 1 = No es empleado Banamex. 0 = No calificado.
No se usa pero puede usarse para empleados de otros bancos
type: integer
example: 1
maxLength: 1
customerStatus:
description: customerStatus
type: string
example: "00"
maxLength: 2
customerOwnershipType:
description: Registro usado para origen del Cliente, 0=Banamex, 10=Citi, 25=Factoraje,
Etc, se están usando varias marcas del Cliente
type: integer
example: 1
maxLength: 2
customerSource:
description: how the customer was added by file, manually, etc.
type: string
example: ""
maxLength: 1
curp:
description: curp
type: string
example: HEPV700626HDFRRC07
maxLength: 21
economicActivityCode:
description: economicActivityCode
type: string
example: "000000"
maxLength: 6
businessSectorName:
description: businessSectorName
type: string
example: ""
maxLength: 6
lastActiveStatusChangeDate:
description: lastActiveStatusChangeDate
type: string
format: date
example: "2015-01-01"
maxLength: 10
addressData:
type: array
items:
$ref: '#/definitions/AddressData'
productDetail:
type: array
items:
$ref: '#/definitions/ProductDetail'
customerOtherBankReferences:
type: array
items:
$ref: '#/definitions/CustomerOtherBankReferences'
demographicsData:
$ref: '#/definitions/DemographicsData'
employmentData:
type: array
items:
$ref: '#/definitions/EmploymentData'
phoneDataDetail:
type: array
items:
$ref: '#/definitions/PhoneDataDetail'
taxProfileData:
$ref: '#/definitions/TaxProfileData'
required:
- customerId
- fullName
AddressData:
type: object
properties:
streetName:
description: StreetName
type: string
example: GRUPO BANAMEX 4945914
maxLength: 36
city:
description: city
type: string
example: coyoacan
maxLength: 36
countryCode:
description: cuntryCode
type: string
example: ""
maxLength: 4
postalCode:
description: postalCode
type: string
example: 004980
maxLength: 6
addressType:
description: addressType
type: string
example: "1"
maxLength: 1
addressStatus:
description: addressStatus
type: string
example: "00"
maxLength: 2
mailingAddressIndicator:
description: Domicilio del cliente para correos del Banco 1= domicilio principal,
2 .. n domicilio adicional
type: integer
example: 1
maxLength: 1
residenceCountryCode:
description: ""
type: string
example: "0000"
maxLength: 4
stateCode:
description: StateCode
type: string
example: "00"
maxLength: 2
registrationDate:
description: ""
type: string
format: date
example: "2015-01-01"
maxLength: 10
lastUpdatedDate:
description: lastUpdatedDate
type: string
format: date
example: "2015-01-01"
maxLength: 10
addressNumber:
description: addressNumber
type: string
example: "0001"
maxLength: 4
colony:
description: colony
type: string
example: 'EX HACIENDA COAPA '
maxLength: 24
ProductDetail:
type: object
properties:
productCode:
description: productCode
type: string
example: CTO BNET
maxLength: 13
CustomerOtherBankReferences:
type: object
properties:
referenceBank:
description: referenceBank
type: string
example: "0000"
maxLength: 4
referenceAccountType:
description: referenceAccountType
type: string
example: "0000"
maxLength: 4
referenceAccountNumber:
description: referenceAccountNumber
type: string
example: "0000000000000000"
maxLength: 16
DemographicsData:
type: object
properties:
birhtDate:
description: birhtDate
type: string
format: date
example: "2015-01-01"
maxLength: 10
nationality:
description: nationality
type: string
example: "1"
maxLength: 1
gender:
description: gender
type: string
example: "1"
maxLength: 1
maritalStatus:
description: maritalStatus
type: string
example: "02"
maxLength: 2
dependantCount:
description: dependantCount
type: integer
format: int32
example: 2
maxLength: 6
benefitProviderInstitutionCode:
description: Afiliación al IMSS o ISSSTE u Otro o no afiliado
type: integer
example: 1
maxLength: 1
highestEducationLevel:
description: highestEducationLevel
type: string
example: "05"
maxLength: 2
birthCountryCode:
description: birthCountryCode
type: string
example: "0000"
maxLength: 4
membershipNumber:
description: if the customer is member of a club this is the membership number
type: string
example: "0000000000"
maxLength: 10
seniorPublicFigureType:
description: Es figura pública, el campo puede tener varios valores según
la importancia de la Figura pública. Presidente, diputado, gobernador, etc.
type: integer
example: 1
maxLength: 1
publicFigureRelationship:
description: publicFigureRelationship
type: string
example: "00"
maxLength: 2
EmploymentData:
type: object
properties:
employmentStartDate:
description: employmentStartDate
type: string
format: date
example: "2015-01-01"
maxLength: 10
jobDescription:
description: jobDescription
type: string
example: "00"
maxLength: 2
monthlyIncome:
description: monthlyIncome
type: number
format: double
example: 20000
maxLength: 8
PhoneDataDetail:
type: object
properties:
phoneNumber:
description: phoneNumber
type: string
example: "5556842263"
maxLength: 10
extensionNumber:
description: extension number
type: string
example: "000000"
maxLength: 6
phoneType:
description: phoneType
type: string
example: "00"
maxLength: 2
TaxProfileData:
type: object
properties:
prefixRfc:
description: prefixRfc
type: string
example: pebj
maxLength: 4
birthDateRfc:
description: birthDateRfc
type: string
example: 01091982
maxLength: 8
homonimiaRfc:
description: homonimiaRfc
type: string
example: vp5
maxLength: 3
CustomerAddressByPointerRequest:
type: object
properties:
customerId:
description: customerId
type: string
example: ""
addressId:
description: addressId
type: string
example: ""
pageId:
description: Page Id for pagination
type: integer
example: 1
required:
- customerId
CustomerAddressByPointerResponse:
type: object
properties:
customerName:
description: customerName
type: string
example: ""
pageId:
description: Page Id for pagination
type: integer
example: 1
moreInformationFlag:
description: More information flag
type: string
format: boolean
example: true
addressDataDetail:
type: array
items:
$ref: '#/definitions/AddressDataDetail'
required:
- customerId
- customerName
AddressDataDetail:
type: object
properties:
addressUsageCount:
description: addressUsageCount
type: integer
format: int32
example: 2
maxLength: 4
streetName:
description: StreetName
type: string
example: GRUPO BANAMEX 4945914
maxLength: 36
colony:
description: colony
type: string
example: 'EX HACIENDA DE COAPA '
maxLength: 24
state:
description: StateName
type: string
example: TLALPAN
maxLength: 20
stateCode:
description: stateCode
type: string
example: ""
postalCode:
description: postalCode
type: string
example: "01"
maxLength: 2
addressStatus:
description: addressStatus
type: string
example: 099999
maxLength: 2
registrationDate:
description: registrationDate
type: string
format: date
example: "2015-01-01"
maxLength: 10
countryCode:
description: countryCode
type: string
example: "0003"
maxLength: 4
lastUpdatedDate:
description: lastUpdatedDate
type: string
format: date
example: "2015-01-01"
maxLength: 10
addresBasedPhoneDetail:
type: array
items:
$ref: '#/definitions/AddresBasedPhoneDetail'
AddresBasedPhoneDetail:
type: object
properties:
phoneNumber:
description: phoneNumber
type: string
example: "5556842263"
maxLength: 10
extensionNumber:
description: extensionNumber
type: string
example: "000000"
maxLength: 6
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 or detailed description 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://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
...