The registration process basically consists of getting a pair of public and private keys.
If your store can define the product descriptions in multiple languages, you’ll need to get a separate pair of keys for each language and connect all keys in a group of keys. This is necessary to manage settings and view statistics in the Searchanise (Smart Search & Filter) control panel.
Let’s look at this process more closely.
To start the registration process, form an HTTP POST request with parameters (see the table below) for one of your languages. In response, you’ll get api_key and private_key. Save them.
Repeat this process as many times as there are languages in your store. Send the private key you received in the first request to the server and pass the private key in the parent_private_key parameter, that you received upon the first request to the server.
Upon completion, the first obtained private key will be both a private key when accessing update API, and the parent private key specified when connecting to the widget of the embedded control panel.
Restrictions
1. Domain validation via DNS during registration. During the registration process, the system performs DNS-based validation of the domain in the provided URL. Local domains are excluded from validation: localhost
, *.local
, *.test
, *.localhost
, 127.0.0.1
.
2. URL-based engine existence check. The system now checks whether an engine with the specified URL already exists.
3. IP-based registration limitation for CS-Cart, WooCommerce, Magento, and custom platforms. A registration limit: 20 attempts per day per IP address.
Registration request
A registration request is an HTTP POST request sent to http://searchserverapi1.com/api/signup/json with the following parameters:
Parameter | Description | Value type |
---|---|---|
url | Required parameter, full url to the homepage of your store, including get parameter, with which you can immediately go to the homepage of your store with the selected language (http://your_store/folder/?language=current) | string (valid url) |
Required parameter, email of the store administrator for getting feedback | string (valid email) | |
parent_private_key | Parent private key, used for linking a group of keys for different languages within a single store | string (private key) |
Response to the request
Parameter | Description |
---|---|
api | Public API key |
private | Private API key |
The request for registration may take some time. We recommend setting at least 10 seconds for the timeout.
An example
curl -X POST "http://searchserverapi1.com/api/signup/json" -d 'url=http://example.com/?language=english&email=test@example.com'
> {"keys":{"api":"XXXXXXXXXX","private":"XXXXXXXXXXXXXXXXXXXX"}}
An example with an error
curl -X POST "http://searchserverapi1.com/api/signup/json"
> {"errors":{"error":"Invalid email or url"}}
Possible errors
- {«errors»:{«error»:«Invalid email or url»}} – URL or email parameter is not specified
- {«errors»:{«error»:«Note that the searchanise registration unavailable for the store …»}} – registration is not possible for the specified URL
- {«errors»:{«error»:«Sorry, registration is not possible: the service is temporarily closed for maintenance. Please try again in a while.»}} – Registration is not possible at this moment. Try again later.
-
{ “error”: “domain_already_registered”, “message”: “This domain is already associated with an existing engine.” } – duplicate registration is not allowed (another engine already uses the domain).
-
{ “error”: “invalid_domain”, “message”: “Domain does not exist or is not resolvable via DNS.” } – possible fake or typo (the domain does not exist in DNS).
Additionally, other errors in the test format are described, including the error that occurred during registration.