A continuación, describimos los endpoints que contiene cada servicio desarrollado para Mirror Strategy:

IMPORTANTE:

El servicio de Aggregation es el que se usarán para las pruebas correspondientes en ambientes de QA y ST:

Account + Customer en Genesys

Card en Spin

Detalle de endpoints

Table of Contents

Aggregation

Estos son los componentes que se estarán usando para la ejecución de pruebas en el proyecto:

Account Aggregation Service

Incorpora los servicios de Account Mirror y Balance Mirror​

Validación de campos mandatorios antes del envío a Fiserv​

Expone endpoints a través de un API REST y gRPC​

POST → /v1/accounts/details

Descripción

Request

Response

HTTP Codes

GRPC Codes

Realiza la consulta de bloqueos de cuenta Activa

1{ 2 "accountNumber": "9500507060523627372" 3}
1{ 2    "accountData": { 3        "accountNumber": "9500507060523627372", 4        "customerNumber": "0995000000000078206" 5    } 6}


200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Realiza la consulta de bloqueos de cuenta Inactiva

1{ 2 "accountNumber": "9500501403742215502" 3}
1{ 2 "accountData": { 3 "accountNumber": "9500501403742215502", 4 "customerNumber": "0995000000000080639", 5 "blockCode1": "U", 6 "blockCode1Date": "2023-09-12", 7 "blockCode2": "X", 8 "blockCode2Date": "2023-09-13" 9 } 10}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Realiza la consulta de bloqueos de cuenta Expirada

1{ 2 "accountNumber": "9500501566817108768" 3}
1{ 2 "accountData": { 3 "accountNumber": "9500501566817108768", 4 "customerNumber": "0995000000000040921" 5 } 6}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Realiza la consulta de bloqueos de cuenta Bloqueada

1{ 2 "accountNumber": "9500509377699205330" 3}
1{ 2 "accountData": { 3 "accountNumber": "9500509377699205330", 4 "customerNumber": "0995000000000080636", 5 "blockCode1": "Z", 6 "blockCode1Date": "2023-09-12" 7 } 8}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

POST → /v1/accounts/blocks

Descripción

Request

Response

HTTP Codes

GRPC Codes

Realiza bloqueos/desbloqueo de cuenta - Bloquear (foreignUse= 0)

1{ 2 "blockCode": "M", 3 "blockCodeIndicator": 0, 4 "foreignUse": 0, 5 "functionCode": "B", 6 "accountNumber": "9500501520328494829" 7}


1{ 2 "functionCode": "B", 3 "accountNumber": "9500501520328494829", 4 "blockCode1Local": "M", 5 "localOrganization": 950 6}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Realiza bloqueos/desbloqueo de cuenta - Bloquear (foreignUse= 1)

1{ 2 "blockCode": "U", 3 "blockCodeIndicator": 0, 4 "foreignUse": 1, 5 "functionCode": "B", 6 "accountNumber": "9500501520328494829" 7}
1{ 2 "functionCode": "B", 3 "accountNumber": "9500501520328494829", 4 "localOrganization": 950 5}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Realiza bloqueos/desbloqueo de cuenta - Desbloquear

1{ 2 "blockCode": "", 3 "blockCodeIndicator": 2, 4 "foreignUse": 0, 5 "functionCode": "U", 6 "accountNumber": "9500501520328494829" 7}


1{ 2 "functionCode": "U", 3 "accountNumber": "9500501520328494829", 4 "blockCode1Local": "M", 5 "localOrganization": 950 6}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Para éste endpoint se requieren los siguientes valores:

  • blockCode: Código de bloqueo proporcionado por Spin.

  • blockCodeIndicator: Indica el código de bloqueo a usar: 0-1 primer código de bloqueo, 2 segundo código de bloqueo.

  • foreignUse: 0

  • functionCode: indica si se va bloquear (“B“) o desbloquear (“U“)

  • accountNumber: código de cuenta.

Escenario de prueba POST /accounts/blocks


POST → /v1/accounts/syncs

Descripción

Request

Response

HTTP Codes

GRPC Codes

Sincroniza el mirror de account con la información de Fiserv - Número de cuenta Activa

1{ 2 "accountNumber": "9500503048928881284" 3}
1{ 2 "accountData": { 3 "accountNumber": "9500503048928881284", 4 "customerNumber": "0995000000000076294", 5 "accountMakerDateOfBirth": "1994-05-06", 6 "availableCredit": 10000.0, 7 "userAmounts9": -50000.0, 8 "userAmounts10": -40000.0 9 } 10}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.POST → /v1/balances

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Sincroniza el mirror de account con la información de Fiserv - Número de cuenta Inactiva

1{ 2 "accountNumber": "9500501403742215502" 3}
1{ 2 "accountData": { 3 "accountNumber": "9500501403742215502", 4 "customerNumber": "0995000000000080639", 5 "blockCode1": "U", 6 "blockCode1Date": "2023-09-12", 7 "blockCode2": "X", 8 "blockCode2Date": "2023-09-13", 9 "accountMakerDateOfBirth": "1994-05-06" 10 } 11}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.POST → /v1/balances

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Sincroniza el mirror de account con la información de Fiserv - Número de cuenta Expirada

1{ 2 "accountNumber": "9500508152383529456" 3}
1{ 2 "accountData": { 3 "accountNumber": "9500508152383529456", 4 "customerNumber": "0995000000000040667", 5 "accountMakerDateOfBirth": "2000-01-01", 6 "availableCredit": 10000.0, 7 "userAmounts9": -170000.0, 8 "userAmounts10": -130000.0, 9 "userAmounts7": -10000.0 10 } 11}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.POST → /v1/balances

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Sincroniza el mirror de account con la información de Fiserv - Número de cuenta Bloqueada

1{ 2 "accountNumber": "9500508176491773011" 3}
1{ 2 "accountData": { 3 "accountNumber": "9500508176491773011", 4 "customerNumber": "0995000000000080637", 5 "blockCode1": "Z", 6 "blockCode1Date": "2023-09-12", 7 "blockCode2Date": "2023-09-18", 8 "accountMakerDateOfBirth": "1994-05-06" 9 } 10}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.POST → /v1/balances

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

POST → /v1/balances

Descripción

Request

Response

HTTP Codes

GRPC Codes

Realiza la consulta de balance de cuenta.

1{ 2 "accountNumber": "9500501520328494829" 3}
1{ 2 "accountOrCardNumber": "9500501520328494829", 3 "currentBalance": 998176209259, 4 "availableCreditLimit": 1823760996, 5 "frozenBalance": 26000.0 6}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

POST → /v1/balances/syncs

Descripción

Request

Response

HTTP Codes

GRPC Codes

Sincroniza el mirror de balance con la información de Fiserv - Número de cuenta Activa

1{ 2 "accountNumber": "9500501520328494829" 3}
1{ 2 "accountOrCardNumber": "9500503048928881284", 3 "currentBalance": -10000.0, 4 "availableCreditLimit": 10000.0 5}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Sincroniza el mirror de balance con la información de Fiserv - Número de cuenta Inactiva

1{ 2 "accountNumber": "9500501403742215502" 3}
1{ 2 "accountOrCardNumber": "9500501403742215502" 3}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Sincroniza el mirror de balance con la información de Fiserv - Número de cuenta Expirada

1{ 2 "accountNumber": "9500508152383529456" 3}
1{ 2 "accountOrCardNumber": "9500508152383529456", 3 "currentBalance": -10000.0, 4 "availableCreditLimit": 10000.0 5}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Sincroniza el mirror de balance con la información de Fiserv - Número de cuenta Bloqueada

1{ 2 "accountNumber": "9500508176491773011" 3}
1{ 2 "accountOrCardNumber": "9500508176491773011" 3}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

PUT → /v1/balances/transfers

Descripción

Request

Response

HTTP Codes

GRPC Codes

Realiza una transferencia - Número de cuenta Activa

1{ 2 "transactionData": { 3 "transactionAmount": 1000, 4 "actionCode": "8000", 5 "authorizationCode": "311S3q", 6 "effectiveDate": "2023-06-21", 7 "description": "P2P", 8 "paidConcept": "test", 9 "memoPostedIndicator": "qqq", 10 "suppressMonetaryTransaction": "qqq", 11 "n1n2ByPass": "qqq", 12 "identifier": "S_IN", 13 "box": "3", 14 "crPlaza": "10MON", 15 "crStore": "50WHN", 16 "keyTracking": "KEYTRACKING0123456789", 17 "senderAccount": "senderAccount012345", 18 "beneficiaryAccount": "beneficiaryAccount1", 19 "counterpartInstitution": "aaaaa", 20 "operatingInstitution": "bbbbb", 21 "frcUprkBeneficiary": "frcUprkBenefi", 22 "orderingFrcUprk": "orderingFrcUp", 23 "device": "123456789-123456789-123456789-12", 24 "ip": "198.162.200.200", 25 "latitude": -109.699, 26 "longitude": 23.062, 27 "recipientName": "recipientName01234567890123456", 28 "orderingName": "orderingName012345678901234567", 29 "paymentSourceId": "paymentSourceId012345" 30 }, 31 "xTransactionId": "123", 32 "accountNumber": "9500503048928881284", 33 "operationType": "D" 34 }
1{ 2 "historyDate": "2023-09-18", 3 "historyTime": "164440", 4 "transactionData": { 5 "transactionCode": "8000", 6 "currentBalance": "-10000", 7 "openToBuy": "13000" 8 } 9}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Realiza una transferencia - Número de cuenta Inactiva

1{ 2 "transactionData": { 3 "transactionAmount": 1000, 4 "actionCode": "8000", 5 "authorizationCode": "311S3q", 6 "effectiveDate": "2023-06-21", 7 "description": "P2P", 8 "paidConcept": "test", 9 "memoPostedIndicator": "qqq", 10 "suppressMonetaryTransaction": "qqq", 11 "n1n2ByPass": "qqq", 12 "identifier": "S_IN", 13 "box": "3", 14 "crPlaza": "10MON", 15 "crStore": "50WHN", 16 "keyTracking": "KEYTRACKING0123456789", 17 "senderAccount": "senderAccount012345", 18 "beneficiaryAccount": "beneficiaryAccount1", 19 "counterpartInstitution": "aaaaa", 20 "operatingInstitution": "bbbbb", 21 "frcUprkBeneficiary": "frcUprkBenefi", 22 "orderingFrcUprk": "orderingFrcUp", 23 "device": "123456789-123456789-123456789-12", 24 "ip": "198.162.200.200", 25 "latitude": -109.699, 26 "longitude": 23.062, 27 "recipientName": "recipientName01234567890123456", 28 "orderingName": "orderingName012345678901234567", 29 "paymentSourceId": "paymentSourceId012345" 30 }, 31 "xTransactionId": "123", 32 "accountNumber": "9500501403742215502", 33 "operationType": "D" 34 }
1{ 2 "historyDate": "2023-09-18", 3 "historyTime": "164651", 4 "transactionData": { 5 "transactionCode": "8000", 6 "openToBuy": "2000" 7 } 8}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Realiza una transferencia - Número de cuenta Expirada

1{ 2 "transactionData": { 3 "transactionAmount": 1000, 4 "actionCode": "8000", 5 "authorizationCode": "311S3q", 6 "effectiveDate": "2023-06-21", 7 "description": "P2P", 8 "paidConcept": "test", 9 "memoPostedIndicator": "qqq", 10 "suppressMonetaryTransaction": "qqq", 11 "n1n2ByPass": "qqq", 12 "identifier": "S_IN", 13 "box": "3", 14 "crPlaza": "10MON", 15 "crStore": "50WHN", 16 "keyTracking": "KEYTRACKING0123456789", 17 "senderAccount": "senderAccount012345", 18 "beneficiaryAccount": "beneficiaryAccount1", 19 "counterpartInstitution": "aaaaa", 20 "operatingInstitution": "bbbbb", 21 "frcUprkBeneficiary": "frcUprkBenefi", 22 "orderingFrcUprk": "orderingFrcUp", 23 "device": "123456789-123456789-123456789-12", 24 "ip": "198.162.200.200", 25 "latitude": -109.699, 26 "longitude": 23.062, 27 "recipientName": "recipientName01234567890123456", 28 "orderingName": "orderingName012345678901234567", 29 "paymentSourceId": "paymentSourceId012345" 30 }, 31 "xTransactionId": "123", 32 "accountNumber": "9500508152383529456", 33 "operationType": "D" 34 }
1{ 2 "historyDate": "2023-09-18", 3 "historyTime": "164734", 4 "transactionData": { 5 "transactionCode": "8000", 6 "currentBalance": "-10000", 7 "openToBuy": "12000" 8 } 9}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

Realiza una transferencia - Número de cuenta Bloqueada

1{ 2 "transactionData": { 3 "transactionAmount": 1000, 4 "actionCode": "8000", 5 "authorizationCode": "311S3q", 6 "effectiveDate": "2023-06-21", 7 "description": "P2P", 8 "paidConcept": "test", 9 "memoPostedIndicator": "qqq", 10 "suppressMonetaryTransaction": "qqq", 11 "n1n2ByPass": "qqq", 12 "identifier": "S_IN", 13 "box": "3", 14 "crPlaza": "10MON", 15 "crStore": "50WHN", 16 "keyTracking": "KEYTRACKING0123456789", 17 "senderAccount": "senderAccount012345", 18 "beneficiaryAccount": "beneficiaryAccount1", 19 "counterpartInstitution": "aaaaa", 20 "operatingInstitution": "bbbbb", 21 "frcUprkBeneficiary": "frcUprkBenefi", 22 "orderingFrcUprk": "orderingFrcUp", 23 "device": "123456789-123456789-123456789-12", 24 "ip": "198.162.200.200", 25 "latitude": -109.699, 26 "longitude": 23.062, 27 "recipientName": "recipientName01234567890123456", 28 "orderingName": "orderingName012345678901234567", 29 "paymentSourceId": "paymentSourceId012345" 30 }, 31 "xTransactionId": "123", 32 "accountNumber": "9500508176491773011", 33 "operationType": "D" 34 }
1{ 2 "historyDate": "2023-09-18", 3 "historyTime": "164818", 4 "transactionData": { 5 "transactionCode": "8000", 6 "openToBuy": "2000" 7 } 8}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

PUT → /v1/balances/transfers-p2p

Descripción

Request

Response

HTTP Codes

GRPC Codes

Realiza una transferencia P2P.

1{ 2 "from": { 3 "accountNumber": "9500508496924050930", 4 "actionCode": "8008", 5 "transactionDescription": "P2P_TRANSFER_SOURCE", 6 "description": "P2P_TRANSFER_SOURCE", 7 "authorizationCode": "1234" 8 }, 9 "to": { 10 "accountNumber": "9500502030236002994", 11 "actionCode": "8012", 12 "transactionDescription": "P2P_TRANSFER_TARGET", 13 "description": "P2P_TRANSFER_SOURCE", 14 "authorizationCode": "1234" 15 }, 16 "effectiveDate": "2022-01-30", 17 "transactionAmount": 100, 18 "device": "abcfghjfghjklghjkfghjk5678956789", 19 "ip": "198.162.123.148", 20 "latitude": 123.56565656, 21 "longitude": -23.565656, 22 "xTransactionId": "123" 23}
1{ 2 "effectiveDate": "2022-01-30", 3 "transactionAmount": "100", 4 "actionOutputArea": { 5 "actionData": [ 6 { 7 "authorizationCode": "1234", 8 "accountNumber": "9500508496924050930", 9 "transactionDescription": "P2P SENDER", 10 "transactionCode": 8008, 11 "currentBalance": -5988391.0, 12 "openToBuy": 5.987391E8, 13 "authorizationNumber": "205229" 14 }, 15 { 16 "authorizationCode": "1234", 17 "accountNumber": "9500502030236002994", 18 "transactionDescription": "P2P RECIEVER", 19 "transactionCode": 8012, 20 "currentBalance": -169434.0, 21 "openToBuy": 1.70434E7, 22 "authorizationNumber": "923589" 23 } 24 ] 25 } 26}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

PUT → /v1/balances/transfers-qr

Descripción

Request

Response

HTTP Codes

GRPC Codes

Realiza una transferencia QR.

1{ 2 "transactionData": { 3 "transactionAmount": 20, 4 "actionCode": "8038", 5 "authorizationCode": "Q1er44", 6 "effectiveDate": "2022-08-24", 7 "description": "QR code test - normal hours", 8 "paidConcept": "Hello", 9 "memoPostedIndicator": " ", 10 "suppressMonetaryTransaction": "Y", 11 "n1n2ByPass": "N", 12 "identifier": 0, 13 "box": "1", 14 "crPlaza": "10MON", 15 "crStore": "50WHN", 16 "keyTracking": "Hello", 17 "beneficiaryAccount": "Hello", 18 "senderAccount": "Hello", 19 "counterpartInstitution": "Hello", 20 "operatingInstitution": "Hello", 21 "frcUprkBeneficiary": "Hello", 22 "orderingFrcUprk": "Hello", 23 "device": "123456789-123456789-123456789-12", 24 "ip": "198.162.200.200", 25 "latitude": -109.699, 26 "longitude": 23.062, 27 "recipientName": "Hello", 28 "orderingName": "Hello", 29 "paymentSourceId": "bf0469d7-b507-44d6-af7d-d4edea6340f1" 30 }, 31 "xTransactionId": "123", 32 "accountNumber": "9500508020127353147" 33}
1{ 2 "historyDate": "2023-09-08", 3 "historyTime": "122732", 4 "transactionData": { 5 "transactionCode": "8038", 6 "transactionDescription": "CASHOUT WITH QR-CODE(FREE BAL)", 7 "currentBalance": "-1382946", 8 "openToBuy": "1382486" 9 } 10}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.


Customer Aggregation service

Incorpora los endpoints de Customer​

Validación de campos mandatorios antes del envío a Fiserv​

Expone endpoints a través de un API REST y gRPC

POST → /customers

Descripción

Request

Response

HTTP Codes

GRPC Codes

Registro del cliente en la el proveedor de clientes.

1{ 2 "logo": "60", 3 "address": "Ciruelas", 4 "houseNumber": "12345", 5 "externalNumber": "8007", 6 "colony": "Lomas", 7 "city": "Lomas de Alvarez", 8 "state": "COL", 9 "postalCode": "99980", 10 "dateOfBirth": "2000-08-06", 11 "stateOfBirth": "CDMX", 12 "email": "lmedina@palo-it.com", 13 "firstName": "Judith", 14 "lastName": "Medina", 15 "maternalLastName": "Ruiz", 16 "mobilePhoneNumber": "5521163588", 17 "identificationNumber": "4152554487415113698", 18 "ine": "1234117890099", 19 "occupation": "Tester", 20 "genderCode": "1", 21 "user4":"1", 22 "identificationNumberFlag": "2" 23}
1{ 2 "customerNumber": "0995000000000080589" 3}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

PUT → /customers

Descripción

Request

Response

HTTP Codes

GRPC Codes

Actualización de los datos del cliente en el proveedor de clientes.

1{ 2 "email": "lmedina@palo-it.com", 3 "numberType": 1, 4 "customerNumber": "0995000000000077863", 5 "address": "Ciruelas", 6 "dateOfBirth": "1999-02-06", 7 "city": "Villa de Alvarez", 8 "countryCode": "MEX", 9 "county": "CDMX", 10 "colony": "ADOLFO LOPEZ MATEOS", 11 "externalNumber": "1007", 12 "firstName": "Sandra", 13 "genderCode": 2, 14 "houseNumber": "123", 15 "ine": "1234117890099", 16 "lastName": "Velasco", 17 "maritalStatus": 0, 18 "maternalLastName": "Medina", 19 "middleName": "Rosa", 20 "mobilePhoneIndicator": 1, 21 "mobilePhoneNumber": "31211635899", 22 "occupation": "NURSE", 23 "ownOrRentResidenceFlag": 0, 24 "postalCode": 54070, 25 "stateOfBirth": "DF" 26}
1{ 2 "outputArea": { 3 "customerNumber": "0995000000000077863", 4 "accountNumber": "0995000000000077863", 5 "responseCode": "", 6 "level": "", 7 "transactionAmount": 0, 8 "countryLimit": { 9 "dailyLimitLoad": 0, 10 "monthlyLimitLoad": 0, 11 "dailyLimitCash": 0, 12 "monthlyLimitCash": 0, 13 "limitForDepositTransactions": 0 14 }, 15 "accountLimit": { 16 "accountDailyAmountLoad": 0, 17 "accountMonthlyAmountLoad": 0, 18 "accountDailyAmountCash": 0, 19 "accountMonthlyAmountCash": 0 20 } 21 } 22}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

POST → /customers/account

Descripción

Request

Response

HTTP Codes

GRPC Codes

Vinculación del cliente en la cuenta de Spin.

1{ 2 "accountNumber": "0004217470138987703", 3 "customerNumber": "0995000000000045698", 4 "qualification": "1", 5 "customerTypeIndicator": 0, 6 "foreignUseIndicator": 0, 7 "alternateCustomer": { 8 "expirationDate": "2023/12/30" 9 } 10}
1{ 2 "customerNumber": "0995000000000045697", 3 "accountNumber": "1650" 4}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.


Card Aggregation service

Incorpora los endpoints de Card​

Validación de campos mandatorios antes del envío a Fiserv​

Expone endpoints a través de un API REST y gRPC​

​POST /cards/embosser/details

Descripción

Request

Response

HTTP Codes

Obtener cuenta mediante Pantoken

1{ 2 "panToken": "0004217470595215803", 3 "cardSequence": 2147483647, 4 "foreignUse": 0 5}
1{ 2 "postToAccount": "9500508261544464147", 3 "blockCode": "Z", 4 "cardNumber": "***************0252", 5 "currentCardActivation": "N", 6 "dateBlock": "2023-09-04" 7}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

PUT /cards/account

Descripción

Request

Response

HTTP Codes

Vinculación de tarjetas a cuenta

1 { 2 "customerOrAccountNumber": "1234567890123456800", 3 "cardNumber": "000123456ID5IXX1234", 4 "cardholderType": 1 5}


1{ 2 "customerOrAccountNumber": "1234567890123456800", 3 "cardNumber": "000123456ID5IXX1234", 4}


200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

POST /cards/account

Descripción

Request

Response

HTTP Codes

Recuperación del numero de cuenta

1{ 2 "cardNumber": "000123456ID5IXX1234", 3} 4


1{ 2 "accountNumber": "0004217470041850252" 3}


200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

El cardNumber debe tener tres ceros a la izquierda para completar el tamaño de 19 dígitos solicitado por el operador bancario.


Escenario de prueba POST /cards/account

PUT /cards/activation​ [Equipo de Spin]

Descripción

Request

Response

HTTP Codes

Activación de tarjetas

1{ 2 "organizationNumber": 999, 3 "cardNumber": "000123456ID5IXX1234", 4 "serviceType": "A", 5 "userData": "string" 6}


1{ 2 "organizationNumber": 999, 3 "logo": 1, 4 "cardNumber": "000123456ID5IXX1234", 5 "serviceType": "A", 6 "numberCardsActivated": 1, 7 "foreignOrg": 1, 8 "numberForeignCardsActivated": 0 9} 10


200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

PUT /cards/embosser/block

Descripción

Request

Response

HTTP Codes

Bloqueo de tarjetas

1{ 2 "blockCode": "Z", 3 "panToken": "0004217470885923553", 4 "cardSequence": 1, 5 "functionCode": "B" //B para bloquear - u Desbloquear 6}
1{} 2

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

Escenario de prueba /cards/embosser/block


Mirror

Account

Consulta de bloqueos​

Repositorio sincronizado con Fiserv​

Disminuye peticiones al Proveedor​

GetAccountDetails

Descripción

Request

Response

GRPC Codes

Realiza la consulta de bloqueos de cuenta.

1{ 2 "accountNumber": "9500501520328494829" 3}
1{ 2 "accountData": { 3 "accountNumber": "9500501520328494829", 4 "customerNumber": "0995000000000035249", 5 "blockCode1": "M", 6 "blockCode1Date": "2023-09-07", 7 "blockCode2": "M", 8 "blockCode2Date": "2023-08-11", 9 "accountMakerDateOfBirth": "", 10 "availableCredit": 0, 11 "userAmounts9": 0, 12 "userAmounts10": 0, 13 "userAmounts7": 0 14 } 15}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

SetAccountBlock

Descripción

Request

Response

GRPC Codes

Realiza bloqueos/desbloqueo de cuenta.

1{ 2 "blockCode": "", 3 "blockCodeIndicator": 1, 4 "foreignUse": 0, 5 "functionCode": "U", 6 "accountNumber": "9500501520328494829" 7}
1{ 2 "functionCode": "B", 3 "accountNumber": "9500501520328494829", 4 "blockCode1Local": "M", 5 "localOrganization": 950 6}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

SynchronizeMirrorAccount

Descripción

Request

Response

GRPC Codes

Sincroniza el mirror de account con la información de Fiserv.

1{ 2 "accountNumber": "9500501520328494829" 3}
1{ 2 "accountData": { 3 "accountNumber": "9500501520328494829", 4 "customerNumber": "0995000000000035249", 5 "blockCode1": "M", 6 "blockCode1Date": "2023-09-07", 7 "blockCode2": "M", 8 "blockCode2Date": "2023-08-11", 9 "accountMakerDateOfBirth": "", 10 "availableCredit": 0, 11 "userAmounts9": 0, 12 "userAmounts10": 0, 13 "userAmounts7": 0 14 } 15}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.


Balance

Consulta de balance​

Repositorio sincronizado con Fiserv​

Disminuye peticiones al Proveedor

GetAccountBalance

Descripción

Request

Response

GRPC Codes

Realiza la consulta de balance de cuenta.

1{ 2 "accountNumber": "9500501520328494829" 3}
1{ 2 "accountOrCardNumber": "9500501520328494829", 3 "currentBalance": 998176210159, 4 "availableCreditLimit": 32237425576994724, 5 "frozenBalance": 26000 6}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

SynchronizeMirrorBalance

Descripción

Request

Response

GRPC Codes

Sincroniza el mirror de balance con la información de Fiserv.

1{ 2 "accountNumber": "9500501520328494829" 3}
1{ 2 "accountOrCardNumber": "9500501520328494829", 3 "currentBalance": 998176210159, 4 "availableCreditLimit": 32237425576994724, 5 "frozenBalance": 26000 6}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

TransferBalance

Descripción

Request

Response

GRPC Codes

Realiza una transferencia .

1{ 2 "transactionData": { 3 "transactionAmount": 1, 4 "actionCode": "8012", 5 "authorizationCode": "311S3q", 6 "effectiveDate": "2023-06-21", 7 "description": "P2P", 8 "paidConcept": "test", 9 "memoPostedIndicator": "qqq", 10 "suppressMonetaryTransaction": "qqq", 11 "n1n2ByPass": "qqq", 12 "identifier": "S_IN", 13 "box": "3", 14 "crPlaza": "10MON", 15 "crStore": "50WHN", 16 "keyTracking": "KEYTRACKING0123456789", 17 "senderAccount": "senderAccount012345", 18 "beneficiaryAccount": "beneficiaryAccount1", 19 "counterpartInstitution": "aaaaa", 20 "operatingInstitution": "bbbbb", 21 "frcUprkBeneficiary": "frcUprkBenefi", 22 "orderingFrcUprk": "orderingFrcUp", 23 "device": "123456789-123456789-123456789-12", 24 "ip": "198.162.200.200", 25 "latitude": -109.699, 26 "longitude": 23.062, 27 "recipientName": "recipientName01234567890123456", 28 "orderingName": "orderingName012345678901234567", 29 "paymentSourceId": "paymentSourceId012345", 30 "operationType": "W" 31 }, 32 "xTransactionId": "123", 33 "accountNumber": "9500501545918394337" 34}
1{ 2 "historyDate": "2023-09-12", 3 "historyTime": "111208", 4 "transactionData": { 5 "transactionCode": "8012", 6 "transactionDescription": "P2P RECIEVER", 7 "currentBalance": "-2122495", 8 "openToBuy": "2122548" 9 } 10}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

TransferPeerToPeer

Descripción

Request

Response

GRPC Codes

Realiza una transferencia P2P.

1{ 2 "from": { 3 "accountNumber": "9500508496924050930", 4 "actionCode": "8008", 5 "transactionDescription": "P2P_TRANSFER_SOURCE", 6 "description": "P2P_TRANSFER_SOURCE", 7 "authorizationCode": "1234" 8 }, 9 "to": { 10 "accountNumber": "9500502030236002994", 11 "actionCode": "8012", 12 "transactionDescription": "P2P_TRANSFER_TARGET", 13 "description": "P2P_TRANSFER_SOURCE", 14 "authorizationCode": "1234" 15 }, 16 "effectiveDate": "2022-01-30", 17 "transactionAmount": 100, 18 "device": "abcfghjfghjklghjkfghjk5678956789", 19 "ip": "198.162.123.148", 20 "latitude": 123.56565656, 21 "longitude": -23.565656, 22 "xTransactionId": "123" 23}
1{ 2 "effectiveDate": "2022-01-30", 3 "transactionAmount": "100", 4 "actionOutputArea": { 5 "actionData": [ 6 { 7 "authorizationCode": "1234", 8 "accountNumber": "9500508496924050930", 9 "transactionDescription": "P2P SENDER", 10 "feeAmount": "0", 11 "transactionCode": 8008, 12 "currentBalance": -5988391, 13 "creditLimit": 0, 14 "openToBuy": 598649100, 15 "authorizationNumber": "507925" 16 }, 17 { 18 "authorizationCode": "1234", 19 "accountNumber": "9500502030236002994", 20 "transactionDescription": "P2P RECIEVER", 21 "feeAmount": "0", 22 "transactionCode": 8012, 23 "currentBalance": -169434, 24 "creditLimit": 0, 25 "openToBuy": 17133400, 26 "authorizationNumber": "332272" 27 } 28 ] 29 } 30}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

FrozenBalanceTransfer

Descripción

Request

Response

GRPC Codes

Realiza una transferencia QR.

1{ 2 "transactionData": { 3 "transactionAmount": 20, 4 "actionCode": "8038", 5 "authorizationCode": "Q1er44", 6 "effectiveDate": "2022-08-24", 7 "description": "QR code test - normal hours", 8 "paidConcept": "Hello", 9 "memoPostedIndicator": " ", 10 "suppressMonetaryTransaction": "Y", 11 "n1n2ByPass": "N", 12 "identifier": 0, 13 "box": "1", 14 "crPlaza": "10MON", 15 "crStore": "50WHN", 16 "keyTracking": "Hello", 17 "beneficiaryAccount": "Hello", 18 "senderAccount": "Hello", 19 "counterpartInstitution": "Hello", 20 "operatingInstitution": "Hello", 21 "frcUprkBeneficiary": "Hello", 22 "orderingFrcUprk": "Hello", 23 "device": "123456789-123456789-123456789-12", 24 "ip": "198.162.200.200", 25 "latitude": -109.699, 26 "longitude": 23.062, 27 "recipientName": "Hello", 28 "orderingName": "Hello", 29 "paymentSourceId": "bf0469d7-b507-44d6-af7d-d4edea6340f1" 30 }, 31 "xTransactionId": "123", 32 "accountNumber": "9500508020127353147" 33}
1{ 2 "historyDate": "2023-09-12", 3 "historyTime": "111311", 4 "transactionData": { 5 "transactionCode": "8038", 6 "transactionDescription": "CASHOUT WITH QR-CODE(FREE BAL)", 7 "currentBalance": "-1382946", 8 "openToBuy": "1382326" 9 } 10}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.


Card

Incorpora los endpoints de Card Mirror​

Sincronización de datos con el Mirror​

Expone endpoints a través de un API REST

POST → /v1/cards/embossers/details

Descripción

Request

Response

HTTP Codes

Obtener cuenta mediante Pantoken

1{ 2 "panToken": "0004217470595215803", 3 "cardSequence": 2147483647, 4 "foreignUse": 0 5}
1{ 2 "postToAccount": "9500508261544464147", 3 "blockCode": "Z", 4 "cardNumber": "***************0252", 5 "currentCardActivation": "N", 6 "dateBlock": "2023-09-04" 7}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

PUT → /v1/cards/embossers/block

Descripción

Request

Response

HTTP Codes

Bloqueo de tarjetas

1{ 2 "blockCode": "Z", 3 "panToken": "0004217470885923553", 4 "cardSequence": 1, 5 "functionCode": "B" //B para bloquear - u Desbloquear 6}
1{} 2

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.


Gateway

Account Adapter

Permite tener la comunicación entre Spin y Fiserv para los módulos de account y balance.


GetAccountDetails

Descripción

Request

Response

GRPC Codes

Realiza la consulta de bloqueos de cuenta.

1{ 2 "accountNumber": "9500501520328494829" 3}
1{ 2 "accountData": { 3 "accountNumber": "9500501520328494829", 4 "customerNumber": "0995000000000035249", 5 "blockCode1": "M", 6 "blockCode1Date": "2023-09-07", 7 "blockCode2": "M", 8 "blockCode2Date": "2023-08-11", 9 "accountMakerDateOfBirth": "", 10 "availableCredit": 0, 11 "userAmounts9": 0, 12 "userAmounts10": 0, 13 "userAmounts7": 0 14 } 15}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

SetAccountBlock

Descripción

Request

Response

GRPC Codes

Realiza bloqueos/desbloqueo de cuenta.

1{ 2 "blockCode": "", 3 "blockCodeIndicator": 1, 4 "foreignUse": 0, 5 "functionCode": "U", 6 "accountNumber": "9500501520328494829" 7}
1{ 2 "functionCode": "B", 3 "accountNumber": "9500501520328494829", 4 "blockCode1Local": "M", 5 "localOrganization": 950 6}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

TransferBalance

Descripción

Request

Response

GRPC Codes

Realiza una transferencia .

1{ 2 "transactionData": { 3 "transactionAmount": 1, 4 "actionCode": "8012", 5 "authorizationCode": "311S3q", 6 "effectiveDate": "2023-06-21", 7 "description": "P2P", 8 "paidConcept": "test", 9 "memoPostedIndicator": "qqq", 10 "suppressMonetaryTransaction": "qqq", 11 "n1n2ByPass": "qqq", 12 "identifier": "S_IN", 13 "box": "3", 14 "crPlaza": "10MON", 15 "crStore": "50WHN", 16 "keyTracking": "KEYTRACKING0123456789", 17 "senderAccount": "senderAccount012345", 18 "beneficiaryAccount": "beneficiaryAccount1", 19 "counterpartInstitution": "aaaaa", 20 "operatingInstitution": "bbbbb", 21 "frcUprkBeneficiary": "frcUprkBenefi", 22 "orderingFrcUprk": "orderingFrcUp", 23 "device": "123456789-123456789-123456789-12", 24 "ip": "198.162.200.200", 25 "latitude": -109.699, 26 "longitude": 23.062, 27 "recipientName": "recipientName01234567890123456", 28 "orderingName": "orderingName012345678901234567", 29 "paymentSourceId": "paymentSourceId012345" 30 }, 31 "xTransactionId": "123", 32 "accountNumber": "9500501545918394337" 33}
1{ 2 "historyDate": "2023-09-12", 3 "historyTime": "111208", 4 "transactionData": { 5 "transactionCode": "8012", 6 "transactionDescription": "P2P RECIEVER", 7 "currentBalance": "-2122495", 8 "openToBuy": "2122548" 9 } 10}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

TransferPeerToPeer

Descripción

Request

Response

GRPC Codes

Realiza una transferencia P2P.

1{ 2 "from": { 3 "accountNumber": "9500508496924050930", 4 "actionCode": "8008", 5 "transactionDescription": "P2P_TRANSFER_SOURCE", 6 "description": "P2P_TRANSFER_SOURCE", 7 "authorizationCode": "1234" 8 }, 9 "to": { 10 "accountNumber": "9500502030236002994", 11 "actionCode": "8012", 12 "transactionDescription": "P2P_TRANSFER_TARGET", 13 "description": "P2P_TRANSFER_SOURCE", 14 "authorizationCode": "1234" 15 }, 16 "effectiveDate": "2022-01-30", 17 "transactionAmount": 100, 18 "device": "abcfghjfghjklghjkfghjk5678956789", 19 "ip": "198.162.123.148", 20 "latitude": 123.56565656, 21 "longitude": -23.565656, 22 "xTransactionId": "123" 23}
1{ 2 "effectiveDate": "2022-01-30", 3 "transactionAmount": "100", 4 "actionOutputArea": { 5 "actionData": [ 6 { 7 "authorizationCode": "1234", 8 "accountNumber": "9500508496924050930", 9 "transactionDescription": "P2P SENDER", 10 "feeAmount": "0", 11 "transactionCode": 8008, 12 "currentBalance": -5988391, 13 "creditLimit": 0, 14 "openToBuy": 598649100, 15 "authorizationNumber": "507925" 16 }, 17 { 18 "authorizationCode": "1234", 19 "accountNumber": "9500502030236002994", 20 "transactionDescription": "P2P RECIEVER", 21 "feeAmount": "0", 22 "transactionCode": 8012, 23 "currentBalance": -169434, 24 "creditLimit": 0, 25 "openToBuy": 17133400, 26 "authorizationNumber": "332272" 27 } 28 ] 29 } 30}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

FrozenBalanceTransfer

Descripción

Request

Response

GRPC Codes

Realiza una transferencia QR.

1{ 2 "transactionData": { 3 "transactionAmount": 20, 4 "actionCode": "8038", 5 "authorizationCode": "Q1er44", 6 "effectiveDate": "2022-08-24", 7 "description": "QR code test - normal hours", 8 "paidConcept": "Hello", 9 "memoPostedIndicator": " ", 10 "suppressMonetaryTransaction": "Y", 11 "n1n2ByPass": "N", 12 "identifier": 0, 13 "box": "1", 14 "crPlaza": "10MON", 15 "crStore": "50WHN", 16 "keyTracking": "Hello", 17 "beneficiaryAccount": "Hello", 18 "senderAccount": "Hello", 19 "counterpartInstitution": "Hello", 20 "operatingInstitution": "Hello", 21 "frcUprkBeneficiary": "Hello", 22 "orderingFrcUprk": "Hello", 23 "device": "123456789-123456789-123456789-12", 24 "ip": "198.162.200.200", 25 "latitude": -109.699, 26 "longitude": 23.062, 27 "recipientName": "Hello", 28 "orderingName": "Hello", 29 "paymentSourceId": "bf0469d7-b507-44d6-af7d-d4edea6340f1" 30 }, 31 "xTransactionId": "123", 32 "accountNumber": "9500508020127353147" 33}
1{ 2 "historyDate": "2023-09-12", 3 "historyTime": "111311", 4 "transactionData": { 5 "transactionCode": "8038", 6 "transactionDescription": "CASHOUT WITH QR-CODE(FREE BAL)", 7 "currentBalance": "-1382946", 8 "openToBuy": "1382326" 9 } 10}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

GetAccountBalance

Descripción

Request

Response

GRPC Codes

Realiza la consulta de balance de cuenta.

1{ 2 "accountNumber": "9500501520328494829" 3}
1{ 2 "accountOrCardNumber": "9500501520328494829", 3 "currentBalance": 998176210159, 4 "availableCreditLimit": 32237425576994724, 5 "frozenBalance": 26000 6}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.


Customer Adapter

Permite tener la comunicación entre Spin y Fiserv para los módulos de customer.​

​Este componente se desarrolló para desacoplar los procesos core de Spin y el proveedor financiero para lograr una mayor escalabilidad.​

CreateCustomer

Descripción

Request

Response

GRPC Codes

Creación del cliente

1{ 2 "logo": "60", 3 "address": "Ciruelas", 4 "houseNumber": "12345", 5 "externalNumber": "8007", 6 "colony": "Lomas", 7 "city": "Lomas de Alvarez", 8 "state": "COL", 9 "postalCode": "99980", 10 "dateOfBirth": "2000-08-06", 11 "stateOfBirth": "CDMX", 12 "email": "lmedina@palo-it.com", 13 "firstName": "Judith", 14 "lastName": "Medina", 15 "maternalLastName": "Ruiz", 16 "mobilePhoneNumber": "5521163588", 17 "identificationNumber": "4152554487415113698", 18 "ine": "1234117890099", 19 "occupation": "Tester", 20 "genderCode": "1", 21 "user4":"1", 22 "identificationNumberFlag": "2" 23}
1{ 2 "customerNumber": "0995000000000080589" 3}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

UpdateCustomer

Descripción

Request

Response

GRPC Codes

Actualizar cliente

1{ 2 "email": "lmedina@palo-it.com", 3 "numberType": 1, 4 "customerNumber": "0995000000000077863", 5 "address": "Ciruelas", 6 "dateOfBirth": "1999-02-06", 7 "city": "Villa de Alvarez", 8 "countryCode": "MEX", 9 "county": "CDMX", 10 "colony": "ADOLFO LOPEZ MATEOS", 11 "externalNumber": "1007", 12 "firstName": "Sandra", 13 "genderCode": 2, 14 "houseNumber": "123", 15 "ine": "1234117890099", 16 "lastName": "Velasco", 17 "maritalStatus": 0, 18 "maternalLastName": "Medina", 19 "middleName": "Rosa", 20 "mobilePhoneIndicator": 1, 21 "mobilePhoneNumber": "31211635899", 22 "occupation": "NURSE", 23 "ownOrRentResidenceFlag": 0, 24 "postalCode": 54070, 25 "stateOfBirth": "DF" 26}
1{ 2 "outputArea": { 3 "customerNumber": "0995000000000077863", 4 "accountNumber": "0995000000000077863", 5 "responseCode": "", 6 "level": "", 7 "transactionAmount": 0, 8 "countryLimit": { 9 "dailyLimitLoad": 0, 10 "monthlyLimitLoad": 0, 11 "dailyLimitCash": 0, 12 "monthlyLimitCash": 0, 13 "limitForDepositTransactions": 0 14 }, 15 "accountLimit": { 16 "accountDailyAmountLoad": 0, 17 "accountMonthlyAmountLoad": 0, 18 "accountDailyAmountCash": 0, 19 "accountMonthlyAmountCash": 0 20 } 21 } 22}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.

LinkAccountToCustomer

Descripción

Request

Response

GRPC Codes

Vincular cuenta al cliente

1{ 2 "accountNumber": "9500505675946730065", 3 "alternateCustomer": 4 { 5 "expirationDate": "2023-08-22" 6 }, 7 "customerNumber": "0995000000000075954", 8 "qualification": "2", 9 "customerTypeIndicator": 0, 10 "foreignUseIndicator": 0 11}
1{ 2 "customerNumber": "0995000000000045697", 3 "accountNumber": "1650" 4}

0 OK: Solicitud exitosa.

3 Bad Request: Request con campos no válidos.

13 Internal Server Error: Servicios no disponibles.


Card Gateway

Permite tener la comunicación entre Spin y Fiserv para los módulos de card.​

POST → /cards/account

Descripción

Request

Response

HTTP Codes

Vincular una tarjeta con un número de cuenta

1{ 2 "cardNumber": "0004217470072001676" 3}
1{ 2 "accountNumber": "0004217470072001676" 3}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

PUT → /cards/account

Descripción

Request

Response

HTTP Codes

Desvincular una tarjeta de un número de cuenta

1{ 2 "customerOrAccountNumber": "9500507060523627372", 3 "cardNumber": "0004217470969640887", 4 "cardholderType": 1 5}
1{ 2 "cardNumber": "***************4568", 3 "customerOrAccountNumber": "9500507060523627372" 4}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

POST → /v1/cards/embosser/details

Descripción

Request

Response

HTTP Codes

Obtener cuenta mediante Pantoken Activo

1{ 2 "panToken": "0004217470595215803", 3 "cardSequence": 2147483647, 4 "foreignUse": 0 5}
1{ 2 "postToAccount": "9500508261544464147", 3 "blockCode": "Z", 4 "cardNumber": "***************0252", 5 "currentCardActivation": "N", 6 "dateBlock": "2023-09-04" 7}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

Obtener cuenta mediante Pantoken Inactivo

1{ 2 "panToken": "0004217470595215803", 3 "cardSequence": 1, 4 "foreignUse": 1 5}
1{ 2 "postToAccount": "9500507060523627372", 3 "blockCode": "Z", 4 "cardNumber": "***************0252", 5 "currentCardActivation": "N", 6 "dateBlock": "2023-09-04" 7}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

Obtener cuenta mediante Pantoken Expirado

1{ 2 "panToken": "0004217470200073271", 3 "cardSequence": 1, 4 "foreignUse": 1 5}
1{ 2 "postToAccount": "9500507060523627372", 3 "cardNumber": "***************8578", 4 "currentCardActivation": "N" 5}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

POST → /v1/cards/embosser/block

Descripción

Request

Response

HTTP Codes

Bloqueo de tarjetas - Bloqueo

1{ 2 "blockCode": "Z", 3 "panToken": "0004217470885923553", 4 "cardSequence": 1, 5 "functionCode": "B" //B para bloquear - u Desbloquear 6}
1{}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

Bloqueo de tarjetas - Desbloqueo

1{ 2 "blockCode": "", 3 "panToken": "0004217470752022413", 4 "cardSequence": 1, 5 "functionCode": "U" //B para bloquear - u Desbloquear 6}
1{}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.