Class: Vapi::CreateVapiPhoneNumberDto

Inherits:
Object
  • Object
show all
Defined in:
lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb

Constant Summary collapse

OMIT =
Object.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sip_uri:, fallback_destination: OMIT, name: OMIT, assistant_id: OMIT, squad_id: OMIT, server_url: OMIT, server_url_secret: OMIT, additional_properties: nil) ⇒ Vapi::CreateVapiPhoneNumberDto

Parameters:

  • fallback_destination (Vapi::CreateVapiPhoneNumberDtoFallbackDestination) (defaults to: OMIT)

    This is the fallback destination an inbound call will be transferred to if:

    1. ‘assistantId` is not set

    2. ‘squadId` is not set

    3. and, ‘assistant-request` message to the `serverUrl` fails

    If this is not set and above conditions are met, the inbound call is hung up with an error message.

  • sip_uri (String)

    This is the SIP URI of the phone number. You can SIP INVITE this. The assistant attached to this number will answer. This is case-insensitive.

  • name (String) (defaults to: OMIT)

    This is the name of the phone number. This is just for your own reference.

  • assistant_id (String) (defaults to: OMIT)

    This is the assistant that will be used for incoming calls to this phone number. If neither ‘assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.

  • squad_id (String) (defaults to: OMIT)

    This is the squad that will be used for incoming calls to this phone number. If neither ‘assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.

  • server_url (String) (defaults to: OMIT)

    This is the server URL where messages will be sent for calls on this number. This includes the ‘assistant-request` message. You can see the shape of the messages sent in `ServerMessage`. This overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.

  • server_url_secret (String) (defaults to: OMIT)

    This is the secret Vapi will send with every message to your server. It’s sent as a header called x-vapi-secret. Same precedence logic as serverUrl.

  • additional_properties (OpenStruct) (defaults to: nil)

    Additional properties unmapped to the current class definition



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 78

def initialize(sip_uri:, fallback_destination: OMIT, name: OMIT, assistant_id: OMIT, squad_id: OMIT,
               server_url: OMIT, server_url_secret: OMIT, additional_properties: nil)
  @fallback_destination = fallback_destination if fallback_destination != OMIT
  @sip_uri = sip_uri
  @name = name if name != OMIT
  @assistant_id = assistant_id if assistant_id != OMIT
  @squad_id = squad_id if squad_id != OMIT
  @server_url = server_url if server_url != OMIT
  @server_url_secret = server_url_secret if server_url_secret != OMIT
  @additional_properties = additional_properties
  @_field_set = {
    "fallbackDestination": fallback_destination,
    "sipUri": sip_uri,
    "name": name,
    "assistantId": assistant_id,
    "squadId": squad_id,
    "serverUrl": server_url,
    "serverUrlSecret": server_url_secret
  }.reject do |_k, v|
    v == OMIT
  end
end

Instance Attribute Details

#additional_propertiesOpenStruct (readonly)

Returns Additional properties unmapped to the current class definition.

Returns:

  • (OpenStruct)

    Additional properties unmapped to the current class definition



43
44
45
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 43

def additional_properties
  @additional_properties
end

#assistant_idString (readonly)

Returns This is the assistant that will be used for incoming calls to this phone number. If neither ‘assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.

Returns:

  • (String)

    This is the assistant that will be used for incoming calls to this phone number. If neither ‘assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.



26
27
28
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 26

def assistant_id
  @assistant_id
end

#fallback_destinationVapi::CreateVapiPhoneNumberDtoFallbackDestination (readonly)

Returns This is the fallback destination an inbound call will be transferred to if:

  1. ‘assistantId` is not set

  2. ‘squadId` is not set

  3. and, ‘assistant-request` message to the `serverUrl` fails

If this is not set and above conditions are met, the inbound call is hung up with an error message.

Returns:

  • (Vapi::CreateVapiPhoneNumberDtoFallbackDestination)

    This is the fallback destination an inbound call will be transferred to if:

    1. ‘assistantId` is not set

    2. ‘squadId` is not set

    3. and, ‘assistant-request` message to the `serverUrl` fails

    If this is not set and above conditions are met, the inbound call is hung up with an error message.



15
16
17
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 15

def fallback_destination
  @fallback_destination
end

#nameString (readonly)

Returns This is the name of the phone number. This is just for your own reference.

Returns:

  • (String)

    This is the name of the phone number. This is just for your own reference.



21
22
23
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 21

def name
  @name
end

#server_urlString (readonly)

Returns This is the server URL where messages will be sent for calls on this number. This includes the ‘assistant-request` message. You can see the shape of the messages sent in `ServerMessage`. This overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.

Returns:

  • (String)

    This is the server URL where messages will be sent for calls on this number. This includes the ‘assistant-request` message. You can see the shape of the messages sent in `ServerMessage`. This overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.



37
38
39
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 37

def server_url
  @server_url
end

#server_url_secretString (readonly)

Returns This is the secret Vapi will send with every message to your server. It’s sent as a header called x-vapi-secret. Same precedence logic as serverUrl.

Returns:

  • (String)

    This is the secret Vapi will send with every message to your server. It’s sent as a header called x-vapi-secret. Same precedence logic as serverUrl.



41
42
43
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 41

def server_url_secret
  @server_url_secret
end

#sip_uriString (readonly)

Returns This is the SIP URI of the phone number. You can SIP INVITE this. The assistant attached to this number will answer. This is case-insensitive.

Returns:

  • (String)

    This is the SIP URI of the phone number. You can SIP INVITE this. The assistant attached to this number will answer. This is case-insensitive.



19
20
21
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 19

def sip_uri
  @sip_uri
end

#squad_idString (readonly)

Returns This is the squad that will be used for incoming calls to this phone number. If neither ‘assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.

Returns:

  • (String)

    This is the squad that will be used for incoming calls to this phone number. If neither ‘assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.



31
32
33
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 31

def squad_id
  @squad_id
end

Class Method Details

.from_json(json_object:) ⇒ Vapi::CreateVapiPhoneNumberDto

Deserialize a JSON object to an instance of CreateVapiPhoneNumberDto

Parameters:

  • json_object (String)

Returns:



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 105

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  if parsed_json["fallbackDestination"].nil?
    fallback_destination = nil
  else
    fallback_destination = parsed_json["fallbackDestination"].to_json
    fallback_destination = Vapi::CreateVapiPhoneNumberDtoFallbackDestination.from_json(json_object: fallback_destination)
  end
  sip_uri = parsed_json["sipUri"]
  name = parsed_json["name"]
  assistant_id = parsed_json["assistantId"]
  squad_id = parsed_json["squadId"]
  server_url = parsed_json["serverUrl"]
  server_url_secret = parsed_json["serverUrlSecret"]
  new(
    fallback_destination: fallback_destination,
    sip_uri: sip_uri,
    name: name,
    assistant_id: assistant_id,
    squad_id: squad_id,
    server_url: server_url,
    server_url_secret: server_url_secret,
    additional_properties: struct
  )
end

.validate_raw(obj:) ⇒ Void

Leveraged for Union-type generation, validate_raw attempts to parse the given

hash and check each fields type against the current object's property
definitions.

Parameters:

  • obj (Object)

Returns:

  • (Void)


145
146
147
148
149
150
151
152
153
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 145

def self.validate_raw(obj:)
  obj.fallback_destination.nil? || Vapi::CreateVapiPhoneNumberDtoFallbackDestination.validate_raw(obj: obj.fallback_destination)
  obj.sip_uri.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
  obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
  obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
  obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
  obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
end

Instance Method Details

#to_json(*_args) ⇒ String

Serialize an instance of CreateVapiPhoneNumberDto to a JSON object

Returns:

  • (String)


135
136
137
# File 'lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb', line 135

def to_json(*_args)
  @_field_set&.to_json
end