# How it works

> An order passes through three places on its way to you: the shopper's browser, your server and Antiro.

This is one page of the Antiro docs (https://docs.antiro.io/how-it-works). Every page in one file: https://docs.antiro.io/llms-full.txt

## The path of an order

The path of an order between the browser, your server and Antiro (Browser / Your server / Antiro):

1. Check at the order button
2. Order reference
3. Order with `antiro_token`
4. `POST /v1/assessments`
5. Decision: `action`

1.  The shopper presses the order button. The script holds the order for a moment and asks Antiro to check it.
2.  Antiro answers, and the script adds an order reference to the form.
3.  The form reaches your server with the order and the reference, in the `antiro_token` field.
4.  Your server sends the order and the reference to `POST /v1/assessments`.
5.  Antiro answers with a decision in `action`. You accept, hold or refuse the order.

## Why there are two checks

The browser check stops a bad order before it leaves the page, so it never reaches your server.

The server check makes the final decision. It also covers what the browser cannot: a bot that posts straight to your server never runs the script, so its order arrives without a reference.

## If Antiro is slow or unreachable

Antiro never costs you an order:

-   **In the browser**, the script waits at most 4 seconds of visible time. After that, the order is sent as usual.
-   **On your server**, you choose how long to wait. If no answer arrives, accept the order and check it again later. See [If no answer arrives](https://docs.antiro.io/api/decisions#if-no-answer-arrives).

## What the shopper sees

In normal use, nothing. There is no puzzle and no extra step.

Antiro can show two short messages, and the shopper can close either one:

-   **A refusal**, when the order cannot be placed: “تعذّر إتمام الطلب. تواصل مع المتجر.” in Arabic, or “Commande impossible. Contactez la boutique.” in French.
-   **A request to change something on their side** and press the order button again. The order stays on the page until a new press passes the check.

The messages appear in Arabic, or in French for any other page language. See [`data-lang`](https://docs.antiro.io/sdk/install#attributes).
