Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

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
minLevel1
maxLevel6
outlinefalse
typelist
printablefalse

Ejemplo body:

El detalle que se muestra es el camino deseado (happy path) de los endpoints desarrollados.

El código esperado es un 200 + un body, en estos casos

Ejemplo de body - EnableToken (POST /tokens/key):

Body - Request

{

    "deviceId": "15703c1c-352a-11ee-be56-0242ac120002",

    "keyId": "05616256-352a-11ee-be56-0242ac120002",

    "publicKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCR9+qdg/HrRLzgkbphCnQpN+NscOEY8vQO/M+/U4erX3ZK9IcV9MulLyY4faIBV2LeJpeUDzemFygjz/e+as6gKjbrJ7jHldl0stpfyUv6Se5iwC2wunevURLjnyk31Af9QtJr5KGsNrtyVzNYis92LGUY64tHEVNoL6DmrD/JJwIDAQAB",

    "publicKeyAlgorithm": "RSA"

}

 

Panel
panelIconIdatlassian-note
panelIcon:note:
bgColor#FFBDAD

Body - Response

{

"seed": "PGh9l4M6kfEWQPSAlB2ELD9p1GTMZ/lQSzkBg2n/lhTOsZtNh2lvhoRkCCBnsGuZgjBGPIfHFye3yi/b5YUKl+2CA673Fg66WruKTU58ywk/rZYUKXOku2NI8PliZG9P9/nrgrZ75D5SxsuUv0DIj8A0WfdYu16PLFnH4MGhD6A="

}

Mirror

Account

Info

Consulta de bloqueos​

Repositorio sincronizado con Fiserv​

Disminuye peticiones al Proveedor​

GetAccountDetails

...

Descripción

...

Request

...

Response

...

HTTP Codes

Aggregation

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

Account Aggregation Service

Info

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

Code Block
{
  "accountNumber": "9500507060523627372"
}
Code Block
{
    "accountData": {
        "accountNumber": "9500507060523627372",
        "customerNumber": "0995000000000078206"
    }
}

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

Code Block
{
  "accountNumber": "
9500501520328494829
9500501403742215502"
}
Code Block
{
    "accountData": {
        "accountNumber": "
9500501520328494829
9500501403742215502",
        "customerNumber": "
0995000000000035249
0995000000000080639",
        "blockCode1": "
M
U",
        "blockCode1Date": "2023-09-
07
12",
   
"blockCode2": "M",
     "
blockCode2Date
blockCode2": "
2023-08-11
X",
    
"accountMakerDateOfBirth":
 
"",
   "
availableCredit
blockCode2Date": 
0, "userAmounts9": 0,
"2023-09-13"
    
"userAmounts10": 0, "userAmounts7": 0 } }2
}
}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

4

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

5

Descripción

Request

Response

HTTP Codes

Realiza bloqueos/desbloqueo de cuenta.

13 Internal Server Error: Servicios no disponibles.

SetAccountBlock

Realiza la consulta de bloqueos de cuenta Expirada

Code Block
{
  "
blockCode
accountNumber": "9500501566817108768"
,

}
Code Block
{
 
"blockCodeIndicator":
 
1,
  
"
foreignUse
accountData": 
0,
{
    
"functionCode":
 
"U",
   "accountNumber": "
9500501520328494829
9500501566817108768",
 
} Code Block{
   
"functionCode":
 
"B",
   "
accountNumber
customerNumber": "
9500501520328494829
0995000000000040921"
,

  
"blockCode1Local":
 
"M",
 
"localOrganization": 950 }2
}
}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

4

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

5

Descripción

Request

Response

HTTP Codes

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

13 Internal Server Error: Servicios no disponibles.

SynchronizeMirrorAccount

Realiza la consulta de bloqueos de cuenta Bloqueada

Code Block
{
  "accountNumber": "
9500501520328494829
9500509377699205330"
}
Code Block
{
    "accountData": {
    
"accountNumber":
 
"9500501520328494829",
   
"
customerNumber
accountNumber": "
0995000000000035249
9500509377699205330",
    
"blockCode1": "M",
    "
blockCode1Date
customerNumber": "
2023-09-07
0995000000000080636",
    
"blockCode2":
 
"M",
   
"
blockCode2Date
blockCode1": "
2023-08-11
Z",
    
"accountMakerDateOfBirth":
 
"",
   
"
availableCredit
blockCode1Date":
0,
 
"userAmounts9": 0,
"2023-09-12"
    
"userAmounts10": 0, "userAmounts7": 0 } }2
}
}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

4

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

5

13 Internal Server Error: Servicios no disponibles.

Balance

Info

Consulta de balance​

Repositorio sincronizado con Fiserv​

Disminuye peticiones al Proveedor

...

POST → /v1/accounts/blocks

Descripción

Request

Response

HTTP Codes

GRPC Codes

Realiza

la consulta de balance de cuenta.

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

Code Block
{
  "
accountNumber
blockCode": "
9500501520328494829
M",
} Code Block{
  
"
accountOrCardNumber
blockCodeIndicator": 
"9500501520328494829"
0,
  "
currentBalance
foreignUse": 
998176210159
0,
  "
availableCreditLimit
functionCode": 
32237425576994724
"B",
  "
frozenBalance
accountNumber": 
26000 }

2 OK: Solicitud exitosa.

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

5 Internal Server Error: Servicios no disponibles.

SynchronizeMirrorBalance

Descripción

Request

Response

HTTP Codes

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

Code Block{
"9500501520328494829"
}

Code Block
{
    "
accountNumber
functionCode": "
9500501520328494829
B",
 
} Code Block{
   "
accountOrCardNumber
accountNumber": "9500501520328494829",
    "
currentBalance
blockCode1Local": 
998176210159
"M",
  
"availableCreditLimit":
 
32237425576994724,
 
"
frozenBalance
localOrganization": 
26000
950
}
2 OK

200: Solicitud exitosa.

4 Bad Request

400: Request con campos no válidos.

5 Internal Server Error

Descripción

Request

Response

HTTP Codes

Realiza una transferencia .

401: Apy Key no válida.

500: Servicios no disponibles.

TransferBalance

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)

Code Block
{
  "
transactionData
blockCode": 
{ "transactionAmount": 1,
"U",
  
"
actionCode
blockCodeIndicator": 
"8012"
0,

  "
authorizationCode
foreignUse": 
"311S3q"
1,
  
"
effectiveDate
functionCode": "
2023-06-21
B",

  
"
description
accountNumber": "
P2P",
9500501520328494829"
}
Code Block
{
    "
paidConcept
functionCode": "
test
B",
    "
memoPostedIndicator
accountNumber": "
qqq
9500501520328494829",
    "
suppressMonetaryTransaction
localOrganization": 
"qqq", "n1n2ByPass": "qqq", "identifier": "S_IN", "box": "3", "crPlaza": "10MON", "crStore": "50WHN",
950
}

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

Code Block
{
  "blockCode": "",
  "blockCodeIndicator": 2,
  "foreignUse": 0,
  "functionCode": "U",
  "accountNumber": "9500501520328494829"
}

Code Block
{
    "
keyTracking
functionCode": "
KEYTRACKING0123456789
U",
    "
senderAccount
accountNumber": "
senderAccount012345
9500501520328494829",
    "
beneficiaryAccount
blockCode1Local": "
beneficiaryAccount1
M",
    "
counterpartInstitution
localOrganization": 
"aaaaa", "operatingInstitution": "bbbbb", "frcUprkBeneficiary": "frcUprkBenefi", "orderingFrcUprk": "orderingFrcUp", "device": "123456789-123456789-123456789-12", "ip": "198.162.200.200", "latitude": -109.699, "longitude": 23.062, "recipientName": "recipientName01234567890123456", "orderingName": "orderingName012345678901234567", "paymentSourceId": "paymentSourceId012345" }, "xTransactionId": "123",
950
}

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.

...

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

Code Block
{
  "accountNumber": "9500503048928881284"
}
Code Block
{
    "accountData": {
        "accountNumber": "
9500501545918394337
9500503048928881284",
 
} Code Block{
   
"historyDate":
 
"2023-09-12",
   "
historyTime
customerNumber": "
111208
0995000000000076294",
  
"transactionData":
 
{
     "
transactionCode
accountMakerDateOfBirth": "
8012
1994-05-06",
        "
transactionDescription
availableCredit":
"P2P RECIEVER",
 10000.0,
        "
currentBalance
userAmounts9": 
"
-
2122495"
50000.0,
        "
openToBuy
userAmounts10": 
"2122548"
-40000.0
    }
}
2

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.

4

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

5

Descripción

Request

Response

HTTP Codes

Realiza una transferencia P2P.

13 Internal Server Error: Servicios no disponibles.

TransferPeerToPeer

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

Code Block
{
  "accountNumber": "9500501403742215502"
}
Code Block
{
    "
from
accountData": {
        "accountNumber": "
9500508496924050930
9500501403742215502",
        "
actionCode
customerNumber": "
8008
0995000000000080639",
        "
transactionDescription
blockCode1": "
P2P_TRANSFER_SOURCE
U",
        "
description
blockCode1Date": "
P2P_TRANSFER_SOURCE
2023-09-12",
        "
authorizationCode
blockCode2": "
1234
X"
}
,
  
"to":
 
{
     "
accountNumber
blockCode2Date": "
9500502030236002994
2023-09-13",
    
"actionCode":
 
"8012",
   
"
transactionDescription
accountMakerDateOfBirth": "
P2P_TRANSFER_TARGET",
1994-05-06"
    
"description
}
}

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

Code Block
{
  "accountNumber": "
P2P_TRANSFER_SOURCE",
9500508152383529456"
}
Code Block
{
    "
authorizationCode
accountData": {
"1234"
   
},
     "
effectiveDate
accountNumber": "
2022-01-30"
9500508152383529456",
    
"transactionAmount": 100,
    
"
device
customerNumber": "
abcfghjfghjklghjkfghjk5678956789
0995000000000040667",
        "
ip
accountMakerDateOfBirth": "
198.162.123.148
2000-01-01",
    
"latitude":
 
123.56565656,
   
"
longitude
availableCredit": 
-23
10000.
565656
0,
    
"xTransactionId": "123"
 
} Code Block{
   "
effectiveDate
userAmounts9": 
"2022-01-30"
-170000.0,
  
"transactionAmount":
 
"100",
   
"actionOutputArea":
 
{
 
"
actionData
userAmounts10": 
[
-130000.0,
      
{
  "userAmounts7": -10000.0
    
"authorizationCode": "1234",
}
}

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

Code Block
{
  "accountNumber": "9500508176491773011"
}
Code Block
{
    "
accountNumber
accountData": 
"9500508496924050930",
{
        "
transactionDescription
accountNumber": "
P2P SENDER
9500508176491773011",
        "
feeAmount
customerNumber": "
0
0995000000000080637",
        "
transactionCode
blockCode1": 
8008, "currentBalance": -5988391
"Z",
        "
creditLimit
blockCode1Date":
0,
 
"openToBuy": 598649100
"2023-09-12",
        "
authorizationNumber
blockCode2Date": "
507925" }, {
2023-09-18",
        "
authorizationCode
accountMakerDateOfBirth": "
1234
1994-05-06"
,

    
"accountNumber": "9500502030236002994", "transactionDescription": "P2P RECIEVER", "feeAmount": "0", "transactionCode": 8012, "currentBalance": -169434, "creditLimit": 0, "openToBuy": 17133400, "authorizationNumber": "332272" } ] } }

2 OK: Solicitud exitosa.

4
}
}

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.

Code Block
{
  "accountNumber": "9500501520328494829"
}
Code Block
{
	"accountOrCardNumber": "9500501520328494829",
	"currentBalance": 998176209259,
	"availableCreditLimit": 1823760996,
	"frozenBalance": 26000.0
}

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.

5

13 Internal Server Error: Servicios no disponibles.

...

POST → /v1/balances/syncs

Descripción

Request

Response

HTTP Codes

Realiza una transferencia QR.

GRPC Codes

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

Code Block
{
  "
transactionData
accountNumber":
{
 "
transactionAmount
9500501520328494829"
: 20,

}
Code Block
{
    "
actionCode
accountOrCardNumber": "
8038
9500503048928881284",
    "
authorizationCode
currentBalance": 
"Q1er44"
-10000.0,
    "
effectiveDate
availableCreditLimit": 
"2022-08-24", "description": "QR code test - normal hours", "paidConcept": "Hello", "memoPostedIndicator": " ", "suppressMonetaryTransaction": "Y", "n1n2ByPass": "N", "identifier": 0, "box": "1", "crPlaza": "10MON", "crStore": "50WHN
10000.0
}

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

Code Block
{
  "accountNumber": "9500501403742215502"
}
Code Block
{
    "accountOrCardNumber": "9500501403742215502"
}

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

Code Block
{
  "accountNumber": "9500508152383529456"
}
Code Block
{
    "accountOrCardNumber": "9500508152383529456",
    "
keyTracking
currentBalance": 
"Hello"
-10000.0,
    "
beneficiaryAccount
availableCreditLimit": 
"Hello", "senderAccount": "Hello", "counterpartInstitution": "Hello",
10000.0
}

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

Code Block
{
  "accountNumber": "9500508176491773011"
}
Code Block
{
    "
operatingInstitution
accountOrCardNumber": "
Hello
9500508176491773011"
, "frcUprkBeneficiary": "Hello",

}

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

Code Block
{
  "transactionData": {
    "
orderingFrcUprk
transactionAmount": 
"Hello"
1000,
    "
device
actionCode": "
123456789-123456789-123456789-12
8000",
    "
ip
authorizationCode": "
198.162.200.200"
311S3q",
    "
latitude
effectiveDate": 
-109.699
"2023-06-21",
    "
longitude
description": 
23.062
"P2P",
    "
recipientName
paidConcept": "
Hello
test",
    "
orderingName
memoPostedIndicator": "
Hello
qqq",
    "
paymentSourceId
suppressMonetaryTransaction": "
bf0469d7-b507-44d6-af7d-d4edea6340f1"
qqq",
  
},
  
"
xTransactionId
n1n2ByPass": "
123
qqq",
    "
accountNumber
identifier": "
9500508020127353147
S_IN",
 
} Code Block{
   "
historyDate
box": "
2023-09-12
3",
    "
historyTime
crPlaza": "
111311
10MON",
    "
transactionData
crStore": 
{
"50WHN",
    "
transactionCode
keyTracking": "
8038
KEYTRACKING0123456789",
    "
transactionDescription
senderAccount": "
CASHOUT WITH QR-CODE(FREE BAL)
senderAccount012345",
    "
currentBalance
beneficiaryAccount": "
-1382946
beneficiaryAccount1",
    "
openToBuy
counterpartInstitution": "
1382326
aaaaa",
   
} }

2 OK: Solicitud exitosa.

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

5 Internal Server Error: Servicios no disponibles.

Card

Info

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

Code Block{
 "operatingInstitution": "bbbbb",
    "
panToken
frcUprkBeneficiary": "
0004217470595215803
frcUprkBenefi",
    "
cardSequence
orderingFrcUprk": 
2147483647
"orderingFrcUp",
    "
foreignUse
device": 
0 } Code Block{ "postToAccount
"123456789-123456789-123456789-12",
    "ip": "
9500508261544464147
198.162.200.200",
"blockCode
    "latitude": 
"Z", "cardNumber
-109.699,
    "longitude": 23.062,
    "recipientName": "
***************0252", "currentCardActivation
recipientName01234567890123456",
    "orderingName": "
N
orderingName012345678901234567",
"dateBlock
    "paymentSourceId": "
2023-09-04
paymentSourceId012345"
 
}

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

 },
  "xTransactionId": "123",
  "accountNumber": "9500503048928881284", 
  "operationType": "D"
 }
Code Block
{
    "
blockCode
historyDate": "
Z
2023-09-18",
    "
panToken
historyTime": "
0004217470885923553
164440",
    "
cardSequence
transactionData":
1,
 {
        "
functionCode
transactionCode": "
B
8000",
  
//B
 
para
 
bloquear
 
-
 
u
 
Desbloquear } Code Block{

Descripción

Request

Response

HTTP Codes

Realiza la consulta de bloqueos de cuenta.
 "currentBalance": "-10000",
        "openToBuy": "13000"
    }
}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

Gateway

Account Adapter

Info

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

GetAccountDetails

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

Code Block
{
  "
accountNumber
transactionData": 
"9500501520328494829" } Code Block{
{
    "
accountData
transactionAmount": 
{
1000,
    "
accountNumber
actionCode": "
9500501520328494829
8000",
    "
customerNumber
authorizationCode": "
0995000000000035249
311S3q",
    "
blockCode1
effectiveDate": "
M
2023-06-21",
    "
blockCode1Date
description": "
2023-09-07
P2P",
    "
blockCode2
paidConcept": "
M
test",
    "
blockCode2Date
memoPostedIndicator": "
2023-08-11
qqq",
    "
accountMakerDateOfBirth
suppressMonetaryTransaction": "qqq",
    "
availableCredit
n1n2ByPass": 
0
"qqq",
    "
userAmounts9
identifier": 
0
"S_IN",
    "
userAmounts10
box": 
0
"3",
    "
userAmounts7
crPlaza": "10MON",
0
   
} }

2 OK: Solicitud exitosa.

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

5 Internal Server Error: Servicios no disponibles.

SetAccountBlock

Descripción

Request

Response

HTTP Codes

Realiza bloqueos/desbloqueo de cuenta.

Code Block
{
  "blockCode": "",
  "blockCodeIndicator": 1,
  "foreignUse": 0,
  "functionCode": "U",
  "accountNumber": "9500501520328494829"
}
Code Block
{
  "functionCode": "B",
  "accountNumber": "9500501520328494829",
  "blockCode1Local": "M",
  "localOrganization": 950
}

2 OK: Solicitud exitosa.

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

5 Internal Server Error: Servicios no disponibles.

TransferBalance

Descripción

Request

Response

HTTP Codes

Realiza una transferencia .

Code Block{ "transactionData": { "transactionAmount": 1
 "crStore": "50WHN",
    "keyTracking": "KEYTRACKING0123456789",
    "senderAccount": "senderAccount012345",
    "beneficiaryAccount": "beneficiaryAccount1",
    "counterpartInstitution": "aaaaa",
    "operatingInstitution": "bbbbb",
    "frcUprkBeneficiary": "frcUprkBenefi",
    "orderingFrcUprk": "orderingFrcUp",
    "device": "123456789-123456789-123456789-12",
    "ip": "198.162.200.200",
    "latitude": -109.699,
    "longitude": 23.062,
    "recipientName": "recipientName01234567890123456",
    "orderingName": "orderingName012345678901234567",
    "
actionCode
paymentSourceId": "
8012
paymentSourceId012345"
,

  },
  "
authorizationCode
xTransactionId": "
311S3q
123",

  "
effectiveDate
accountNumber": "
2023-06-21
9500501403742215502", 
  
"
description
operationType": "
P2P",
D"
 }
Code Block
{
    "
paidConcept
historyDate": "
test
2023-09-18",
    "
memoPostedIndicator
historyTime": "
qqq
164651",
    "
suppressMonetaryTransaction
transactionData": 
"qqq",
{
        "
n1n2ByPass
transactionCode": "
qqq
8000",
        "
identifier
openToBuy": "
S_IN",
2000"
    }
}

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

Code Block
{
  "
box
transactionData": 
"3",
{
    "
crPlaza
transactionAmount": 
"10MON"
1000,
    "
crStore
actionCode": "
50WHN
8000",
    "
keyTracking
authorizationCode": "
KEYTRACKING0123456789
311S3q",
    "
senderAccount
effectiveDate": "
senderAccount012345
2023-06-21",
    "
beneficiaryAccount
description": "
beneficiaryAccount1
P2P",
    "
counterpartInstitution
paidConcept": "
aaaaa
test",
    "
operatingInstitution
memoPostedIndicator": "
bbbbb
qqq",
    "
frcUprkBeneficiary
suppressMonetaryTransaction": "
frcUprkBenefi
qqq",
    "
orderingFrcUprk
n1n2ByPass": "
orderingFrcUp
qqq",
    "
device
identifier": "
123456789-123456789-123456789-12
S_IN",
    "
ip
box": "
198.162.200.200
3",
    "
latitude
crPlaza": 
-109.699
"10MON",
    "
longitude
crStore": 
23.062
"50WHN",
    "
recipientName
keyTracking": "
recipientName01234567890123456
KEYTRACKING0123456789",
    "
orderingName
senderAccount": "
orderingName012345678901234567
senderAccount012345",
    "
paymentSourceId
beneficiaryAccount": "
paymentSourceId012345
beneficiaryAccount1",
  
},
  "
xTransactionId
counterpartInstitution": "
123
aaaaa",
    "
accountNumber
operatingInstitution": "
9500501545918394337
bbbbb",
 
} Code Block{
   "
historyDate
frcUprkBeneficiary": "
2023-09-12
frcUprkBenefi",
    "
historyTime
orderingFrcUprk": "
111208
orderingFrcUp",
    "
transactionData
device": 
{
"123456789-123456789-123456789-12",
    "
transactionCode
ip": "
8012
198.162.200.200",
    "
transactionDescription
latitude": 
"P2P RECIEVER"
-109.699,
    "
currentBalance
longitude": 
"-2122495"
23.062,
    "
openToBuy
recipientName": "
2122548
recipientName01234567890123456"
} }

2 OK: Solicitud exitosa.

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

5 Internal Server Error: Servicios no disponibles.

TransferPeerToPeer

Descripción

Request

Response

HTTP Codes

Realiza una transferencia P2P.

Code Block{
,
    "
from
orderingName": 
{
"orderingName012345678901234567",
    "
accountNumber
paymentSourceId": "
9500508496924050930
paymentSourceId012345"
,

  },
  "
actionCode
xTransactionId": "
8008
123",

  "
transactionDescription
accountNumber": "
P2P_TRANSFER_SOURCE
9500508152383529456", 
  
"
description
operationType": "
P2P_TRANSFER_SOURCE", "authorizationCode": "1234" }, "to":
D"
 }
Code Block
{
    "
accountNumber
historyDate": "
9500502030236002994
2023-09-18",
    "
actionCode
historyTime": "
8012
164734",
    "
transactionDescription
transactionData": 
"P2P_TRANSFER_TARGET",
{
  
"description":
 
"P2P_TRANSFER_SOURCE",
     "
authorizationCode
transactionCode": "
1234
8000",
  
},
      "
effectiveDate
currentBalance": "
2022
-
01-30
10000",
    
"transactionAmount":
 
100,
   "
device
openToBuy": "
abcfghjfghjklghjkfghjk5678956789
12000"
,

    
"ip": "198.162.123.148",
}
}

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

Code Block
{
  "transactionData": {
    "
latitude
transactionAmount": 
123.56565656
1000,
    "
longitude
actionCode": 
-23.565656
"8000",
    "
xTransactionId
authorizationCode": "
123
311S3q",
} Code Block{
    "effectiveDate": "
2022
2023-
01
06-
30
21",
    "
transactionAmount
description": "
100
P2P",
    "
actionOutputArea
paidConcept": 
{
"test",
    "
actionData
memoPostedIndicator": 
[
"qqq",
    "suppressMonetaryTransaction": "qqq",
{
    "n1n2ByPass": "qqq",
    "
authorizationCode
identifier": "
1234
S_IN",
    
"
accountNumber
box": "
9500508496924050930
3",

    "
transactionDescription
crPlaza": "
P2P SENDER
10MON",

    "
feeAmount
crStore": "
0
50WHN",

    
"
transactionCode
keyTracking": 
8008,
"KEYTRACKING0123456789",
    
"
currentBalance
senderAccount": 
-5988391
"senderAccount012345",
    
"
creditLimit
beneficiaryAccount": 
0
"beneficiaryAccount1",

    
"
openToBuy
counterpartInstitution": 
598649100,
"aaaaa",
    "
authorizationNumber
operatingInstitution": "
507925
bbbbb",
    
}, { "authorizationCode
"frcUprkBeneficiary": "
1234
frcUprkBenefi",

    
"
accountNumber
orderingFrcUprk": "
9500502030236002994
orderingFrcUp",

    "
transactionDescription
device": "
P2P RECIEVER
123456789-123456789-123456789-12",

    "
feeAmount
ip": "
0
198.162.200.200",

    
"
transactionCode
latitude": 
8012,
-109.699,
    "
currentBalance
longitude": 
-169434
23.062,
    
"
creditLimit
recipientName": 
0
"recipientName01234567890123456",

    
"
openToBuy
orderingName": 
17133400
"orderingName012345678901234567",

    
"
authorizationNumber
paymentSourceId": "
332272
paymentSourceId012345"

  
},
  "xTransactionId": "123",
]
  
} }

2 OK: Solicitud exitosa.

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

5 Internal Server Error: Servicios no disponibles.

FrozenBalanceTransfer

Descripción

Request

Response

HTTP Codes

Realiza una transferencia QR.

Code Block{
"accountNumber": "9500508176491773011", 
  "
transactionData
operationType": "D"
 }
Code Block
{
    "
transactionAmount
historyDate": 
20
"2023-09-18",
    "
actionCode
historyTime": "
8038
164818",
    "
authorizationCode
transactionData":
"Q1er44",
 {
        "
effectiveDate
transactionCode": "
2022-08-24
8000",
        "
description
openToBuy": "
QR
2000"
   
code
 
test - normal hours",
}
}

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.

Code Block
{
  "from": {
    "
paidConcept
accountNumber": "
Hello
9500508496924050930",
    "
memoPostedIndicator
actionCode": "
8008",
    "
suppressMonetaryTransaction
transactionDescription": "
Y
P2P_TRANSFER_SOURCE",
    "
n1n2ByPass
description": "
N
P2P_TRANSFER_SOURCE",
    "
identifier
authorizationCode":
0,
 
"
box
1234"
:

"1",
  },
  "
crPlaza
to": 
"10MON",
{
    "
crStore
accountNumber": "
50WHN
9500502030236002994",
    "
keyTracking
actionCode": "
Hello
8012",
    "
beneficiaryAccount
transactionDescription": "
Hello
P2P_TRANSFER_TARGET",
    "
senderAccount
description": "
Hello
P2P_TRANSFER_SOURCE",
    "
counterpartInstitution
authorizationCode": "
Hello
1234"
,

  
"operatingInstitution": "Hello"
},
    "
frcUprkBeneficiary
effectiveDate": "
Hello
2022-01-30",
    "
orderingFrcUprk
transactionAmount": 
"Hello"
100,
    "device": "
123456789-123456789-123456789-12
abcfghjfghjklghjkfghjk5678956789",
    "ip": "198.162.
200
123.
200
148",
    "latitude": 
-109
123.
699
56565656,
    "longitude": -23.
062
565656,
    "
recipientName
xTransactionId": "
Hello
123"
,

"orderingName
}
Code Block
{
	"effectiveDate": "
Hello
2022-01-30",
"paymentSourceId
	"transactionAmount": "
bf0469d7-b507-44d6-af7d-d4edea6340f1" }, "xTransactionId": "123", "accountNumber": "9500508020127353147" }
Code Block
{
  "historyDate": "2023-09-12",
  "historyTime": "111311",
  "transactionData": {
    "transactionCode": "8038",
    "transactionDescription": "CASHOUT WITH QR-CODE(FREE BAL)",
    "currentBalance": "-1382946",
    "openToBuy": "1382326"
  }
}

2 OK: Solicitud exitosa.

4
100",
	"actionOutputArea": {
		"actionData": [
			{
				"authorizationCode": "1234",
				"accountNumber": "9500508496924050930",
				"transactionDescription": "P2P SENDER",
				"transactionCode": 8008,
				"currentBalance": -5988391.0,
				"openToBuy": 5.987391E8,
				"authorizationNumber": "205229"
			},
			{
				"authorizationCode": "1234",
				"accountNumber": "9500502030236002994",
				"transactionDescription": "P2P RECIEVER",
				"transactionCode": 8012,
				"currentBalance": -169434.0,
				"openToBuy": 1.70434E7,
				"authorizationNumber": "923589"
			}
		]
	}
}

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.

5

13 Internal Server Error: Servicios no disponibles.

...

PUT → /v1/balances/transfers-qr

Descripción

Request

Response

HTTP Codes

GRPC Codes

Realiza

la consulta de balance de cuenta

una transferencia QR.

Code Block
{
  "
accountNumber
transactionData": {
"9500501520328494829"
 
} Code Block{
   "
accountOrCardNumber
transactionAmount": 
"9500501520328494829
20,
    "actionCode": "8038",
    "
currentBalance
authorizationCode": 
998176210159
"Q1er44",
    "
availableCreditLimit
effectiveDate": 
32237425576994724,
"2022-08-24",
    "
frozenBalance
description": 
26000 }

2 OK: Solicitud exitosa.

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

5 Internal Server Error: Servicios no disponibles.

Customer Adapter

Info

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

HTTP Codes

Creación del cliente

Code Block{
"QR code test - normal hours",
    "paidConcept": "Hello",
    "memoPostedIndicator": " ",
    "suppressMonetaryTransaction": "Y",
    "
logo
n1n2ByPass": "
50
N",
    "
address
identifier": 
"Ciruelo"
0,
    "
houseNumber
box": "
123
1",
    "
externalNumber
crPlaza": "
1007
10MON",
    "
colony
crStore": "
Residencial
50WHN",
    "
city
keyTracking": "
Villa de Alvarez
Hello",
    "
state
beneficiaryAccount": "
COL
Hello",
    "
postalCode
senderAccount": "
28980
Hello",
    "
dateOfBirth
counterpartInstitution": "
1994-05-06
Hello",
    "
stateOfBirth
operatingInstitution": "
Colima
Hello",
    "
email
frcUprkBeneficiary": "
lmedina@palo-it.com"
Hello",
    "
firstName
orderingFrcUprk": "
Judith
Hello",
    "
lastName
device": "
Medina
123456789-123456789-123456789-12",
    "
maternalLastName
ip": "
Ruiz
198.162.200.200",
    "
mobilePhoneNumber
latitude": 
"3121163582"
-109.699,
    "
identificationNumber
longitude": 
"4152556987415113698"
23.062,
    "
ine
recipientName": "
1234117890099
Hello",
    "
occupation
orderingName": "
Tester
Hello",
    "
genderCode
paymentSourceId": "
1",
bf0469d7-b507-44d6-af7d-d4edea6340f1"
  },
  "
user4
xTransactionId": "
1
123",

  "
identificationNumberFlag
accountNumber": "
2

Descripción

Request

Response

HTTP Codes

Actualizar cliente

Code Block{ "email": "lmedina@palo-it.com", "numberType": 1, "customerNumber": "0995000000000077863", "address": "Ciruelo", "dateOfBirth": "1994-05-06", "city": "Villa de Alvarez", "countryCode": "MEX", "county": "Colima", "colony": "ADOLFO LOPEZ MATEOS", "externalNumber": "1007", "firstName": "Victoria", "genderCode": 2, "houseNumber": "123
9500508020127353147"
}

2 OK: Solicitud exitosa.

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

5 Internal Server Error: Servicios no disponibles.

UpdateCustomer

Code Block
{
	"historyDate": "2023-09-08",
	"historyTime": "122732",
	"transactionData": {
		"transactionCode": "8038",
		"transactionDescription": "CASHOUT WITH QR-CODE(FREE BAL)",
		"currentBalance": "-1382946",
		"openToBuy": "1382486"
	}
}

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

Info

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.

Code Block
{
    "logo": "60",
    "
ine
address": "
1234117890099
Ciruelas",
    "
lastName
houseNumber": "
Velasco
12345",
    "
maritalStatus
externalNumber": 
0
"8007",
    "
maternalLastName
colony": "
Medina
Lomas",
    "
middleName
city": "
Valeria
Lomas de Alvarez",
    "
mobilePhoneIndicator
state": 
1
"COL",
    "
mobilePhoneNumber
postalCode": "
31211635821
99980",
    "
occupation
dateOfBirth": "
NURSE
2000-08-06",
    "
ownOrRentResidenceFlag
stateOfBirth": 
0
"CDMX",
    "
postalCode
email": 
54070
"lmedina@palo-it.com",
    "
stateOfBirth
firstName": "
DF
Judith"
}

2 OK: Solicitud exitosa.

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

5 Internal Server Error: Servicios no disponibles.

LinkAccountToCustomer

Descripción

Request

Response

HTTP Codes

Vincular cuenta al cliente

Code Block{
,
    "
accountNumber
lastName": "
9500505675946730065
Medina",
    "
alternateCustomer
maternalLastName": 
{
"Ruiz",
    "
expirationDate
mobilePhoneNumber": "
2023-08-22
5521163588",
  
},
  "
customerNumber
identificationNumber": "
0995000000000075954
4152554487415113698",
    "
qualification
ine": "
2
1234117890099",
  
"customerTypeIndicator": 0, "foreignUseIndicator": 0 }2
  "occupation": "Tester",
    "genderCode": "1",
    "user4":"1",
    "identificationNumberFlag": "2"
}
Code Block
{
    "customerNumber": "0995000000000080589"
}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

0 OK: Solicitud exitosa.

4

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

5

13 Internal Server Error: Servicios no disponibles.

Card Gateway

Info

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

POST → /v1/cards/embosser

...

Descripción

...

Request

...

Response

...

HTTP Codes

POST → /v1/cards/embosser/details

...

Descripción

...

Request

...

Response

...

HTTP Codes

...

Obtener cuenta mediante Pantoken

...

PUT → /customers

Descripción

Request

Response

HTTP Codes

GRPC Codes

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

Code Block
{
    "email": "lmedina@palo-it.com",
    "
cardSequence
numberType": 
2147483647
1,
    "
foreignUse
customerNumber": 
0 } Code Block{ "postToAccount
"0995000000000077863",
    "address": "
9500508261544464147
Ciruelas",
  
  "
blockCode
dateOfBirth": "
Z
1999-02-06",
   
 "
cardNumber
city": "
***************0252", "currentCardActivation
Villa de Alvarez",
    "countryCode": "
N
MEX",
"dateBlock
    "county": "
2023-09-04
CDMX"
}

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

Code Block{
,
    "
blockCode
colony": "
Z
ADOLFO LOPEZ MATEOS",
    "
panToken
externalNumber": "
0004217470885923553
1007",
  
"cardSequence
  "firstName": "Sandra",
    "genderCode": 
1
2,
    "
functionCode
houseNumber": "
B
123"
//B para bloquear - u Desbloquear }
Code Block
{}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

Aggregation

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

Account Aggregation Service

Info

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

Realiza la consulta de bloqueos de cuenta.

Code Block{
,
    "ine": "1234117890099",
    "lastName": "Velasco",
    "maritalStatus": 0,
    "maternalLastName": "Medina",
    "middleName": "Rosa",
    "mobilePhoneIndicator": 1,
    "mobilePhoneNumber": "31211635899",
    "occupation": "NURSE",
    "ownOrRentResidenceFlag": 0,
    "postalCode": 54070,
    "stateOfBirth": "DF"
}
Code Block
{
    "outputArea": {
        "customerNumber": "0995000000000077863",
        "accountNumber": "0995000000000077863",
        "responseCode": "",
        "level": "",
        "transactionAmount": 0,
        "countryLimit": {
            "dailyLimitLoad": 0,
            "monthlyLimitLoad": 0,
            "dailyLimitCash": 0,
            "monthlyLimitCash": 0,
            "limitForDepositTransactions": 0
        },
        "accountLimit": {
            "accountDailyAmountLoad": 0,
            "accountMonthlyAmountLoad": 0,
            "accountDailyAmountCash": 0,
            "accountMonthlyAmountCash": 0
        }
    }
}

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.

Code Block
{
    "accountNumber": "0004217470138987703",
    "customerNumber": "0995000000000045698",
    "qualification": "1",
    "customerTypeIndicator": 0,
    "foreignUseIndicator": 0,
    "alternateCustomer": {
        "expirationDate": "2023/12/30"
    }
}
Code Block
{
    "customerNumber": "0995000000000045697",
    "accountNumber": "1650"
}

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

Info

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

Code Block
{
  "panToken": "0004217470595215803",
  "cardSequence": 2147483647,
  "foreignUse": 0
}
Code Block
{
	"postToAccount": "9500508261544464147",
	"blockCode": "Z",
	"cardNumber": "***************0252",
	"currentCardActivation": "N",
	"dateBlock": "2023-09-04"
}

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

Code Block
 {
  "customerOrAccountNumber": "1234567890123456800",
  "cardNumber": "000123456ID5IXX1234",
  "cardholderType": 1
}

Code Block
{
  "customerOrAccountNumber": "1234567890123456800",
  "cardNumber": "000123456ID5IXX1234",
}

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

Code Block
{
  "cardNumber": "000123456ID5IXX1234",
}

Code Block
{
    "accountNumber": "0004217470041850252"
}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

Info

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

Image Added

PUT /cards/activation​ [Equipo de Spin]

Descripción

Request

Response

HTTP Codes

Activación de tarjetas

Code Block
{
  "organizationNumber": 999,
  "cardNumber": "000123456ID5IXX1234",
  "serviceType": "A",
  "userData": "string"
}

Code Block
{
  "organizationNumber": 999,
  "logo": 1,
  "cardNumber": "000123456ID5IXX1234",
  "serviceType": "A",
  "numberCardsActivated": 1,
  "foreignOrg": 1,
  "numberForeignCardsActivated": 0
}

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

Code Block
{
  "blockCode": "Z",
  "panToken": "0004217470885923553",
  "cardSequence": 1,
  "functionCode": "B" //B para bloquear - u Desbloquear
}
Code Block
{}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

...

Mirror

Account

Info

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.

Code Block
{
  "accountNumber": "9500501520328494829"
}
Code Block
{
  "accountData": {
    "accountNumber": "9500501520328494829",
    "customerNumber": "0995000000000035249",
    "blockCode1": "M",
    "blockCode1Date": "2023-09-07",
    "blockCode2": "M",
    "blockCode2Date": "2023-08-11",
    "accountMakerDateOfBirth": "",
    "availableCredit": 0,
    "userAmounts9": 0,
    "userAmounts10": 0,
    "userAmounts7": 0
  }
}

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.

Code Block
{
  "blockCode": "",
  "blockCodeIndicator": 1,
  "foreignUse": 0,
  "functionCode": "U",
  "accountNumber": "9500501520328494829"
}
Code Block
{
  "functionCode": "B",
  "accountNumber": "9500501520328494829",
  "blockCode1Local": "M",
  "localOrganization": 950
}

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.

Code Block
{
  "accountNumber": "9500501520328494829"
}
Code Block
{
  "accountData": {
    "accountNumber": "9500501520328494829",
    "customerNumber": "0995000000000035249",
    "blockCode1": "M",
    "blockCode1Date": "2023-09-07",
    "blockCode2": "M",
    "blockCode2Date": "2023-08-11",
    "accountMakerDateOfBirth": "",
    "availableCredit": 0,
    "userAmounts9": 0,
    "userAmounts10": 0,
    "userAmounts7": 0
  }
}

0 OK: Solicitud exitosa.

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

13 Internal Server Error: Servicios no disponibles.

...

Balance

Info

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.

Code Block
{
  "accountNumber": "9500501520328494829"
}
Code Block
{
  "accountOrCardNumber": "9500501520328494829",
  "currentBalance": 998176210159,
  "availableCreditLimit": 32237425576994724,
  "frozenBalance": 26000
}

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.

Code Block
{
  "accountNumber": "9500501520328494829"
}
Code Block
{
  "accountOrCardNumber": "9500501520328494829",
  "currentBalance": 998176210159,
  "availableCreditLimit": 32237425576994724,
  "frozenBalance": 26000
}

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 .

Code Block
{
  "transactionData": {
    "transactionAmount": 1,
    "actionCode": "8012",
    "authorizationCode": "311S3q",
    "effectiveDate": "2023-06-21",
    "description": "P2P",
    "paidConcept": "test",
    "memoPostedIndicator": "qqq",
    "suppressMonetaryTransaction": "qqq",
    "n1n2ByPass": "qqq",
    "identifier": "S_IN",
    "box": "3",
    "crPlaza": "10MON",
    "crStore": "50WHN",
    "keyTracking": "KEYTRACKING0123456789",
    "senderAccount": "senderAccount012345",
    "beneficiaryAccount": "beneficiaryAccount1",
    "counterpartInstitution": "aaaaa",
    "operatingInstitution": "bbbbb",
    "frcUprkBeneficiary": "frcUprkBenefi",
    "orderingFrcUprk": "orderingFrcUp",
    "device": "123456789-123456789-123456789-12",
    "ip": "198.162.200.200",
    "latitude": -109.699,
    "longitude": 23.062,
    "recipientName": "recipientName01234567890123456",
    "orderingName": "orderingName012345678901234567",
    "paymentSourceId": "paymentSourceId012345",
  "operationType": "W"
  },
  "xTransactionId": "123",
  "accountNumber": "9500501545918394337"
}
Code Block
{
  "historyDate": "2023-09-12",
  "historyTime": "111208",
  "transactionData": {
    "transactionCode": "8012",
    "transactionDescription": "P2P RECIEVER",
    "currentBalance": "-2122495",
    "openToBuy": "2122548"
  }
}

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.

Code Block
{
  "from": {
    "accountNumber": "9500508496924050930",
    "actionCode": "8008",
    "transactionDescription": "P2P_TRANSFER_SOURCE",
    "description": "P2P_TRANSFER_SOURCE",
    "authorizationCode": "1234"
  },
  "to": {
    "accountNumber": "9500502030236002994",
    "actionCode": "8012",
    "transactionDescription": "P2P_TRANSFER_TARGET",
    "description": "P2P_TRANSFER_SOURCE",
    "authorizationCode": "1234"
  },
    "effectiveDate": "2022-01-30",
    "transactionAmount": 100,
    "device": "abcfghjfghjklghjkfghjk5678956789",
    "ip": "198.162.123.148",
    "latitude": 123.56565656,
    "longitude": -23.565656,
    "xTransactionId": "123"
}
Code Block
{
  "effectiveDate": "2022-01-30",
  "transactionAmount": "100",
  "actionOutputArea": {
    "actionData": [
      {
        "authorizationCode": "1234",
        "accountNumber": "9500508496924050930",
        "transactionDescription": "P2P SENDER",
        "feeAmount": "0",
        "transactionCode": 8008,
        "currentBalance": -5988391,
        "creditLimit": 0,
        "openToBuy": 598649100,
        "authorizationNumber": "507925"
      },
      {
        "authorizationCode": "1234",
        "accountNumber": "9500502030236002994",
        "transactionDescription": "P2P RECIEVER",
        "feeAmount": "0",
        "transactionCode": 8012,
        "currentBalance": -169434,
        "creditLimit": 0,
        "openToBuy": 17133400,
        "authorizationNumber": "332272"
      }
    ]
  }
}

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.

Code Block
{
  "transactionData": {
    "transactionAmount": 20,
    "actionCode": "8038",
    "authorizationCode": "Q1er44",
    "effectiveDate": "2022-08-24",
    "description": "QR code test - normal hours",
    "paidConcept": "Hello",
    "memoPostedIndicator": " ",
    "suppressMonetaryTransaction": "Y",
    "n1n2ByPass": "N",
    "identifier": 0,
    "box": "1",
    "crPlaza": "10MON",
    "crStore": "50WHN",
    "keyTracking": "Hello",
    "beneficiaryAccount": "Hello",
    "senderAccount": "Hello",
    "counterpartInstitution": "Hello",
    "operatingInstitution": "Hello",
    "frcUprkBeneficiary": "Hello",
    "orderingFrcUprk": "Hello",
    "device": "123456789-123456789-123456789-12",
    "ip": "198.162.200.200",
    "latitude": -109.699,
    "longitude": 23.062,
    "recipientName": "Hello",
    "orderingName": "Hello",
    "paymentSourceId": "bf0469d7-b507-44d6-af7d-d4edea6340f1"
  },
  "xTransactionId": "123",
  "accountNumber": "9500508020127353147"
}
Code Block
{
  "historyDate": "2023-09-12",
  "historyTime": "111311",
  "transactionData": {
    "transactionCode": "8038",
    "transactionDescription": "CASHOUT WITH QR-CODE(FREE BAL)",
    "currentBalance": "-1382946",
    "openToBuy": "1382326"
  }
}

0 OK: Solicitud exitosa.

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

13 Internal Server Error: Servicios no disponibles.

...

Card

Info

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

Code Block
{
  "panToken": "0004217470595215803",
  "cardSequence": 2147483647,
  "foreignUse": 0
}
Code Block
{
	"postToAccount": "9500508261544464147",
	"blockCode": "Z",
	"cardNumber": "***************0252",
	"currentCardActivation": "N",
	"dateBlock": "2023-09-04"
}

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

Code Block
{
  "blockCode": "Z",
  "panToken": "0004217470885923553",
  "cardSequence": 1,
  "functionCode": "B" //B para bloquear - u Desbloquear
}
Code Block
{}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

...

Gateway

Account Adapter

Info

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.

Code Block
{
  "accountNumber": "9500501520328494829"
}
Code Block
{
  "accountData": {
    "accountNumber": "9500501520328494829",
    "customerNumber": "0995000000000035249",
    "blockCode1": "M",
    "blockCode1Date": "2023-09-07",
    "blockCode2": "M",
    "blockCode2Date": "2023-08-11",
    "accountMakerDateOfBirth": "",
    "availableCredit": 0,
    "userAmounts9": 0,
    "userAmounts10": 0,
    "userAmounts7": 0
  }
}

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.

Code Block
{
  "blockCode": "",
  "blockCodeIndicator": 1,
  "foreignUse": 0,
  "functionCode": "U",
  "accountNumber": "9500501520328494829"
}
Code Block
{
  "functionCode": "B",
  "accountNumber": "9500501520328494829",
  "blockCode1Local": "M",
  "localOrganization": 950
}

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 .

Code Block
{
  "transactionData": {
    "transactionAmount": 1,
    "actionCode": "8012",
    "authorizationCode": "311S3q",
    "effectiveDate": "2023-06-21",
    "description": "P2P",
    "paidConcept": "test",
    "memoPostedIndicator": "qqq",
    "suppressMonetaryTransaction": "qqq",
    "n1n2ByPass": "qqq",
    "identifier": "S_IN",
    "box": "3",
    "crPlaza": "10MON",
    "crStore": "50WHN",
    "keyTracking": "KEYTRACKING0123456789",
    "senderAccount": "senderAccount012345",
    "beneficiaryAccount": "beneficiaryAccount1",
    "counterpartInstitution": "aaaaa",
    "operatingInstitution": "bbbbb",
    "frcUprkBeneficiary": "frcUprkBenefi",
    "orderingFrcUprk": "orderingFrcUp",
    "device": "123456789-123456789-123456789-12",
    "ip": "198.162.200.200",
    "latitude": -109.699,
    "longitude": 23.062,
    "recipientName": "recipientName01234567890123456",
    "orderingName": "orderingName012345678901234567",
    "paymentSourceId": "paymentSourceId012345"
  },
  "xTransactionId": "123",
  "accountNumber": "
9500501520328494829
9500501545918394337"
}
Code Block
{
  "
accountData
historyDate": 
{ "accountNumber
"2023-09-12",
  "historyTime": "
9500501520328494829
111208",
  "
customerNumber
transactionData":
"0995000000000035249", "blockCode1
 {
    "transactionCode": "
M
8012",
"blockCode1Date
    "transactionDescription": "
2023-09-06
P2P RECIEVER",
"blockCode2
    "currentBalance": "
M
-2122495",
   
 "
blockCode2Date
openToBuy": "
2023-08-11
2122548"
  }
}
200

0 OK: Solicitud exitosa.

400500:

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

401: Apy Key no válida.

13 Internal Server Error: Servicios no disponibles.

...

TransferPeerToPeer

Descripción

Request

Response

HTTP

GRPC Codes

Realiza

bloqueos/desbloqueo de cuenta

una transferencia P2P.

Code Block
{
  
"blockCode
"from": {
    "accountNumber": "9500508496924050930",
    "actionCode": "8008",
    "
blockCodeIndicator
transactionDescription": 
1
"P2P_TRANSFER_SOURCE",
    "
foreignUse
description": 
0,
"P2P_TRANSFER_SOURCE",
    "
functionCode
authorizationCode": "
U
1234"
  },
  "
accountNumber
to":
"9500501520328494829" } Code Block{ "functionCode
 {
    "accountNumber": "
U
9500502030236002994",
  
  "
accountNumber
actionCode": "
9500501520328494829
8012",
 
"localOrganization":
 
950 }

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

POST → /v1/accounts/syncs

Descripción

Request

Response

HTTP Codes

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

Code Block{
  "transactionDescription": "P2P_TRANSFER_TARGET",
    "
accountNumber
description": "
9500501520328494829
P2P_TRANSFER_SOURCE"
}
Code Block
{
	"accountData": {
		"accountNumber": "9500501520328494829",
		"customerNumber": "0995000000000035249",
		"blockCode1": "M",
		"blockCode1Date": "2023-09-06",
		"blockCode2": "M",
		"blockCode2Date": "2023-08-11"
	}
}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

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

POST → /v1/balances

Descripción

Request

Response

HTTP Codes

Realiza la consulta de balance de cuenta.

,
    "authorizationCode": "1234"
  },
    "effectiveDate": "2022-01-30",
    "transactionAmount": 100,
    "device": "abcfghjfghjklghjkfghjk5678956789",
    "ip": "198.162.123.148",
    "latitude": 123.56565656,
    "longitude": -23.565656,
    "xTransactionId": "123"
}
Code Block
{
  "
accountNumber
effectiveDate": "
9500501520328494829
2022-01-30",
} Code Block{
  
"
accountOrCardNumber
transactionAmount": "
9500501520328494829
100",
  "
currentBalance
actionOutputArea": {
   
998176209259,
 
"
availableCreditLimit
actionData": 
1823760996, "frozenBalance": 26000.0 }

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

POST → /v1/balances/syncs

Descripción

Request

Response

HTTP Codes

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

Code Block{
[
      {
        "authorizationCode": "1234",
        "accountNumber": "
9500501520328494829
9500508496924050930"
} Code Block{ "accountOrCardNumber
,
        "transactionDescription": "
9500501520328494829
P2P SENDER",
"currentBalance
        "feeAmount": 
998176209259
"0",
"availableCreditLimit
        "transactionCode": 
1823760996, "frozenBalance": 26000.0 }

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

PUT → /v1/balances/transfers

Descripción

Request

Response

HTTP Codes

Realiza una transferencia .

Code Block{ "transactionData": {
8008,
        "currentBalance": -5988391,
        "creditLimit": 0,
        "
transactionAmount
openToBuy": 
1
598649100,
        "
actionCode
authorizationNumber": "
8012",
507925"
      },
      {
        "authorizationCode": "
311S3q
1234",
        "
effectiveDate
accountNumber": "
2023-06-21
9500502030236002994",
        "
description
transactionDescription": "P2P RECIEVER",
        "
paidConcept
feeAmount": "
test
0",
        "
memoPostedIndicator
transactionCode": 
"qqq",
8012,
        "currentBalance": -169434,
        "
suppressMonetaryTransaction
creditLimit": 
"qqq"
0,
        "
n1n2ByPass
openToBuy": 
"qqq"
17133400,
    
"identifier":
 
"S_IN",
   
"
box
authorizationNumber": "
3
332272"
,

      
"crPlaza": "10MON",
}
    ]
"crStore":
 
"50WHN",
 }
}

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.

Code Block
{
  "
keyTracking
transactionData": 
"KEYTRACKING0123456789",
{
    "
senderAccount
transactionAmount": 
"senderAccount012345"
20,
    "
beneficiaryAccount
actionCode": "
beneficiaryAccount1
8038",
    "
counterpartInstitution
authorizationCode": "
aaaaa
Q1er44",
    "
operatingInstitution
effectiveDate": "
bbbbb
2022-08-24",
    "
frcUprkBeneficiary
description": "
frcUprkBenefi
QR code test - normal hours",
    "
orderingFrcUprk
paidConcept": "
orderingFrcUp
Hello",
    "
device
memoPostedIndicator": "
123456789-123456789-123456789-12
 ",
    "
ip
suppressMonetaryTransaction": "
198.162.200.200
Y",
    "
latitude
n1n2ByPass": 
-109.699
"N",
    "
longitude
identifier": 
23.062
0,
    "
recipientName
box": "
recipientName01234567890123456
1",
    "
orderingName
crPlaza": "
orderingName012345678901234567
10MON",
    "
paymentSourceId
crStore": "
paymentSourceId012345
50WHN"
,
 
},
   "
xTransactionId
keyTracking": "
123
Hello",

 
"accountNumber": "9500501545918394337" } Code Block{ "historyDate": "2023-09-08", "historyTime
   "beneficiaryAccount": "
122250
Hello",
"transactionData": { "transactionCode
    "senderAccount": "
8012
Hello",
 
"transactionDescription
   "counterpartInstitution": "
P2P RECIEVER
Hello",
    
"
currentBalance
operatingInstitution": "
-2122495
Hello",
"openToBuy
    "frcUprkBeneficiary": "
2122546
Hello",
} }

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

PUT → /v1/balances/transfers-p2p

Descripción

Request

Response

HTTP Codes

Realiza una transferencia P2P.

Code Block{
    "orderingFrcUprk": "Hello",
    "
from
device": 
{
"123456789-123456789-123456789-12",
    "
accountNumber
ip": "
9500508496924050930
198.162.200.200",
    "
actionCode
latitude": 
"8008"
-109.699,
    "longitude": 23.062,
    "
transactionDescription
recipientName": "
P2P_TRANSFER_SOURCE
Hello",
    "
description
orderingName": "
P2P_TRANSFER_SOURCE
Hello",
    "
authorizationCode
paymentSourceId": "
1234
bf0469d7-b507-44d6-af7d-d4edea6340f1"
  },
  "
to
xTransactionId": "123",
  "accountNumber": "9500508020127353147"
}
Code Block
{
  "historyDate": "2023-09-12",
  "
accountNumber
historyTime": "
9500502030236002994
111311",

  "
actionCode
transactionData": 
"8012",
{
    "
transactionDescription
transactionCode": "
P2P_TRANSFER_TARGET
8038",
    "
description
transactionDescription": "
P2P_TRANSFER_SOURCE
CASHOUT WITH QR-CODE(FREE BAL)",
    "
authorizationCode
currentBalance": "
1234" }
-1382946",
    "
effectiveDate
openToBuy": "
2022-01-30
1382326"
,

  
"transactionAmount": 100,
}
}

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.

Code Block
{
  "
device
accountNumber": "
abcfghjfghjklghjkfghjk5678956789
9500501520328494829"
,

}
Code Block
{
  
"
ip
accountOrCardNumber": "
198.162.123.148
9500501520328494829",
  "currentBalance": 998176210159,
  "
latitude
availableCreditLimit": 
123.56565656
32237425576994724,
  
"
longitude
frozenBalance": 
-23.565656, "xTransactionId": "123" }
26000
}

0 OK: Solicitud exitosa.

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

13 Internal Server Error: Servicios no disponibles.

...

Customer Adapter

Info

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

Code Block
{
"effectiveDate":
 
"2022-01-30",
 
"transactionAmount":
 
"100",
 
"actionOutputArea": { "actionData": [ { "authorizationCode
"logo": "
1234
60",
"accountNumber": "9500508496924050930", "transactionDescription": "P2P SENDER", "transactionCode": 8008, "currentBalance": -5988391.0, "openToBuy": 5.987391E8, "authorizationNumber": "205229" }, { "authorizationCode": "1234", "accountNumber": "9500502030236002994", "transactionDescription": "P2P RECIEVER", "transactionCode": 8012, "currentBalance": -169434.0, "openToBuy": 1.70434E7, "authorizationNumber": "923589" } ] } }

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

PUT → /v1/balances/transfers-qr

Descripción

Request

Response

HTTP Codes

Realiza una transferencia QR.

Code Block{ "transactionData": { "transactionAmount": 20
    "address": "Ciruelas",
    "houseNumber": "12345",
    "externalNumber": "8007",
    "colony": "Lomas",
    "city": "Lomas de Alvarez",
    "state": "COL",
    "postalCode": "99980",
    "dateOfBirth": "2000-08-06",
    "stateOfBirth": "CDMX",
    "email": "lmedina@palo-it.com",
    "firstName": "Judith",
    "lastName": "Medina",
    "maternalLastName": "Ruiz",
    "
actionCode
mobilePhoneNumber": "
8038
5521163588",
    "
authorizationCode
identificationNumber": "
Q1er44
4152554487415113698",
    "
effectiveDate
ine": "
2022-08-24
1234117890099",
    "
description
occupation": "
QR
Tester",
 
code
 
test
 
-
 
normal hours
"genderCode": "1",
    "
paidConcept
user4":
"
Hello
1",
    "
memoPostedIndicator
identificationNumberFlag": "2"
",
}
Code Block
{
    "
suppressMonetaryTransaction
customerNumber":
"Y",
 "0995000000000080589"
}

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

Code Block
{
    "
n1n2ByPass
email": "
N
lmedina@palo-it.com",
    "
identifier
numberType":
0,
 
"box": "
1
"
,
    "
crPlaza
customerNumber": "
10MON
0995000000000077863",
    "
crStore
address": "
50WHN
Ciruelas",
    "
keyTracking
dateOfBirth": "
Hello
1999-02-06",
    "
beneficiaryAccount
city": "
Hello",
Villa 
"senderAccount": "Hello
de Alvarez",
    "
counterpartInstitution
countryCode": "
Hello
MEX",
    "
operatingInstitution
county": "
Hello
CDMX",
    "
frcUprkBeneficiary
colony": "
Hello",
ADOLFO LOPEZ 
"orderingFrcUprk": "Hello"
MATEOS",
    "
device
externalNumber": "
123456789-123456789-123456789-12
1007",
    "
ip
firstName": "
198.162.200.200
Sandra",
    "
latitude
genderCode": 
-109.699
2,
    "
longitude
houseNumber": 
23.062
"123",
    "
recipientName
ine": "
Hello
1234117890099",
    "
orderingName
lastName": "
Hello
Velasco",
    "
paymentSourceId
maritalStatus": 
"bf0469d7-b507-44d6-af7d-d4edea6340f1"
0,
 
},
   "
xTransactionId
maternalLastName": "
123
Medina",
    "
accountNumber
middleName": "
9500508020127353147
Rosa"
} Code Block{ "historyDate
,
    "mobilePhoneIndicator": 
"2023-09-08", "historyTime
1,
    "mobilePhoneNumber": "
122732
31211635899",
  
"transactionData":
 
{
 
"
transactionCode
occupation": "
8038
NURSE",
"transactionDescription
    "ownOrRentResidenceFlag": 
"CASHOUT
0,
 
WITH
 
QR-CODE(FREE
 
BAL)",
 
"
currentBalance
postalCode": 
"-1382946", "openToBuy
54070,
    "stateOfBirth": "
1382486
DF"
}

}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

Customer Aggregation service

Info

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

Registro del cliente en la el proveedor de clientes.

Code Block{
Code Block
{
    "outputArea": {
        "customerNumber": "0995000000000077863",
        "
logo
accountNumber": "
50
0995000000000077863",
        "
address
responseCode": "
Ciruelo
",
        "
houseNumber
level": "
123",
",
        "transactionAmount": 0,
        "
externalNumber
countryLimit": {
            "
1007
dailyLimitLoad": 0,
      
"colony
      "monthlyLimitLoad": 
"Residencial",
0,
            "dailyLimitCash": 0,
            "
city
monthlyLimitCash": 
"Villa
0,
de
 
Alvarez",
     
"state":
 
"COL",
     "
postalCode
limitForDepositTransactions": 0
"28980",
     
"dateOfBirth":
 
"1994-05-06",
  },
  
"stateOfBirth":
 
"Colima",
     "
email
accountLimit":
"lmedina@palo-it.com",
 {
      
"firstName":
 
"Judith",
     "
lastName
accountDailyAmountLoad": 
"Medina"
0,
      
"maternalLastName":
 
"Ruiz",
     "
mobilePhoneNumber
accountMonthlyAmountLoad": 
"3121163582"
0,
      
"identificationNumber":
 
"4152556987415113698",
     "
ine
accountDailyAmountCash": 
"1234117890099"
0,
    
"occupation": "Tester",
        "
genderCode
accountMonthlyAmountCash":
"1",
 0
       
"user4":"1",
 }
   
"identificationNumberFlag": "2"
 }
}
200

0 OK: Solicitud exitosa.

400500:

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

401: Apy Key no válida.

13 Internal Server Error: Servicios no disponibles.

...

LinkAccountToCustomer

Descripción

Request

Response

HTTP

GRPC Codes

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

Vincular cuenta al cliente

Code Block
{
  "accountNumber": "9500505675946730065",
  
"email
"alternateCustomer": 
  {
    "expirationDate": "
lmedina@palo-it.com",
2023-08-22"
  },
  "
numberType
customerNumber": 
1
"0995000000000075954",

  "
customerNumber
qualification": "
0995000000000077863
2",

  "
address
customerTypeIndicator": 
"Ciruelo"
0,
  
"
dateOfBirth
foreignUseIndicator": 
"1994-05-06",
0
}
Code Block
{
    "
city
customerNumber": "
Villa de Alvarez
0995000000000045697",
    "
countryCode
accountNumber": "
MEX
1650"
,

}

0 OK: Solicitud exitosa.

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

13 Internal Server Error: Servicios no disponibles.

...

Card Gateway

Info

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

Code Block
{
  "
county
cardNumber": "
Colima",
0004217470072001676"
}
Code Block
{
    "
colony
accountNumber": "
ADOLFO LOPEZ MATEOS
0004217470072001676"
, "externalNumber": "1007", "firstName": "Victoria", "genderCode": 2, "houseNumber": "123", "ine": "1234117890099", "lastName": "Velasco",

}

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

Code Block
{
  "customerOrAccountNumber": "9500507060523627372",
  "cardNumber": "0004217470969640887",
  "cardholderType": 1
}
Code Block
{
    "
maritalStatus
cardNumber": 
0
"***************4568",
    "
maternalLastName
customerOrAccountNumber": "
Medina
9500507060523627372"
,

}

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

Code Block
{
  "
middleName
panToken": "
Valeria
0004217470595215803",

  "
mobilePhoneIndicator
cardSequence": 
1
2147483647,
  "foreignUse": 0
}
Code Block
{
	"
mobilePhoneNumber
postToAccount": "
31211635821
9500508261544464147",
"occupation
	"blockCode": "
NURSE
Z",
"ownOrRentResidenceFlag
	"cardNumber": 
0, "postalCode": 54070, "stateOfBirth": "DF

Descripción

Request

Response

HTTP Codes

Vinculación del cliente en la cuenta de Spin.
"***************0252",
	"currentCardActivation": "N",
	"dateBlock": "2023-09-04"
}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

POST → /customers/account

Obtener cuenta mediante Pantoken Inactivo

Code Block
{
  "
accountNumber
panToken": "0004217470595215803",
  "
9500505675946730065
cardSequence": 1,
  "
alternateCustomer
foreignUse": 
1
}
Code Block
{
    "
expirationDate
postToAccount": "
2023-08-22
9500507060523627372",
  
},
  
"
customerNumber
blockCode": "
0995000000000075954
Z",
    "
qualification
cardNumber": "
2
***************0252",
    "
customerTypeIndicator
currentCardActivation": 
0
"N",
    "
foreignUseIndicator
dateBlock": 
0
"2023-09-04"
}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no

disponibles.

Card Aggregation service

Info

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

disponibles.

Obtener cuenta mediante Pantoken Expirado

Code Block
{
  "panToken": "
0004217470595215803
0004217470200073271",
  "cardSequence": 
2147483647
1,
  "foreignUse": 
0
1
}
Code Block
{
    
"postToAccount": "
9500508261544464147
9500507060523627372",
  
"blockCode":
 
"Z",
 
"cardNumber": "***************
0252", "currentCardActivation": "N", "dateBlock": "2023-09-04" }
8578",
    "currentCardActivation": "N"
}

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

Code Block
{
  "blockCode": "Z",
  "panToken": "0004217470885923553",
  "cardSequence": 1,
  "functionCode": "B" //B para bloquear - u Desbloquear
}
Code Block
{}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

PUT /account/prepaid

...

Descripción

...

Request

...

Response

...

HTTP Codes

GET /cards/account

Descripción

Request

Response

HTTP Codes

PUT /cards/embosser/block

Descripción

Request

Response

HTTP Codes

PUT /cards/activation​

...

Descripción

...

Request

...

Response

...

HTTP Codes

Bloqueo de tarjetas - Desbloqueo

Code Block
{
  "blockCode": "
Z
",
  "panToken": "
0004217470885923553
0004217470752022413",
  "cardSequence": 1,
  "functionCode": "
B
U" //B para bloquear - u Desbloquear
}
Code Block
{}

200: Solicitud exitosa.

400: Request con campos no válidos.

401: Apy Key no válida.

500: Servicios no disponibles.

...