A method for enabling communications between an automated teller machine (ATM) and a back-end server via application programming interfaces (APIs), wherein the ATM comprises an ATM central processing unit (ATM CPU), a socket, a mobile computer and an interface system, wherein the mobile computer comprises a mobile computer CPU (MC CPU), a touch screen, wherein the mobile computer is installed in the socket of the ATM, wherein the interface system interfaces between the ATM CPU and the MC CPU, the method comprising:
- receiving, by the mobile computer installed in the socket of the ATM, user identification information for an ATM session from a user, wherein the user identification information is a PIN entered by the user;
- determining, by the MC CPU, that a data structure associated with the user identification information corresponding to the PIN entered by the user corresponds to a valid PIN;
- sending, by the ATM to the back-end server, an authorization communication for the ATM session from the user;
- formatting, by the back-end server, an application programming interface (API) call to request a location of the user, ATM device information and the user identification information;
- transmitting, by the back-end server to the mobile computer, the API call;
- sending, by the mobile computer to the back-end server, a response to the API call, wherein the response comprises the location of the user, the ATM device information, and the user identification information;
- transmitting, by the back-end server to the mobile computer, a confirmation to initiate the ATM session in response to receiving the API response;
- displaying, by the mobile computer via the mobile computer touch screen, the confirmation from the back-end server;
- displaying, by the mobile computer via the mobile computer touch screen, an ATM display that comprises multiple transaction options, wherein the multiple transaction options include a cash withdrawal transaction option;
- receiving, by the mobile computer via the mobile computer touch screen, a selection of the cash withdrawal transaction option from the user;
- transmitting, by the MC CPU to the ATM CPU via the interface system, a cash withdrawal amount associated with the selection of the cash withdrawal transaction option;
- and
- dispensing, by an ATM dispenser of the ATM, the cash withdrawal amount based on the selection of the cash withdrawal transaction option.