Call to virtual number

Method start.vnumber_call
API version v4.0
Description Call to a virtual number.
Return to list of methods

Request parameters

Name Type Required Valid values Description
access_token string yes Authentication session key
virtual_phone_number string yes

Virtual number rented by the client. The number format must comply with international E.164 standard (for example, 74993720692). Always used as the caller number when calling to the number specified in the contact parameter. Used as the caller number when calling to employee, if in the scenario in the “Forwarding” operation the “Show when calling” setting is set to “Service number”. Virtual numbers can be obtained using the DATA API method - Getting a list of virtual numbers

virtual_phone_usage_rule string no

Rules for using a virtual number. Allows you to dynamically change the virtual number when calling. If the number is suitable, that satisfies the selected rule is not found, the number specified in the virtual_phone_number parameter will be used. Valid parameter values:

  • fixed - Fixed
  • fixed_for_numa - Fixed for subscriber
  • random - Random
  • regional_random - Regional random
  • regional_fixed_for_numa - Regional fixed line for the subscriber

The default rule is Фиксированный. Other rules are available when the component is connected Автоматическое управление номерами.

external_id string no A unique identifier that can be used to associate a call event with an external system.
dtmf_string string no 0-9, *, # Specifies the DTMF that will be sent to the subscriber specified in the contact parameter. C Using the symbol . = '1 second' you can set a timeout after which the DTMF symbol will be sent. Example: .12.1..4, i.e. after 1 second the number 12 will be sent, then after 1 second the number 1 will be sent and after 2 seconds the number 4.
direction string no in, out The default value is in.
Determines the direction of the call in - Incoming call, out - Outgoing call.
contact string yes

The number of the subscriber to which the call is made. The number format must match international standard E.164 (for example, 79091234567). The employee's SIP number can also be specified as a number.

If the contact_message parameter is not specified, then the system melody will be played to the subscriber - Музыка переадресации (dialing_music)
Employee extension numbers are not supported.
first_call string yes contact, employee

Defines the number to call first:

  • employee - employee;
  • contact - the called party (usually the client);
switch_at_once boolean no true, false

Default value false.

If the first_call parameter is set to employee, a message to the employee is specified in the script and the contact_message parameter is specified, then:

  • The first call is made to the employee from the scenario;
  • After picking up the phone, the employee listens to the message to the end and only then makes a call to the subscriber specified in the contact parameter;
  • When calling contact, the employee listens to the system melody - Музыка переадресации (dialing_music);
  • After the subscriber responds from the contact parameter, a conversation will occur with the employee if switch_at_once has the value true;
  • After the subscriber responds from the contact parameter, he will listen to the message to the end if switch_at_once is set to false and then a conversation will take place with the employee.

If first_call is contact, contact_message is specified and message to the employee in the script, then:

  • First of all, the call is made to the subscriber from the parameter contact);
  • The subscriber from the contact parameter, after picking up the handset, begins to listen to the message and at the same time a call is made to the employee from the scenario;
  • After the employee picks up the phone, playback of the message will be interrupted for the subscriber from the contact parameter and a conversation will then take place if the switch_at_once parameter is set to true;
  • After the employee picks up the phone, the message will be played to the end for both and then a conversation will take place if the switch_at_once parameter is set to false;
  • If someone’s message has finished playing earlier, then they listen to the system melody - Музыка переадресации (dialing_music).

If the contact_message type parameter has the value tts, then the switch_at_once=true parameter does not work
early_switching boolean no true, false

Default value false.

If the parameter has the value true, then the employee, when dialing the subscriber, will hear what is happening on the subscriber line.

For example, an operator is waiting for a call to reach a subscriber, but the subscriber is unavailable and his voicemail is activated, then when the parameter early_switching = true is activated, the operator will be able to hear a message about the subscriber's voicemail. If the parameter early_switching = false, then the operator will listen to the music specified in the "media_file_id" parameter

The parameter can have the value true unless the first_call parameter has the value employee and the switch_at_once parameter has the value true. Otherwise, there will be an error "-32602 invalid_parameters_combination The combination of parameters is not permitted" (see error codes section).
Message to be played to the subscriber specified in the parameter contact
contact_message object no

Defines the parameters of the message that needs to be played to the subscriber specified in the contact parameter.

After the message has finished playing, the system melody will be played in a circle - Музыка переадресации (dialing_music)
type string yes media, tts

Defines the message type. media - file or tts - text for the Text-to-Speech speech synthesis service.

value string yes

If the type field has the value media, then the file identifier for playing. The file to be played can be system or user. ID The file to be played can be obtained using the DATA API - Getting a list of user files, Getting a list of system files

If the type field has the value tts, then the text is taken as the value to synthesize it into voice message.

The length of the TTS message is regulated by the tariff plan and the established limit.

Response parameters

Title Type Required Description
call_session_id number yes Unique call session identifier

Example request```json

{ "jsonrpc": "2.0", "method": "start.vnumber_call", "id": "req1", "params": { "access_token": "2fRN4g217ca0b4224a67988aff3e584f91964a692045415f36fa66146f5a3c1ae1f6093d", "virtual_phone_number": "74993720692", "external_id": "34rty567", "dtmf_string": "..1.2.3", "direction": "in", "contact": "79260000000", "first_call": "employee", "switch_at_once": false, "show_virtual_phone_number": true, "contact_message": { "type": "media", "value": "237" } } }

#### Sample answer```json
{
  "jsonrpc": "2.0",
  "id": "req1",
  "result": {
    "data": {
      "call_session_id": 123467589
    }
  }
}

List of returned errors

Error text Error code Error mnemonics Description
The maximum length of Text-to-Speech message is {tts_message_max_length}. The length of your message is {sent_tts_message_length} -32602 tts_text_exceeded Message length has exceeded the permissible limit set by the tariff plan
The media file with id {media_file_id} not found -32602 media_file_not_found
Virtual phone number {virtual_phone_number} not found. It is not your virtual phone number. -32007 virtual_phone_number_not_found If you use a virtual number that does not belong to the client
Virtual phone number does not have a scenario -32007 scenario_not_found
Parameter contact can not contain own virtual phone number -32602 own_virtual_phone_number_not_allowed Calling your own virtual number is prohibited
The contact {contact} has been found in the blacklist -32602 contact_in_blacklist
The character encoding must be UTF-8 -32602 character_encoding_not_allowed

See also section "List of errors common to all methods"