Como usar la API

Para usar la api deben apuntar al endpoint [https://api.trytoku.com](<https://api.trytoku.com/>)/bank-account-verification/test.

Y deben agregar en los header la x-api-key con el valor de la api-key de la organization.

Request Body

// Json body request
{
    "account_number": STRING,
    "customer_identifier": OPTIONAL[STRING],
		"bank_id": OPTIONAL[STRING] #5 characters
}

Example

{
    "account_number": "111111111111111111",
    "customer_identifier": "1111111111111",
		"bank_id": "00001"
}

Response Body

// Json body request
{
    "status": STRING,
    "validation": OPTIONAL[STRING],
    "reason": OPTIONAL[STRING],
    "voucher_url": OPTIONAL[
			{
				"pdf": STRING,
		    "xml": STRING
			}
		],
    "account_number": STRING,
    "customer_identifier": OPTIONAL[STRING],
    "voucher_information": OPTIONAL[
			{
				"account_number": STRING,
		    "customer_identifier": STRING,
		    "receiver_institution": STRING,
		    "receiver_name": STRING,
		    "receiver_account_type": STRING,
		    "operation_date": STRING,
		    "operation_time": STRING,
		    "spei_id": STRING,
		    "signature": STRING,
		    "certificate_number": STRING,
		    "cda_chain": STRING,
		    "tracking_id": STRING
			}
		]
}

Example

{
  "status": "DONE",
  "validation": "failed",
  "reason": null,
  "voucher_url": {
    "pdf": "<https://storage.googleapis.com/domiciliation-validation/bav_rNaGT3DOzVYgfU9TpFLZ9CNjEx9Jtest.B.pdf>",
    "xml": "<https://storage.googleapis.com/domiciliation-validation/bav_rNaGT3DOzVYgfU9TpFLZ9CNjEx9Jtest.B.xml>"
  },
  "account_number": "111111111111111111",
  "customer_identifier": "111111111111",
  "voucher_information": {
    "account_number": "111111111111111111",
    "customer_identifier": "1111111111111",
    "receiver_institution": "BANORTE",
    "receiver_name": "TEST TEST",
    "receiver_account_type": "40",
    "operation_date": "2022-10-14",
    "operation_time": "14:41:31",
    "spei_id": "11111",
    "signature": "mYfEz2/nPaTmKjG1LsVcXsFg/QoDpWYb0qoB4dULelSYCfNzI8iU6RkH7JhATvx9+3aP5tKjG1LsVcXsFg/QoDpWYb0qoB4dULel\\n    SYCfNzI8iU6RkH7JhATvx9+3aP5tFzLb9/eDUGhQorY6nTEbxyZwca8sGVKQ2aLqpEuRSsLsVcXsFg/QoDpWYb0qoB4dULelSYCfNzI8iU6RkH7JhATv\\n    x9+3aP5tKjG1LsVcXsFg/QoDpWYb0qoB4dULelSYCfNzI8iU6RkH7JhATvx9+3aP5tFzLb9/eDUGhQorY6nTEbxyZvhitQ==",
    "certificate_number": "00001000000501111111",
    "cda_chain": "||1|14102022|14102022|144131|11111|STP|TESTING S DE RL DE CV|40|111111111111111111|TEST220304U60\\n    |BANORTE|TEST TEST|40|111111111111111111|1111111111111|Validation transfer|0.00|0.01|NA|NA|0|0|NA|0\\n    |0.00|00001000000501732145||mYfEz2/nPaTmKjG1LsVcXsFg/QoDpWYb0qoB4dULelSYCfNzI8iU6RkH7JhATvx9+3aP5tKjG1LsVcXsFg/QoDpWYb0qoB4dULel\\n    SYCfNzI8iU6RkH7JhATvx9+3aP5tFzLb9/eDUGhQorY6nTEbxyZwca8sGVKQ2aLqpEuRSsLsVcXsFg/QoDpWYb0qoB4dULelSYCfNzI8iU6RkH7JhATv\\n    x9+3aP5tKjG1LsVcXsFg/QoDpWYb0qoB4dULelSYCfNzI8iU6RkH7JhATvx9+3aP5tFzLb9/eDUGhQorY6nTEbxyZvhitQ==",
    "tracking_id": "2022101411111BNRT1939536CAMTT"
  }
}

Casos posibles

Los casos se separan en 2 variables, el estado de la obtención de los datos (status) y el de la validación de los usuarios(validation).

El status determina si se pudieron obtener o no datos (DONE/FAILED). Puede haber casos donde no obtengamos datos de la cuenta del usuario pero si información relevante respecto a esta, como por ejemplo que la cuenta no exista(NONEXISTENT ACCOUNT), esto vendra detallado en la variable reason

Por otro lado validation indica si el customer_identifier que se mando a validar corresponde al obtenido. Si no se envia customer_identifier , el campo validation vendra null. Si se envia cualquier otra combinación diferente al Caso 1, vendra FAILED.

DONE

Caso 1 - DONE - SUCCESS

// Json body request
{
    "account_number": "111111111111111111",
    "customer_identifier": "1111111111111"
}