US2019147474A1PendingUtilityA1

Promotion code validation apparatus and method

Assignee: RETAILMENOT INCPriority: Nov 30, 2011Filed: Jan 10, 2019Published: May 16, 2019
Est. expiryNov 30, 2031(~5.3 yrs left)· nominal 20-yr term from priority
G06Q 30/0225G06Q 30/0207G06Q 30/0222G06N 20/00G06F 30/20G06Q 30/02H04L 67/02G06F 17/5009
62
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method including interacting with a promotion code provider programmatically, providing a promotion code to a validation function of the promotion code provider, and evaluating a response from the promotion code provider. The act of interacting with a promotion code provider can include controlling an interface that simulates user actions, such as but not limited to controlling an in-memory web browser through an API, where the API provides a set of functions for simulating user actions. Accordingly, the method can be used to quickly and easily determine whether one or more promotion codes, such as online coupons, are valid.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 - 19 . (canceled) 
     
     
         20 . One or more tangible, non-transitory, machine-readable media storing instructions that, when executed by a computer, effectuate operations comprising:
 obtaining, with a computer, a first plurality of strings assigned to a test driver;   identifying, with the computer, by the test driver, a first string-submission interface of a first website;   causing, with the computer, by the test driver, testing of at least some of the first plurality of strings by causing submission of strings among the first plurality of strings via the first string-submission interface; and   storing, with the computer, at least some test results of the testing in memory.   
     
     
         21 . The one or more media of  claim 20 , wherein the operations further comprise:
 determining whether a first response to submission of a first string among the first plurality of strings indicates that the first string is effective to cause a numerical value in a webpage of the first website to decrease.   
     
     
         22 . The one or more media of  claim 21 , wherein the operations further comprise:
 controlling a web browser to simulate a user submission of a second string among the first plurality of strings.   
     
     
         23 . The one or more media of  claim 22 , wherein the operations further comprise:
 determining whether a second response to submission of the second string indicates that the second string is effective to cause the numerical value to decrease.   
     
     
         24 . The one or more media of  claim 20 , wherein:
 at least some of the first plurality of strings are assigned to the test driver by a test monitor configured to assign batches of strings to a plurality of test drivers.   
     
     
         25 . The one or more media of  claim 24 , wherein:
 the operations further comprise sending test results to the test monitor; and   at least some of the first plurality of strings are selected by the test monitor based on previous test results sent to the test monitor.   
     
     
         26 . The one or more media of  claim 20 , wherein:
 at least some of the strings are caused to be submitted via a first website-specific application programming interface request.   
     
     
         27 . The one or more media of  claim 20 , wherein the operations comprise:
 obtaining a second plurality of strings;   identifying, by another test driver, a second string-submission interface of a second website; and   causing, by the other test driver, testing of at least some of the second plurality of strings by causing submission of strings among the second plurality of strings via a second website-specific application programming interface request.   
     
     
         28 . The one or more media of  claim 20 , wherein the operations comprise:
 steps for controlling a web browser to simulate user actions interacting with web site.   
     
     
         29 . The one or more media of  claim 20 , wherein identifying the string-submission interface comprises:
 detecting an input text box in a given webpage of the website based at least in part on proximity of a first element in a document object model of the given webpage to a second element of the document object model, wherein:
 proximity is independent of layout; and 
 the second element includes or is a button interaction element. 
   
     
     
         30 . One or more tangible, non-transitory, machine-readable media storing instructions that, when executed by one or more processors, effectuate operations comprising:
 obtaining, with one or more processors, a first plurality of promotion codes assigned to a validation driver by a monitor;   determining, with one or more processors, at least in part by the validation driver, how to submit the promotion codes by detecting a first promotion-code-entry webpage of a first merchant website and identifying a first promotion-code interface of the first promotion-code-entry webpage;   testing, with one or more processors, by the validation driver, the first plurality of promotion codes by simulating user actions of submitting the first plurality of promotion codes via the first promotion-code interface and determining whether responses to the submissions indicate respective promotion codes are valid; and   storing, with one or more processors, at least some test results of the testing in memory.   
     
     
         31 . The one or more media of  claim 30 , wherein:
 the first plurality of promotion codes are assigned based on at least some test results from another test of promotion codes.   
     
     
         32 . The one or more media of  claim 30 , wherein the operations further comprise:
 determining that a given promotion code requires that a given product be in a shopping cart at checkout and, after testing validity of another promotion code causes the shopping cart to cease to include the given product, re-adding the product to the shopping cart.   
     
     
         33 . The one or more media of  claim 30 , wherein:
 some promotion codes in the first plurality of promotion codes are asynchronously tested for validity.   
     
     
         34 . The one or more media of  claim 30 , wherein the operations further comprise:
 causing a JSON object containing validation data indicative of test results to be passed to the monitor.   
     
     
         35 . The one or more media of  claim 30 , wherein:
 the validation driver is configured to detect changes in webpages relative to previous versions of webpages.   
     
     
         36 . The one or more media of  claim 30 , wherein:
 the operations further comprise controlling a web browser through an automation application programming interface.   
     
     
         37 . The one or more media of  claim 30 , wherein the operations further comprise:
 detecting a first promotion-code input text box based at least in part on proximity of a first element of a document object model of the first promotion-code-entry webpage to a second element of the document object model, wherein the first promotion-code input text box is identified as the first promotion-code interface.   
     
     
         38 . The one or more media of  claim 37 , wherein proximity is determined based on proximity in the document object model and is independent of layout. 
     
     
         39 . The one or more media of  claim 37 , wherein proximity is determined based on proximity to a button interaction element and the second element includes or is the button interaction element. 
     
     
         40 . The one or more media of  claim 30 , wherein:
 the operations further comprise detecting a first promotion-code input text box based at least in part on proximity of nodes in a graph data structure; and   proximity is determined based at least in part on a union of two nodes in the graph data structure, the graph data structure specifying relationships between webpage elements of the detected promotion-code-entry webpage.   
     
     
         41 . The one or more media of  claim 30 , wherein simulating user actions of submitting the first plurality of promotion codes comprises:
 steps for controlling an interface that simulates user actions.   
     
     
         42 . The one or more media of  claim 30 , wherein the operations comprise:
 limiting promotion-code validation testing based on a merchant-specific throttling pattern and historical validation rate data.   
     
     
         43 . The one or more media of  claim 30 , wherein the operations comprise:
 steps for evaluating a response from a promotion-code provider.   
     
     
         44 . The one or more media of  claim 30 , wherein the operations comprise:
 causing, by the validation driver, testing of a second plurality of promotion codes on a second merchant website, wherein the first merchant website and the second merchant website use different terminology in responses to promotion-code submissions to indicate whether promotion codes are valid.   
     
     
         45 . The one or more media of  claim 30 , wherein the validation driver is configured to automatically test validity of promotion codes and, in response to test results, cause an online shopper to receive a promotion code that test results indicate are valid. 
     
     
         46 . A method, comprising:
 obtaining, with a computer, a first plurality of promotion codes assigned to a validation driver by a monitor;   determining, with the computer, at least in part by the validation driver, how to submit the promotion codes by detecting a first promotion-code-entry webpage of a first merchant website and identifying a first promotion-code interface of the first promotion-code-entry webpage;   testing, with the computer, by the validation driver, the first plurality of promotion codes by simulating user actions of submitting the first plurality of promotion codes via the first promotion-code interface and determining whether responses to the submissions indicate respective promotion codes are valid; and   storing, with the computer, at least some test results of the testing in memory.   
     
     
         47 . The method of  claim 46 , wherein:
 the first plurality of promotion codes are assigned based on at least some test results from another test of promotion codes.   
     
     
         48 . The method of  claim 46 , comprising:
 causing, by the validation driver, testing of a second plurality of promotion codes on a second merchant website, wherein the first merchant website and the second merchant website use different terminology in responses to promotion-code submissions to indicate whether promotion codes are valid.   
     
     
         49 . The method of  claim 46 , comprising:
 causing a JSON object containing validation data indicative of test results to be passed to the monitor.

Join the waitlist — get patent alerts

Track US2019147474A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.