Building a +592 verification test around webhooks and polling

Calling code +592OTP Gateway from $0.20 per codeDedicated numbers: US & Canada onlyAPI id: gy
Quick answer

Yes: OTP Route can receive Guyana (+592) verification codes on a one-time OTP Gateway number, and you read each code in the dashboard or pull it into your own systems through REST polling or a signed webhook. Orders start at $0.20 per code with the live price returned by the API, and an activation that gets no SMS within 20 minutes is refunded in full.

How do I design a webhook-first Guyana OTP API flow?

For anything beyond a one-off check, let the platform push codes to you rather than asking over and over. In the Developer console, add an HTTPS endpoint (an account can hold 5) and subscribe it to activation.sms_received, along with activation.expired and activation.cancelled, so your test runner hears about dead ends as quickly as it hears about successes.

Treat every incoming request as untrusted until it passes verification:

  • Read the X-OTPRoute-Signature header, which takes the form t=<unix>,v1=<hex>.
  • Join the timestamp, a dot and the unmodified request body, then compute HMAC-SHA256 over that string with the endpoint's secret.
  • Compare your digest to v1 in constant time, and discard the request if the timestamp is stale.
  • Find the activation id in the event; if you have already processed it, return success and do nothing more.

That final rule keeps the handler idempotent, so a redelivery after a network hiccup never confuses the test. A longer treatment lives in webhook-based OTP capture.

Which endpoints and ids does a +592 order use?

Authenticate with a Bearer key from the Developer console; live keys start with or_live_ and each account may keep up to 10. The base URL is https://otproute.com/api/v1, and Guyana's country id is gy.

A typical run reads GET /api/v1/prices?country=gy&service=<id> first, because the price and availability on this route are live values rather than constants. It then sends POST /api/v1/activations with {"service": "<id>", "country": "gy"} and gets back a +592 number plus an activation id. Without a webhook, the runner polls GET /api/v1/activations/{id} every few seconds, far below the 300-requests-per-minute ceiling. A teardown step calls POST /api/v1/activations/{id}/cancel when the test aborts, and a pre-flight call to GET /api/v1/balance halts the suite early if the wallet is low. Service ids come from GET /api/v1/services; the developer hub has client examples for this SMS verification API.

How are +592 numbers formatted for storage?

Guyana uses country code 592 and seven-digit national numbers with no trunk prefix to strip, so the E.164 form is simply +592 followed by those seven digits. People usually write the digits as a group of three and a group of four.

With no leading zero to remove, normalisation comes down to deleting spaces and dashes and adding the country code when a user types only the local digits. A frequent bug is a form that assumes every South American number has an area code, or sets a minimum length above seven digits, and so rejects valid Guyanese entries. A +592 number for testing exposes that quickly. Save the E.164 string and apply local formatting only at display time.

What services can receive Guyana SMS OTP codes, and can I order manually?

The Guyana route lists more than 900 services. Frequently requested ones include WhatsApp, Facebook, Instagram, Google (Gmail & YouTube), TikTok, Telegram, imo, Viber, Snapchat, Amazon, Microsoft & Outlook, Discord, Netflix and Claude. That list is a snapshot of the live catalog, so confirm through the API or the dashboard before planning a test around one particular sender.

For colleagues who don't write code, the dashboard does the same job. Sign in, open the OTP Gateway, pick Guyana and a service, review the price, and order. The Guyana verification number appears alongside a 20-minute countdown, and the code is displayed next to it on arrival.

What should a test do when the +592 code is late or missing?

An activation remains open for 20 minutes. You pay only if the code arrives inside that window; if it expires or you cancel, the full amount returns to the wallet without any support ticket.

Sensible handling in an automated run:

  1. Wait out the window before declaring failure, unless your test has a hard time limit, in which case cancel explicitly.
  2. Retry later, or switch to a different service route if the API offers one.
  3. Check whether the target service accepts virtual numbers; some decline them, and the refund covers exactly that case.
  4. Space retries out with a backoff instead of re-ordering in a tight loop.

The guide to country routing for OTP explains how to pick fallback routes.

Why do teams test Guyanese sign-up flows?

Guyana is the only South American country with English as its official language, and Georgetown hosts the CARICOM Secretariat, so it often appears in rollouts that treat the Caribbean Community as one market. A fast-growing offshore energy sector has drawn international contractors and suppliers, while a large diaspora in the United States, Canada and the United Kingdom keeps remittance, messaging and travel apps busy on +592 numbers. Guyanese Creole is widely spoken day to day, yet verification texts generally arrive in English. For QA, that points the effort at number entry, country pickers and SMS consent wording rather than translated copy. Keep every check on accounts your organisation owns, follow each service's terms, and remember that OTP Route's Acceptable Use Policy covers all orders.

Can I keep a Guyanese line, and how is usage billed?

Self-serve long-term numbers are not offered for Guyana. OTP Route's Dedicated Numbers cover the United States and Canada only, from $1.95/month. For a +592 line, email [email protected] and the team will check what local rules allow, with no promise attached.

Payment runs through one prepaid USD wallet: no monthly fee, no plan, top-ups by card or USDT/USDC, and a PDF invoice by email for each one. A development account can be moved to sandbox on request, so integration tests run against simulated numbers and codes and leave the balance untouched. Per-service rates appear on the pricing page.

Frequently asked questions

Can I check my app's Guyana sign-up without a SIM from a Guyanese carrier?

Yes. Order a +592 number from the OTP Gateway for your service, submit it in your flow, and the code shows up in the dashboard or reaches your webhook. Pricing starts at $0.20 per code.

What country id does the API use for Guyana?

It is gy, used both in the prices query and in the activation request body.

Do I need to strip a leading zero from Guyanese numbers?

No. Guyana has no trunk prefix, so the E.164 form is +592 followed by the seven-digit number.

What language do +592 verification messages come in?

Usually English, the official language. The sender controls the wording, though, and may follow the language setting of the app.

Is there a refund if the service never sends the SMS?

Yes, and it is automatic. If 20 minutes pass with no code, or you cancel, the whole amount goes back to your wallet.

Can I test the whole integration without spending money?

Ask support to switch your development account to sandbox. It returns simulated numbers and codes, so the API calls and webhooks can be exercised end to end.

Is a long-term +592 number available?

Not as a self-serve product. Dedicated Numbers are sold only in the United States and Canada; email [email protected] to ask about Guyana.

Service names are trademarks of their respective owners. OTP Route is not affiliated with them. Use numbers lawfully, follow each service's terms and our Acceptable Use Policy.

Route your first OTP in minutes

Create a free account, top up your USD wallet and order a number from the dashboard or the API. No monthly fee.