GetOrder takes the quote hash and returns everything known about it: the quote, the order if one exists, the deposit, and the fulfillment or refund.
Between the deposit landing and the indexer seeing it, order is absent. That is normal for the first seconds and is not an error.

Polling

Poll every couple of seconds and stop on a terminal state.
There is no webhook or stream. Polling is the supported pattern; keep the interval at a couple of seconds and it stays well inside rate limits.

What to render

See Order lifecycle for what each state means.
dst_tx_hash is set when a transaction is submitted, not when it confirms. Only the order state tells you the funds arrived.
GetChains returns URL templates per chain. Substitute the hash or address rather than assembling explorer URLs yourself:
The Apsis explorer page for an order is <EXPLORER_URL>/<quote_hash>.

Finding orders another way

Search is what a support box should call: it accepts whichever hash the user has in hand.

Pagination

Listing RPCs are cursor-paginated. Pass next_cursor from the previous page; an absent cursor means the end.
Default page size is and the maximum is ; larger values are clamped rather than rejected. Cursors are opaque — do not parse or construct them.