STP
Create a CLABE account (Physical accounts)
curl http://dev-stp.ictineoptf.com:8080/stp/clabes \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d enterprise_id="6c4a-ye2y-23h2-y38g" \
-d account_id="232313223" \
-d name="Enrique" \
-d last_name="Martinez" \
-d second_lastname="Gomez" \
-d birth_date="19860228" \
-d gender="H" \
-d rfc_or_curp="MAGL860228TF3" \
-d federal_entity="1" \
-d economy_activity="30" \
-d personal_id="3313476042" \
-d street="Polanco" \
-d outdoor_number="254" \
-d interior_number="1" \
-d suburb="Lomas de chapultepec" \
-d municipality="Miguel Hidalgo" \
-d zip_code="01100" \
-d country_of_birth="1" \
-d email="enrique@medici-satoshi.com" \
-d phone="5513673221"
RESPONSE
{
"timestamp": "2021-02-03T19:53:04.055+00:00",
"status": 400,
"error": "Bad Request",
"message": "",
"path": "/stp/clabes"
}
This endpoint is used to create CLABE account(Physical accounts).
HTTP Request
PROD POST https://stp.ictineoptf.com:8080/stp/clabes
DEV POST https://dev-stp.ictineoptf.com:8080/stp/clabes
Parameters
| Parameter | Required | Type | Description | Example |
|---|---|---|---|---|
| enterprise_id | Y | String | Identifier of the company to which the CLABE account | 6c4a-ye2y-23h2-y38g |
| account_id | Y | String | Account number identifier | 232313223 |
| name | Y | String | Full name of the physical person | Enrique |
| last_name | Y | String | Paternal surname of the physical person | Martinez |
| second_lastname | C | String | Maternal surname of the physical person | Gomez |
| birth_date | Y | String | Birthdate | 19860228 |
| gender | N | String | Gender type of the physical person. Values: Male -> H, Female -> M | H |
| rfc_or_curp | Y | String | The RFC or CURP of the physical person | MAGL860228TF3 |
| federal_entity | Y | String | Federal entity identifier. Federative Entities Catalog | 1 |
| economy_activity | Y | String | Economic activity. Catalog of Economic Activities | 30 |
| personal_id | N | String | Identification(INE / IFE), Identity card(CI), Citizenship card(CC) | 3313476042 |
| street | N | String | Street of the address of the physical person | Polanco |
| outdoor_number | N | String | External number of the address of the physical person | 254 |
| interior_number | N | String | Internal number of the address of the physical person | 1 |
| suburb | N | String | Suburb of the address of the physical person | Lomas de chapultepec |
| municipality | N | String | Municipality of the address of the physical person | Miguel Hidalgo |
| zip_code | N | String | Postal Code of the address of the natural person | 01100 |
| country_of_birth | Y | String | Country of birth. Country of birth catalog | 187 |
| N | String | Email of the physical person | enrique@medici-satoshi.com | |
| phone | N | String | Phone number of the physical person | 5513673221 |
Webhook of CLABE status
The webhook endpoint object
{
"clabe": "646180123300000408",
"status": 1
}
This endpoint is used for STP to notify the status of the account, You should implement an endpoint like this.
Attributes
| Attribute | Type | Description | Example |
|---|---|---|---|
| clabe | String | CLABE account number assigned | 646420123300000000 |
| status | String | The status type of the CLABE account. Values: Active -> 1, Inactive -> 0 | 1 |
Webhook of SPEI IN
The webhook endpoint object
{
"clabe": "646180123300000408",
"reference": "MBAN000000212",
"amount": "10.50"
}
This endpoint is used for STP to notify a SPEI IN, You should implement an endpoint like this.
Attributes
| Attribute | Type | Description | Example |
|---|---|---|---|
| clabe | String | The CLABE account of beneficiary | 646420123300000000 |
| reference | Tracking key associated with the payment order. It must be unique | MBAN000000212 | |
| amount | Amount of the payment order | MBAN000000212 |
SPEI OUT
curl http://dev-stp.ictineoptf.com:8080/stp/transfer \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d payer_account="646420123300000000" \
-d beneficiary_name="LUIS TRUTIE RODRIGUEZ" \
-d beneficiary_account="012180029588856995" \
-d beneficiary_account_type="40" \
-d counterpart_institution="40012" \
-d beneficiary_rfc_curp="ND" \
-d amount=5.04 \
-d payment_concept="Envio de SPEI" \
-d numeric_reference="12345" \
-d tracking_key="ICTINEO000000001" \
-d enterprise="ICTINEO"
RESPONSE
{
"timestamp": "2021-02-03T19:53:04.055+00:00",
"status": 400,
"error": "Bad Request",
"message": "",
"path": "/stp/clabes"
}
This endpoint is used to register an order to SPEI OUT
HTTP Request
PROD POST https://stp.ictineoptf.com:8080/stp/transfer
DEV POST https://dev-stp.ictineoptf.com:8080/stp/transfer
Parameters
| Parameter | Required | Type | Description | Example |
|---|---|---|---|---|
| payer_account | Y | String | The payer account | 646420123300000000 |
| beneficiary_name | Y | String | The name of the beneficiary of the payment order | LUIS TRUTIE RODRIGUEZ |
| beneficiary_account | Y | String | The beneficiary account | 012180029588856995 |
| beneficiary_account_type | Y | String | The key of the beneficiary account type. Catalog Type Account | 40 |
| counterpart_institution | Y | String | The key of the institution to which the payment is directed. Catalog of Institutions | 40012 |
| beneficiary_rfc_curp | Y | String | The RFC or CURP of the beneficiary | ND |
| amount | Y | String | The maximum amount per money order transfer order is: 999999999999.99 | 5.04 |
| payment_concept | Y | String | The reason for the payment to the beneficiary customer | Envio de SPEI |
| numeric_reference | Y | String | A numerical reference associated with the payment | 12345 |
| tracking_key | Y | String | Tracking key associated with the payment order. It must be unique per operation | ICTINEO000000001 |
| enterprise | Y | String | Company Name | ICTINEO |
Webhook of SPEI OUT
The webhook endpoint object
{
"id": 8610843,
"folio": "ICTINEO000000001",
"status": 1,
"cause": "Liquidación"
}
This endpoint is used for STP to notify the status of an order for SPEI OUT, You should implement an endpoint like this.
Attributes
| Attribute | Type | Description | Example |
|---|---|---|---|
| clabe | String | The CLABE account of beneficiary | 646420123300000000 |
| reference | Tracking key associated with the payment order. It must be unique | MBAN000000212 | |
| amount | Amount of the payment order | MBAN000000212 |
Credencial
Card Assign
curl http://credencial.ictineoptf.com/credential/nomination/:card_number \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d emi_account_reference="0001003143" \
-d emi_account_identifier="21000002159" \
-d card_name="Jose Lopez" \
-d full_name="Jose Lopez Garcia" \
-d birth_date="1986-10-10" \
-d gender="M" \
-d civil_status="S"
-d email="persona@dominio.com" \
-d phone="5511456745" \
-d "address[type]"="casa" \
-d "address[street]"="Privada" \
-d "address[country]"=484 \
-d "address[state]"="CDMX" \
-d "address[suburb]"="Granjas" \
-d "address[locality]"="Iztapalapa" \
-d "address[zip_code]"="04056" \
-d "document[type]"="DNI" \
-d "document[number]"="32145698777" \
RESPONSE
{}
This endpoint is used to card assign to account.
HTTP Request
POST http://credencial.ictineoptf.com/credential/nomination/:card_number
Parameters
| Parameter | Required | Type | Description | Example |
|---|---|---|---|---|
| account_number | Y | String | Account number | 53234334 |
| account_id | Y | String | Account number identifier | 13332233 |
| card_name | Y | String | Usually name of cardholder. It's the name printed on the plastic. | Oswaldo Lopez |
| full_name | Y | String | Name of cardholder | Oswaldo Lopez Garcia |
| birth_date | Y | String | Cardholder date of birth | 1986-10-10 |
| gender | Y | String | Cardholder gender | M |
| civil_status | Y | String | Cardholder civil status | S |
| Y | String | Email address | persona@dominio.com | |
| phone | Y | String | Phone number | 5511456745 |
| address[type] | Y | String | Cardholder type of address | casa |
| address[street] | Y | String | Cardholder street of address | 3313476042 |
| address[number] | Y | String | Cardholder number of address | 24 |
| address[country] | Y | String | Cardholder country of address. ISO code | 32 |
| address[state] | Y | String | Cardholder state of address | |
| address[suburb] | Y | String | Cardholder suburb of address | Lomas de chapultepec |
| address[zip_code] | Y | String | Cardholder postal code of address | 01100 |
| document[type] | Y | String | Phone number of the physical person | DNI |
| document[number] | Y | String | Phone number of the physical person | 32145698777 |
Card Status
curl http://credencial.ictineoptf.com/credential/cards/:account_number/status
RESPONSE
{}
This endpoint is used to review card status. Retrieves the card status with the given Account number.
HTTP Request
GET http://credencial.ictineoptf.com/credential/cards/:account_number/status
Parameters
| Parameter | Required | Type | Description | Example |
|---|
Update a Card Status
curl http://credencial.ictineoptf.com/credential/cards/:account_number/status \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d status="01" \
RESPONSE
{}
This endpoint is used to update a card status.
HTTP Request
PUT http://credencial.ictineoptf.com/credential/cards/:account_number/status
Parameters
| Parameter | Required | Type | Description | Example |
|---|---|---|---|---|
| status | Y | String | Card status code to which you want to update | 01 |
Initial NIP of Card
curl http://credencial.ictineoptf.com/credential/cards/:account_number/initial_nip \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d transaction_id="1560529031736" \
-d card_expiration="1221" \
-d card_security_code=1234 \
-d card_nip="7563"
RESPONSE
{}
This endpoint is used to initial NIP of card.
HTTP Request
POST http://credencial.ictineoptf.com/credential/cards/:account_number/initial_nip
Parameters
| Parameter | Required | Type | Description | Example |
|---|---|---|---|---|
| transaction_id | Y | String | Transaction identifier | 1560529031736 |
| card_expiration | Y | String | Card expiration date. Format MMYY | 1221 |
| card_security_code | Y | Integer | Card CVC | 1234 |
| card_nip | Y | String | Initial NIP of card | 7563 |
Update NIP of Card
curl http://credencial.ictineoptf.com/credential/cards/:account_number/update_nip \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d transaction_id="1560529031736" \
-d card_expiration="1221" \
-d card_security_code=1234 \
-d card_nip_actual="7563" \
-d card_nip_new="1111"
RESPONSE
{}
This endpoint is used to update NIP of card.
HTTP Request
POST http://credencial.ictineoptf.com/credential/cards/:account_number/update_nip
Parameters
| Parameter | Required | Type | Description | Example |
|---|---|---|---|---|
| transaction_id | Y | String | Transaction identifier | 1560529031736 |
| card_expiration | Y | String | Card expiration date. Format MMYY | 1221 |
| card_security_code | Y | Integer | Card CVC | 1234 |
| card_nip_actual | Y | String | Actual NIP of card | 7563 |
| card_nip_new | Y | String | New NIP of card | 1111 |
Webhook of DEBIT
The webhook endpoint object
{
"emi_account_reference": "0001003143",
"emi_account_identifier": "21000002159",
"account_number": 544802938,
"amount": 2000.0,
"currency": 840,
"amount_liq": 10.0,
"currency_liq": 484,
"identifier_adq": "?",
"reference": "-",
"commission": 0,
"commission_liq": 0,
"origin": "MASTER_ATM",
"reason": 0,
"acquirer": "?",
"city": "?",
"date": "18/12/2012 03:29:30 PM",
"terminal": "?",
"trade_name": "?"
}
This endpoint is used for Credencial to notify the Debit of card, You should implement an endpoint like this.
Attributes
| Attribute | Type | Description | Example |
|---|---|---|---|
| emi_account_reference | |||
| emi_account_identifier | |||
| account_number | |||
| amount | |||
| currency | |||
| amount_liq | |||
| currency_liq | |||
| identifier_adq | |||
| reference | |||
| commission | |||
| commission_liq | |||
| origin | |||
| reason | |||
| acquirer | |||
| city | |||
| date | |||
| terminal | |||
| trade_name |
RESPONSE
{
"code": -1,
"message": "Retiro aplicado con éxito.",
"emi_account_identifier": "21000002159",
"date": 1355866173000,
"balance_actual": 5000.0,
"balance_last": 7000.0,
"reference": "-"
}
Webhook of REVERSE DEBIT
The webhook endpoint object
{
"emi_account_identifier": "200020000015",
"account_number": 544802938,
"identifier_adq": "?",
"origin": "?",
"reverse_reason": "?",
"amount": 100,
"currency": "?",
"amount_liq": 100,
"currency_liq": "?",
"date": "?",
"reference": "?",
"trade_name": "?"
}
This endpoint is used for Credencial to notify the Debit of card, You should implement an endpoint like this.
Attributes
| Attribute | Type | Description | Example |
|---|---|---|---|
| identifier_adq | |||
| emi_account_identifier | |||
| account_number | |||
| origin | |||
| reverse_reason | |||
| amount | |||
| currency | |||
| amount_liq | |||
| currency_liq | |||
| date | |||
| reference | |||
| trade_name |
RESPONSE
{
"code": -1,
"message": "Reversa aplicada con éxito.",
"emi_account_identifier": "35241",
"balance_actual": 5000.0,
"balance_last": 17000.0,
"date": 1355866173000,
"reference": "-"
}
Webhook of BALANCE
The webhook endpoint object
{
"emi_account_reference": "0001003143",
"emi_account_identifier": "200020000015",
"account_number": 544802938,
"identifier_adq": "",
"reference": "",
"origin": "MASTER_ATM"
}
This endpoint is used for Credencial to notify the Debit of card, You should implement an endpoint like this.
Attributes
| Attribute | Type | Description | Example |
|---|---|---|---|
| emi_account_reference | |||
| emi_account_identifier | |||
| identifier_adq | |||
| reference | |||
| origin |
RESPONSE
{
"code": -1,
"message": "Consulta aplicada con éxito.",
"balance_actual": 5000.0,
"date": 1355866173000,
"reference": "-"
}
Webhook of MOVEMENTS
The webhook endpoint object
{
"emi_account_reference": "0001003143",
"emi_account_identifier": "200020000015",
"account_number": 544802938,
"identifier_adq": "?",
"reference": "",
"origin": "?"
}
This endpoint is used for Credencial to notify the Debit of card, You should implement an endpoint like this.
Attributes
| Attribute | Type | Description | Example |
|---|---|---|---|
| emi_account_reference | |||
| emi_account_identifier | |||
| account_number | |||
| identifier_adq | |||
| reference | |||
| origin |
RESPONSE
{
"code": -1,
"message": "Consulta aplicado con éxito",
"reference": "-",
"movements": [
{
"reference": "25487",
"type": "33",
"amount": 1000.0,
"currency": 484,
"date": 1355934010000,
"terminal": "0116TERM0050101"
},
{
"reference": "25488",
"type": "1027",
"amount": 1000.0,
"currency": 484,
"date": 1355934010000,
"terminal": "0116TERM0050101"
}
],
"date": 1355866173000
}
Errores
HTTP STATUS CODE SUMMARY
| Codigo de error | Significado |
|---|---|
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found - The resource you are trying to access cannot be found |
| 409 | Conflict - A conflict occurred on the server while processing your request |
| 500 | Internal Server Error - A serious error occurred on the server, please try again later |