FastPVA API Integration: Turning Manual Activation into a Workflow
If your team repeats the same SMS flow every day, the API is the part that turns a manual task into a repeatable system.
The basic flow
The typical flow is simple:
- list projects
- pick a country and channel
- request a number
- poll for the code
- release the order when the workflow ends
Start with the project list
Use the projects endpoint to get the full list first. Keep pagination explicit so your integration stays predictable.
const params = new URLSearchParams({ page: "1", limit: "20", keyword: "telegram", token: TOKEN });
const res = await fetch(`${BASE_URL}/v4/projects?${params}`);
Request a number
Once you know the project pid, channelId, and locale, call the number endpoint. If the response comes back as an async state, keep polling instead of treating it as a hard failure.
const params = new URLSearchParams({ pid: "100001", channelId: "1", locale: "US", token: TOKEN });
const res = await fetch(`${BASE_URL}/v4/getNumber?${params}`);
Poll the code
Keep the order ID from the previous step. For multi-order polling, join IDs with an underscore and query the code endpoint again.
Release cleanly
Release the order once the code has been processed or the workflow is no longer needed. That keeps your dashboard tidy and your retries easier to trace.
The point of the API is not just speed. It is repeatability. Once your workflow is explicit, logging and support become much easier too.
