Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current Restore this Version View Page History

« Previous Version 7 Next »

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

Detalle de endpoints

IMPORTANTE:

El servicio de Aggregation son los que se usarán para las pruebas correspondientes en ambientes de QA y ST en Genesys

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"

}

 

Body - Response

{

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

}

Mirror

Account

Consulta de bloqueos​

Repositorio sincronizado con Fiserv​

Disminuye peticiones al Proveedor​

POST → /v1/accounts/details

Descripción

Request

Response

HTTP Codes

Realiza la consulta de bloqueos de cuenta.

{
  "accountNumber": "9500501520328494829"
}
{
	"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/accounts/blocks

Descripción

Request

Response

HTTP Codes

Realiza bloqueos/desbloqueo de cuenta.

{
  "blockCode": "",
  "blockCodeIndicator": 1,
  "foreignUse": 0,
  "functionCode": "U",
  "accountNumber": "9500501520328494829"
}
{
	"functionCode": "U",
	"accountNumber": "9500501520328494829",
	"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.

{
  "accountNumber": "9500501520328494829"
}
{
	"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.


Balance

Consulta de balance​

Repositorio sincronizado con Fiserv​

Disminuye peticiones al Proveedor

POST → /v1/balances

Descripción

Request

Response

HTTP Codes

Realiza la consulta de balance de cuenta.

{
  "accountNumber": "9500501520328494829"
}
{
	"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.

POST → /v1/balances/syncs

Descripción

Request

Response

HTTP Codes

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

{
  "accountNumber": "9500501520328494829"
}
{
	"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.

PUT → /v1/balances/transfers

Descripción

Request

Response

HTTP Codes

Realiza una transferencia .

{
  "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": "9500501545918394337"
}
{
	"historyDate": "2023-09-08",
	"historyTime": "122250",
	"transactionData": {
		"transactionCode": "8012",
		"transactionDescription": "P2P RECIEVER",
		"currentBalance": "-2122495",
		"openToBuy": "2122546"
	}
}

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.

{
  "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"
}
{
	"effectiveDate": "2022-01-30",
	"transactionAmount": "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.

PUT → /v1/balances/transfers-qr

Descripción

Request

Response

HTTP Codes

Realiza una transferencia QR.

{
  "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"
}
{
	"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.


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

Bloqueo de tarjetas

PUT → /v1/cards/embossers/block

Descripción

Request

Response

HTTP Codes

Obtener cuenta mediante Pantoken


Gateway

Account Adapter

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

GET → /Account/Details

Descripción

Request

Response

HTTP Codes

SET → /Account/Block-Code

Descripción

Request

Response

HTTP Codes

PUT → /account/FL-balance

Descripción

Request

Response

HTTP Codes

PUT → /account/FL-transferP2P

Descripción

Request

Response

HTTP Codes

PUT → /account/QRFL-balance

Descripción

Request

Response

HTTP Codes

POST → /account/balance/details

Descripción

Request

Response

HTTP Codes


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.​

POST → /customer

Descripción

Request

Response

HTTP Codes

Creación del cliente

PUT → /customer

Descripción

Request

Response

HTTP Codes

Actualizar cliente

PUT → /account/customer

Descripción

Request

Response

HTTP Codes

Vincular cuenta al cliente


Card Gateway

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

POST → /v1/cards/embosser/block

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

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

POST → /v1/accounts/blocks

Descripción

Request

Response

HTTP Codes

POST → /v1/accounts/syncs

Descripción

Request

Response

HTTP Codes

POST → /v1/balances

Descripción

Request

Response

HTTP Codes

POST → /v1/balances/syncs

Descripción

Request

Response

HTTP Codes

PUT → /v1/balances/transfers

Descripción

Request

Response

HTTP Codes

PUT → /v1/balances/transfers-p2p

Descripción

Request

Response

HTTP Codes

PUT → /v1/balances/transfers-qr

Descripción

Request

Response

HTTP Codes


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

Registro del cliente en la el proveedor de clientes.

PUT → /customers

Descripción

Request

Response

HTTP Codes

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

POST → /customers/account

Descripción

Request

Response

HTTP Codes

Vinculación del cliente en la cuenta de Spin.


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

PUT /account/prepaid

Descripción

Request

Response

HTTP Codes

GET /cards/account

Descripción

Request

Response

HTTP Codes

PUT /cards/activation​

Descripción

Request

Response

HTTP Codes

PUT /cards/embosser/block

Descripción

Request

Response

HTTP Codes