SMS, caller-ID & voice
Understand the `voice` parameter, permission rules and result formats.
Select the type before ordering
voice query value | Result |
|---|---|
| 0 | SMS (default) |
| 1 | Caller-ID |
| 2 | Voice call |
The parameter is available on the number request methods and the price methods that document it. Select the same type when comparing prices and requesting a number. Receive SMS uses only the order ID, not voice.
Check permission rules
Message type settings returns rules with country, service and operator conditions. An empty condition is unrestricted. More non-empty matching conditions mean higher specificity. Use all three flags from the applicable rule together; if no rule matches, all types are enabled.
| Rule flag | 1 | 0 |
|---|---|---|
| sms | SMS enabled | SMS disabled |
| caller | Caller-ID enabled | Caller-ID disabled |
voice | Voice calls enabled | Voice calls disabled |
The rule flags use 0/1 for disabled/enabled. The voice query parameter uses 0/1/2 to choose a message type, so read these two sets of values separately. The method page explains how rules match. A permitted type can still have no available numbers.
Read results without assumptions
All three types use the same result JSON. Provider text maps to data.sms.code, and provider sms maps to data.sms.fullText. Values pass through unchanged.
Do not assume code always contains a numeric verification code. Voice results may contain text and a recording URL; some example formats have not been confirmed. Caller-ID examples use placeholders because the exact provider format is still unknown. Check the notes beside each response before relying on its text format.
HTTP 202 / SMS_NOT_YET_RECEIVED is the documented waiting result for all three types, even when the order is a voice call or caller-ID. See polling.