English
Routing Albanian (+355) OTPs into your test pipeline
Yes, you can receive Albanian (+355) SMS verification codes with OTP Route by ordering a single-use number from the OTP Gateway and collecting the code in the dashboard or through the REST API and signed webhooks. Prices start at $0.20 per code with the live figure returned by the API, and nothing is charged if the SMS fails to show up within 20 minutes.
Which REST calls return an Albanian number and its code?
The Albania OTP API is the same SMS verification API used for every market; only the country id changes. Requests go to https://otproute.com/api/v1 with a Bearer key prefixed or_live_, generated in the Developer console. Albania's id is al, so a typical run looks like this:
GET /api/v1/servicesresolves the service id you need, for exampletelegramorgoogle. Cache the list between runs.GET /api/v1/prices?country=al&service=<id>reads the live price and confirms the route is open right now.POST /api/v1/activationswith{"service": "telegram", "country": "al"}returns an activation id and a +355 number.- Your test submits that number on the sign-up or login screen of the app being tested.
- The code arrives by webhook or by polling
GET /api/v1/activations/{id}; callPOST /api/v1/activations/{id}/cancelif the test aborts.
An account can hold up to 10 keys, so staging, CI and a teammate's laptop can each get their own and be revoked separately. The limit of 300 requests per minute leaves room for several parallel suites. Field-level details live in the API reference.
Should my Albania tests poll or listen for webhooks?
Polling is the quickest thing to wire up: hit the activation endpoint every few seconds until its status changes. Once suites run in parallel, a webhook is tidier. Register up to 5 endpoints and subscribe to activation.sms_received, activation.expired and activation.cancelled.
Every delivery is signed. The X-OTPRoute-Signature header has the form t=<unix>,v1=<hex>, where v1 is HMAC-SHA256 of "<t>.<raw body>" computed with the endpoint secret. Recompute it over the untouched request bytes, compare in constant time, and drop anything carrying a stale timestamp. Treat events as keyed on the activation id so a retried delivery never writes twice. Our article on webhook-based OTP capture walks through a complete handler.
How should +355 numbers be normalized before they reach my database?
Albania uses country code +355 and a domestic trunk prefix of 0. Locally, a mobile number is usually written with that 0 in front, as 06X XXX XXXX, while the international form drops it: +355 6X XXX XXXX. Store the E.164 version (+3556…, no spaces) and apply local formatting only at display time.
Checks worth adding when you validate a +355 number for testing:
- Strip the leading 0 when a user types the national form after already selecting +355.
- Reject a doubled prefix such as +355 0 6X, which appears when a form glues the country code onto the local number blindly.
- Keep spaces, dashes and brackets out of the stored value.
The wording around the code depends on the sending service and the account's language setting; Albanian and English are both common. Target the digits in your parser rather than a fixed sentence. Teams test this market when launching in Albania, localizing an app for Albanian speakers in the region and abroad, or confirming that a regional operations account still verifies.
What can I verify on the Albania route?
The Albania route currently lists more than 1,500 services. Popular entries in the live snapshot include WhatsApp, Telegram, Google (Gmail & YouTube), Facebook, Instagram, TikTok, Viber, Signal, Microsoft & Outlook, ChatGPT (OpenAI), Uber, LinkedIn and Discord.
Inventory moves during the day, which is why availability comes from the API rather than from a static list. Gate each test on a price lookup for al and mark it skipped, not failed, when the route happens to be closed. That keeps OTP routing noise out of your real regression results.
Can a non-technical teammate order a +355 number?
Yes. The dashboard covers the same flow without any code:
- Sign up with your email and a 6-digit email code or Google sign-in, then turn on TOTP two-factor.
- Add funds to the wallet by card or with USDT/USDC.
- Choose Albania and the service, check the price shown, and confirm the order.
- Type the Albania verification number into the app; the code appears on the activation page when the SMS lands.
Agencies managing client profiles and operations staff setting up regional business accounts tend to use this path. Orders placed here and through the API share one wallet and the same refund rule.
What if the Albanian SMS never shows up?
An activation stays open for 20 minutes. You only pay if the code arrives; if the window closes empty or you cancel early, the full amount goes back to your wallet on its own and the webhook fires activation.expired or activation.cancelled.
When a code is missing:
- Give the window time before reacting, since some services send slowly.
- Check whether the service accepts virtual numbers at all; some refuse them as a matter of policy.
- Try again later, or with a different service route if your test allows it.
- Avoid re-ordering in a tight loop. Back off between attempts so a script is not hammering the route.
Our write-up on reducing failed OTP deliveries lists further retry patterns for Balkan routes and beyond. Use these numbers only for your own products and accounts, follow each service's terms, and note that OTP Route's Acceptable Use Policy applies.
Is there a long-term Albanian line, and how does billing work?
There is no self-serve long-term number for Albania. Dedicated Virtual Numbers are sold instantly only in the United States and Canada, from $1.95/month, with inbound SMS, webhook forwarding, outbound SMS and browser calling. If you need a lasting Albanian line, email [email protected]; whether it can be arranged depends on local rules and is not guaranteed.
Billing runs on a single prepaid USD wallet with no monthly fee and no plan to pick. Top up by card or with USDT/USDC, and each top-up comes with a PDF invoice by email. Live rates are on the pricing page. For integration work, ask to have a development account switched to sandbox, which returns simulated numbers and codes so the pipeline can be exercised without spending wallet funds.
Frequently asked questions
Can I test my app's Albanian sign-up flow without a local SIM?
Yes. Order an OTP Gateway number with country al, submit it in your sign-up screen, and read the code in the dashboard or from your webhook. No SIM or local carrier contract is involved.
What does an Albanian verification code cost?
Codes start from $0.20, and the exact price for a given service is returned by GET /api/v1/prices before you order. If nothing arrives within the 20-minute window, the charge goes back to your wallet.
Should I store Albanian numbers with the leading 0?
No. Save them in E.164, which is +355 followed by the national number without the trunk 0, and add the 0 back only for local display.
Can the same +355 number be reused for a later login?
An OTP Gateway number serves one verification code. For accounts that must keep logging in, use a Dedicated Number in the US or Canada, or ask support about Albania.
Does OTP Route have a sandbox for Albania integration tests?
Sandbox mode can be switched on for a development account on request. It returns simulated numbers and codes, so CI runs exercise the full flow without touching wallet funds.
Why was my Albanian number refused by the app?
Some services decline virtual numbers. Cancel the activation or let it expire for an automatic refund, then try at a different time or through another route.
Which API id do I use for Albania?
Use al as the country value in price lookups and activation requests, and take the service id from GET /api/v1/services.
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.