Scraping resistant system and method for placing orders through an internet shopping service
View Patent ↗A third-party server exposes a first set of data from a content based website. Access to a second set of data requires that a token be assigned to a specific web browser and corresponding to a specific subset of protected data, the token containing no information that can be used to gain access to other protected data.
1. A non-transitory computer-readable storage medium storing one or more instructions which, when executed by one or more processors of an API server, causes the one or more processors to perform:
receiving an update message from a third-party server, the update message including an API key of the third-party server and a timestamp;
providing, using the received timestamp, an information feed to the third-party server, the information feed including a first set of information associated with a service;
receiving a first message from the third-party server, the first message including a first merchant identifier associated with the service of additional information, and the API key identifying the third-party server;
generating a first token, mapping the first token to the first merchant identifier associated with the service and to the API key of the third-party server, storing the mapping in a mapping database of a plurality of tokens to merchant identifiers associated with services of additional information and API keys of third-party servers;
sending a second message to the third-party server including the first token;
receiving, from a web browser, a request for the additional information, wherein the request includes a second token;
comparing the second token in the request with the plurality of tokens in the mapping database;
determining a second merchant identifier corresponding to the second token in the mapping database, and
either sending the additional information corresponding to the second merchant identifier to the web browser, or
identifying a third-party partner using a second API key of the second token and sending to the web browser additional information of a third merchant with an additional data corresponding to the second merchant identifier.
2. The non-transitory computer-readable storage medium of claim 1 , wherein the first token is a string of random alphanumeric characters.
3. The non-transitory computer-readable storage medium of claim 1 , wherein the first token is a random length.
4. The non-transitory computer-readable storage medium of claim 1 , wherein the first token corresponds uniquely to both the API key and the first merchant identifier.
5. The non-transitory computer-readable storage medium of claim 1 , wherein the first merchant identifier is a restaurant identifier.
6. The non-transitory computer-readable storage medium of claim 1 , wherein the API server receives the request for additional information from the web browser without passing through the third party server.
7. The non-transitory computer-readable storage medium of claim 1 , wherein the first set of information includes a listing of restaurants and the additional information is a menu for a particular restaurant associated with the first merchant identifier.
8. The non-transitory computer-readable storage medium of claim 1 , further comprising:
in response to determining that the request is not for the second merchant identifier the second token in the request maps to, dropping the request received from the web browser.