Skip to content

Troubleshooting

Markdown

Steps to follow when reviews do not appear, invitations are not sent or an order cannot be verified.

The quickest way to tell whether reviews appear on your site is the Seen on your site? report on the Integration › Showing reviews tab: loading, turned-away requests, unrecognised product codes and the review form are checked in one list (Seen on your site?). For details, check the Connection log screen in the panel. Every request your site and store system send to Sayproof is listed on this screen, together with its request type, its source, the product concerned and the result. Entries are kept for 30 days.

Result Meaning
Succeeded The request was handled without problems; for a review list, reviews were returned, for an order transfer, the records were accepted.
No reviews found The request is valid, but there are no published reviews for this product.
Site not verified The request came from a domain that is not verified.
Key not valid The site key is wrong or cancelled, or the channel is off; for an order transfer, the server key or the signature was not accepted.
Not allowed The server key is not authorised for this operation (for example, sending orders), or an endpoint that can only be called from a server was called from the browser.
Too many requests The rate limit was exceeded.
Error An unexpected error occurred; pass the record number to the Sayproof team.

A CORS error in the console, or a 403 origin_unverified: … response The page’s domain is not verified. The detail value in the response shows the domain the request came from (for example origin_unverified: yourbrand.com); the domain is read from the Origin header, or from the Referer header if there is none. www.yourbrand.com and yourbrand.com are separate domains; add the domain named in the error message on the Channels › Domains tab and verify it. If you can’t put a file on your site, verify the domain with a DNS record (Domain verification). Verification works on domains that can be reached from the internet; during development, use a test domain that is reachable from the internet (for example test.yourbrand.com).

“No reviews found”

  • The data-review-product value on the container must be exactly the same as the variant_key value you send in order transfer, including letter case and hyphens.
  • If you use a group code, the container must have the data-review-scope="group" attribute.
  • The reviews must be published; reviews awaiting approval are not shown.
  • The site key of the correct channel must be used; each channel only shows the reviews of its own market.

The script does not load

The component opens in the wrong language The script takes the language, in order, from the data-review-locale value on the container or the script tag, the page’s <html lang> value and, failing those, the channel’s language. The browser’s language setting (Accept-Language) is not used. The value must be tr or en.

The server call receives a 403 or 409 response For details, see Server-side rendering (SSR) › Timeouts and errors.

A newly approved review does not appear The SSR response can be cached for up to 60 seconds.

On the Invitations screen, check the invitation’s status and the Result column, and on the Invitation sending screen the Why invitations were stopped card.

Reason What to do
No invitation landing page set Edit the channel on the Channels screen and enter the page address, or map the product addresses in your product source.
Payment not completed The order’s payment_state value must be paid or partially_refunded.
No email address on the order Send the order with the customer_email field.
Customer’s daily invitation limit reached The next day a new invitation is created for the same products. You can change the limit on the Invitation sending screen.
Customer does not want emails The address is on the list of people who do not want emails (the customer unsubscribed, the address bounced permanently or a complaint was made); no invitation is sent.

If an invitation is “Failed”, first fix the cause (the sender domain’s verification or your own system’s notification address), then use the Try failed ones again button on the Invitations screen; invitations whose link has expired are not tried again (Invitations).

If no invitations are created at all:

  • The order line must have been sent with the delivered (delivered) state. Estimated (estimated) delivery information does not create invitations.
  • The waiting time after delivery (2 days by default) must have passed.
  • For returned or cancelled lines, a shopping experience invitation is created instead of a product invitation; these invitations can be filtered by invitation type on the Invitations screen.

An invitation created outside the sending hours shows as “Queued” on the Invitations screen and is sent when the sending hours begin.

Section titled “The invitation link does not open the form”
  • The page the link opens must contain a review container.
  • The link may have expired. Its lifetime is the time allowed to write a review in the market rule in force on the channel (90 days after delivery under the Sayproof rule).
  • Once reviews have been written for every product in the invitation, the link closes.
  • If the link was opened on a page belonging to a channel of another market than the order’s, the token is not accepted (token_foreign_market). Set the channel’s invitation page to the site of the order’s market.

The “Verify my order to write a review” step fails

Section titled “The “Verify my order to write a review” step fails”

For security reasons, the customer sees a single, general error message. Possible causes:

  • The order number is not exactly the same as the external_id value you sent (it is case-sensitive).
  • The email address entered is not the address on the order.
  • The payment is not complete, the product has not been delivered, or the time allowed to write a review has passed.
  • A review has already been written for this product with this order.
  • The order came through a channel in another market.
  • The product is not in this order (the product code on the container differs from the variant_key value on the order line).

After 20 attempts in 5 minutes from the same IP address, the message “Too many attempts, please try again later.” is shown for a while.

Order transfer receives a 401 or 403 response

Section titled “Order transfer receives a 401 or 403 response”

For details, see Sending orders and deliveries › Errors. The Test the connection action in the panel checks the content to be sent without saving it; it does not check the key.

If the answer is refused / unknown_key or revoked_key, check that the Authorization header carries the whole server key after the Bearer prefix and that the key is In use on the Channels › Keys tab. A 403 refused / scope_missing answer means the key does not have the send orders permission; create a new server key in the panel.

With signed sending, if the answer is secret_unknown, check that the X-Sayproof-Secret header carries the password’s ID, not its name. The ID is in the Password ID column of the Signing passwords table in the Advanced: signing passwords section of the Channels › Keys tab.

Depending on the publishing method, reviews first go to the Awaiting approval list and are published once approved. For details, see Reviews and approval.