A communication method, comprising: a first step of causing a terminal apparatus to image a two-dimensional code assigned to an automatic vending machine and obtain a vending machine ID, obtain position information, and transmit the vending machine ID and the position information to a first server apparatus, to thus request obtainment of encrypted data pertaining to unlocking of the automatic vending machine; a second step of causing the first server apparatus to determine whether the vending machine ID and the position information match with stored information, and transmit item information to the terminal apparatus when the information matches; a third step of causing a second server apparatus to receive a settlement request issued by the terminal apparatus, execute a settlement process, and transmit a settlement token to the first server apparatus; a fourth step of causing the first server apparatus to receive the settlement token, generate a hash value obtained by hashing sensor information through a hash function, and transmit the hash value to the terminal apparatus; a fifth step of causing the terminal apparatus to issue a search request to a virtual server apparatus group that achieves a hash pool by the hash value; a sixth step of causing the virtual server apparatus group to receive the search request, identify presence of the hash value, and transmit a public key to a third server apparatus in a case of the presence; a seventh step of causing the third server apparatus to generate an unlocking code, encrypt the unlocking code with the public key, and transmit encrypted data to the terminal apparatus; an eighth step of causing the terminal apparatus to transmit the encrypted data to a sensor unit of the automatic vending machine to thus request unlocking of the automatic vending machine; and a ninth step of causing the sensor unit to determine success or failure of verifying the encrypted data, and unlock the automatic vending machine in a case of determination of the success. a first step of causing a terminal apparatus to image a two-dimensional code assigned to an automatic vending machine and obtain a vending machine ID, obtain position information, and transmit the vending machine ID and the position information to a first server apparatus, to thus request obtainment of encrypted data pertaining to unlocking of the automatic vending machine; a second step of causing the first server apparatus to determine whether the vending machine ID and the position information match with stored information, and transmit item information to the terminal apparatus when the information matches; a third step of causing a second server apparatus to receive a settlement request issued by the terminal apparatus, execute a settlement process, and transmit a settlement token to the first server apparatus; a fourth step of causing the first server apparatus to receive the settlement token, generate a hash value obtained by hashing sensor information through a hash function, and transmit the hash value to the terminal apparatus; a fifth step of causing the terminal apparatus to issue a search request to a virtual server apparatus group that achieves a hash pool by the hash value; a sixth step of causing the virtual server apparatus group to receive the search request, identify presence of the hash value, and transmit a public key to a third server apparatus in a case of the presence; a seventh step of causing the third server apparatus to generate an unlocking code, encrypt the unlocking code with the public key, and transmit encrypted data to the terminal apparatus; an eighth step of causing the terminal apparatus to transmit the encrypted data to a sensor unit of the automatic vending machine to thus request unlocking of the automatic vending machine; and a ninth step of causing the sensor unit to determine success or failure of verifying the encrypted data, and unlock the automatic vending machine in a case of determination of the success.