late-sdk 0.0.725 → 0.0.727
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +20 -0
- data/docs/AttachNumberToSipTrunk200Response.md +22 -0
- data/docs/AttachNumberToSipTrunkRequest.md +18 -0
- data/docs/CreateSipTrunk201Response.md +34 -0
- data/docs/CreateSipTrunk201ResponseTermination.md +20 -0
- data/docs/CreateSipTrunkRequest.md +24 -0
- data/docs/DetachNumberFromSipTrunk200Response.md +20 -0
- data/docs/GetPhoneNumber200ResponsePhoneNumber.md +3 -1
- data/docs/GetSipTrunk200Response.md +34 -0
- data/docs/GetSipTrunk200ResponseNumbersInner.md +20 -0
- data/docs/ListPhoneNumbers200ResponseNumbersInner.md +2 -0
- data/docs/ListSipTrunks200Response.md +20 -0
- data/docs/ListSipTrunks200ResponseTrunksInner.md +32 -0
- data/docs/ListSipTrunks200ResponseTrunksInnerTermination.md +20 -0
- data/docs/MessagesApi.md +1 -1
- data/docs/RotateSipTrunkCredentials200Response.md +20 -0
- data/docs/SendInboxMessage200ResponseData.md +4 -6
- data/docs/SendInboxMessage200ResponseDataAttachmentsInner.md +20 -0
- data/docs/VoiceApi.md +485 -0
- data/lib/zernio-sdk/api/messages_api.rb +2 -2
- data/lib/zernio-sdk/api/voice_api.rb +447 -0
- data/lib/zernio-sdk/models/attach_number_to_sip_trunk200_response.rb +165 -0
- data/lib/zernio-sdk/models/attach_number_to_sip_trunk_request.rb +165 -0
- data/lib/zernio-sdk/models/create_sip_trunk201_response.rb +255 -0
- data/lib/zernio-sdk/models/create_sip_trunk201_response_termination.rb +158 -0
- data/lib/zernio-sdk/models/create_sip_trunk_request.rb +283 -0
- data/lib/zernio-sdk/models/detach_number_from_sip_trunk200_response.rb +157 -0
- data/lib/zernio-sdk/models/get_phone_number200_response_phone_number.rb +15 -4
- data/lib/zernio-sdk/models/get_sip_trunk200_response.rb +256 -0
- data/lib/zernio-sdk/models/get_sip_trunk200_response_numbers_inner.rb +157 -0
- data/lib/zernio-sdk/models/list_phone_numbers200_response_numbers_inner.rb +12 -1
- data/lib/zernio-sdk/models/list_sip_trunks200_response.rb +159 -0
- data/lib/zernio-sdk/models/list_sip_trunks200_response_trunks_inner.rb +245 -0
- data/lib/zernio-sdk/models/list_sip_trunks200_response_trunks_inner_termination.rb +156 -0
- data/lib/zernio-sdk/models/rotate_sip_trunk_credentials200_response.rb +156 -0
- data/lib/zernio-sdk/models/send_inbox_message200_response_data.rb +12 -23
- data/lib/zernio-sdk/models/send_inbox_message200_response_data_attachments_inner.rb +156 -0
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +13 -0
- data/openapi.yaml +293 -4
- data/spec/api/messages_api_spec.rb +1 -1
- data/spec/api/voice_api_spec.rb +82 -0
- data/spec/models/attach_number_to_sip_trunk200_response_spec.rb +48 -0
- data/spec/models/attach_number_to_sip_trunk_request_spec.rb +36 -0
- data/spec/models/create_sip_trunk201_response_spec.rb +88 -0
- data/spec/models/create_sip_trunk201_response_termination_spec.rb +42 -0
- data/spec/models/create_sip_trunk_request_spec.rb +58 -0
- data/spec/models/detach_number_from_sip_trunk200_response_spec.rb +42 -0
- data/spec/models/get_phone_number200_response_phone_number_spec.rb +6 -0
- data/spec/models/get_sip_trunk200_response_numbers_inner_spec.rb +42 -0
- data/spec/models/get_sip_trunk200_response_spec.rb +88 -0
- data/spec/models/list_phone_numbers200_response_numbers_inner_spec.rb +6 -0
- data/spec/models/list_sip_trunks200_response_spec.rb +42 -0
- data/spec/models/list_sip_trunks200_response_trunks_inner_spec.rb +82 -0
- data/spec/models/list_sip_trunks200_response_trunks_inner_termination_spec.rb +42 -0
- data/spec/models/rotate_sip_trunk_credentials200_response_spec.rb +42 -0
- data/spec/models/send_inbox_message200_response_data_attachments_inner_spec.rb +42 -0
- data/spec/models/send_inbox_message200_response_data_spec.rb +1 -7
- data/zernio-sdk-0.0.727.gem +0 -0
- metadata +55 -3
- data/zernio-sdk-0.0.725.gem +0 -0
data/docs/VoiceApi.md
CHANGED
|
@@ -4,19 +4,166 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
4
4
|
|
|
5
5
|
| Method | HTTP request | Description |
|
|
6
6
|
| ------ | ------------ | ----------- |
|
|
7
|
+
| [**attach_number_to_sip_trunk**](VoiceApi.md#attach_number_to_sip_trunk) | **POST** /v1/phone-numbers/{id}/sip-trunk | Attach a number to a SIP trunk |
|
|
8
|
+
| [**create_sip_trunk**](VoiceApi.md#create_sip_trunk) | **POST** /v1/phone-numbers/sip-trunks | Create a SIP trunk |
|
|
7
9
|
| [**create_voice_call**](VoiceApi.md#create_voice_call) | **POST** /v1/voice/calls | Place an outbound phone call |
|
|
8
10
|
| [**create_voice_web_session**](VoiceApi.md#create_voice_web_session) | **POST** /v1/voice/calls/web | Mint a browser softphone session |
|
|
11
|
+
| [**delete_sip_trunk**](VoiceApi.md#delete_sip_trunk) | **DELETE** /v1/phone-numbers/sip-trunks/{id} | Delete a SIP trunk |
|
|
12
|
+
| [**detach_number_from_sip_trunk**](VoiceApi.md#detach_number_from_sip_trunk) | **DELETE** /v1/phone-numbers/{id}/sip-trunk | Detach a number from its SIP trunk |
|
|
9
13
|
| [**dial_voice_web_call**](VoiceApi.md#dial_voice_web_call) | **POST** /v1/voice/calls/web/dial | Dial from the browser softphone |
|
|
10
14
|
| [**disable_voice_on_number**](VoiceApi.md#disable_voice_on_number) | **DELETE** /v1/phone-numbers/{id}/voice | Disable phone calling on a number |
|
|
11
15
|
| [**enable_voice_on_number**](VoiceApi.md#enable_voice_on_number) | **POST** /v1/phone-numbers/{id}/voice | Enable phone calling on a number |
|
|
12
16
|
| [**end_voice_call**](VoiceApi.md#end_voice_call) | **POST** /v1/voice/calls/{id}/end | Hang up a live call |
|
|
17
|
+
| [**get_sip_trunk**](VoiceApi.md#get_sip_trunk) | **GET** /v1/phone-numbers/sip-trunks/{id} | Get a SIP trunk |
|
|
13
18
|
| [**get_voice_call**](VoiceApi.md#get_voice_call) | **GET** /v1/voice/calls/{id} | Get a phone call |
|
|
14
19
|
| [**get_voice_call_estimate**](VoiceApi.md#get_voice_call_estimate) | **GET** /v1/voice/calls/estimate | Estimate call cost |
|
|
15
20
|
| [**get_voice_call_recording**](VoiceApi.md#get_voice_call_recording) | **GET** /v1/voice/calls/{id}/recording | Get a call recording |
|
|
21
|
+
| [**list_sip_trunks**](VoiceApi.md#list_sip_trunks) | **GET** /v1/phone-numbers/sip-trunks | List SIP trunks |
|
|
16
22
|
| [**list_voice_calls**](VoiceApi.md#list_voice_calls) | **GET** /v1/voice/calls | List phone calls |
|
|
23
|
+
| [**rotate_sip_trunk_credentials**](VoiceApi.md#rotate_sip_trunk_credentials) | **POST** /v1/phone-numbers/sip-trunks/{id}/rotate-credentials | Rotate a SIP trunk's password |
|
|
17
24
|
| [**transfer_voice_call**](VoiceApi.md#transfer_voice_call) | **POST** /v1/voice/calls/{id}/transfer | Blind-transfer a live call |
|
|
18
25
|
|
|
19
26
|
|
|
27
|
+
## attach_number_to_sip_trunk
|
|
28
|
+
|
|
29
|
+
> <AttachNumberToSipTrunk200Response> attach_number_to_sip_trunk(id, attach_number_to_sip_trunk_request)
|
|
30
|
+
|
|
31
|
+
Attach a number to a SIP trunk
|
|
32
|
+
|
|
33
|
+
Routes the number's calls to the trunk: the external platform receives its inbound directly and can present it as outbound caller ID. While attached, Zernio-side voice features are off for this number (call forwarding, IVR, voicemail, recording, the softphone, and WhatsApp calling), so the number must have Calls and WhatsApp calling disabled before attaching. SMS and WhatsApp messaging are unaffected.
|
|
34
|
+
|
|
35
|
+
### Examples
|
|
36
|
+
|
|
37
|
+
```ruby
|
|
38
|
+
require 'time'
|
|
39
|
+
require 'zernio-sdk'
|
|
40
|
+
# setup authorization
|
|
41
|
+
Zernio.configure do |config|
|
|
42
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
43
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
api_instance = Zernio::VoiceApi.new
|
|
47
|
+
id = 'id_example' # String | Phone number record ID (from GET /v1/phone-numbers).
|
|
48
|
+
attach_number_to_sip_trunk_request = Zernio::AttachNumberToSipTrunkRequest.new({trunk_id: 'trunk_id_example'}) # AttachNumberToSipTrunkRequest |
|
|
49
|
+
|
|
50
|
+
begin
|
|
51
|
+
# Attach a number to a SIP trunk
|
|
52
|
+
result = api_instance.attach_number_to_sip_trunk(id, attach_number_to_sip_trunk_request)
|
|
53
|
+
p result
|
|
54
|
+
rescue Zernio::ApiError => e
|
|
55
|
+
puts "Error when calling VoiceApi->attach_number_to_sip_trunk: #{e}"
|
|
56
|
+
end
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
#### Using the attach_number_to_sip_trunk_with_http_info variant
|
|
60
|
+
|
|
61
|
+
This returns an Array which contains the response data, status code and headers.
|
|
62
|
+
|
|
63
|
+
> <Array(<AttachNumberToSipTrunk200Response>, Integer, Hash)> attach_number_to_sip_trunk_with_http_info(id, attach_number_to_sip_trunk_request)
|
|
64
|
+
|
|
65
|
+
```ruby
|
|
66
|
+
begin
|
|
67
|
+
# Attach a number to a SIP trunk
|
|
68
|
+
data, status_code, headers = api_instance.attach_number_to_sip_trunk_with_http_info(id, attach_number_to_sip_trunk_request)
|
|
69
|
+
p status_code # => 2xx
|
|
70
|
+
p headers # => { ... }
|
|
71
|
+
p data # => <AttachNumberToSipTrunk200Response>
|
|
72
|
+
rescue Zernio::ApiError => e
|
|
73
|
+
puts "Error when calling VoiceApi->attach_number_to_sip_trunk_with_http_info: #{e}"
|
|
74
|
+
end
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Parameters
|
|
78
|
+
|
|
79
|
+
| Name | Type | Description | Notes |
|
|
80
|
+
| ---- | ---- | ----------- | ----- |
|
|
81
|
+
| **id** | **String** | Phone number record ID (from GET /v1/phone-numbers). | |
|
|
82
|
+
| **attach_number_to_sip_trunk_request** | [**AttachNumberToSipTrunkRequest**](AttachNumberToSipTrunkRequest.md) | | |
|
|
83
|
+
|
|
84
|
+
### Return type
|
|
85
|
+
|
|
86
|
+
[**AttachNumberToSipTrunk200Response**](AttachNumberToSipTrunk200Response.md)
|
|
87
|
+
|
|
88
|
+
### Authorization
|
|
89
|
+
|
|
90
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
91
|
+
|
|
92
|
+
### HTTP request headers
|
|
93
|
+
|
|
94
|
+
- **Content-Type**: application/json
|
|
95
|
+
- **Accept**: application/json
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## create_sip_trunk
|
|
99
|
+
|
|
100
|
+
> <CreateSipTrunk201Response> create_sip_trunk(create_sip_trunk_request)
|
|
101
|
+
|
|
102
|
+
Create a SIP trunk
|
|
103
|
+
|
|
104
|
+
Creates a SIP trunk an external voice platform (Retell, ElevenLabs, Vapi, or any SIP endpoint) can import your Zernio numbers into. The trunk carries both directions: inbound calls on attached numbers are delivered to `sipHost`, and the platform originates outbound calls through `termination.uri` with the digest credentials. The `digestPassword` is returned only by this call (and by rotate-credentials); store it immediately. Attach any number of numbers to a trunk. Several trunks may point at the same host — each carries its own credentials and spend cap, so separate destination workspaces (e.g. an agency's clients) stay isolated.
|
|
105
|
+
|
|
106
|
+
### Examples
|
|
107
|
+
|
|
108
|
+
```ruby
|
|
109
|
+
require 'time'
|
|
110
|
+
require 'zernio-sdk'
|
|
111
|
+
# setup authorization
|
|
112
|
+
Zernio.configure do |config|
|
|
113
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
114
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
api_instance = Zernio::VoiceApi.new
|
|
118
|
+
create_sip_trunk_request = Zernio::CreateSipTrunkRequest.new({label: 'label_example', sip_host: 'sip_host_example'}) # CreateSipTrunkRequest |
|
|
119
|
+
|
|
120
|
+
begin
|
|
121
|
+
# Create a SIP trunk
|
|
122
|
+
result = api_instance.create_sip_trunk(create_sip_trunk_request)
|
|
123
|
+
p result
|
|
124
|
+
rescue Zernio::ApiError => e
|
|
125
|
+
puts "Error when calling VoiceApi->create_sip_trunk: #{e}"
|
|
126
|
+
end
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
#### Using the create_sip_trunk_with_http_info variant
|
|
130
|
+
|
|
131
|
+
This returns an Array which contains the response data, status code and headers.
|
|
132
|
+
|
|
133
|
+
> <Array(<CreateSipTrunk201Response>, Integer, Hash)> create_sip_trunk_with_http_info(create_sip_trunk_request)
|
|
134
|
+
|
|
135
|
+
```ruby
|
|
136
|
+
begin
|
|
137
|
+
# Create a SIP trunk
|
|
138
|
+
data, status_code, headers = api_instance.create_sip_trunk_with_http_info(create_sip_trunk_request)
|
|
139
|
+
p status_code # => 2xx
|
|
140
|
+
p headers # => { ... }
|
|
141
|
+
p data # => <CreateSipTrunk201Response>
|
|
142
|
+
rescue Zernio::ApiError => e
|
|
143
|
+
puts "Error when calling VoiceApi->create_sip_trunk_with_http_info: #{e}"
|
|
144
|
+
end
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Parameters
|
|
148
|
+
|
|
149
|
+
| Name | Type | Description | Notes |
|
|
150
|
+
| ---- | ---- | ----------- | ----- |
|
|
151
|
+
| **create_sip_trunk_request** | [**CreateSipTrunkRequest**](CreateSipTrunkRequest.md) | | |
|
|
152
|
+
|
|
153
|
+
### Return type
|
|
154
|
+
|
|
155
|
+
[**CreateSipTrunk201Response**](CreateSipTrunk201Response.md)
|
|
156
|
+
|
|
157
|
+
### Authorization
|
|
158
|
+
|
|
159
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
160
|
+
|
|
161
|
+
### HTTP request headers
|
|
162
|
+
|
|
163
|
+
- **Content-Type**: application/json
|
|
164
|
+
- **Accept**: application/json
|
|
165
|
+
|
|
166
|
+
|
|
20
167
|
## create_voice_call
|
|
21
168
|
|
|
22
169
|
> <CreateVoiceCall200Response> create_voice_call(create_voice_call_request, opts)
|
|
@@ -156,6 +303,144 @@ This endpoint does not need any parameter.
|
|
|
156
303
|
- **Accept**: application/json
|
|
157
304
|
|
|
158
305
|
|
|
306
|
+
## delete_sip_trunk
|
|
307
|
+
|
|
308
|
+
> <DeleteSmsSenderId200Response> delete_sip_trunk(id)
|
|
309
|
+
|
|
310
|
+
Delete a SIP trunk
|
|
311
|
+
|
|
312
|
+
Tears down the trunk and its carrier-side objects. Refused while any number is still attached: detach them first.
|
|
313
|
+
|
|
314
|
+
### Examples
|
|
315
|
+
|
|
316
|
+
```ruby
|
|
317
|
+
require 'time'
|
|
318
|
+
require 'zernio-sdk'
|
|
319
|
+
# setup authorization
|
|
320
|
+
Zernio.configure do |config|
|
|
321
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
322
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
323
|
+
end
|
|
324
|
+
|
|
325
|
+
api_instance = Zernio::VoiceApi.new
|
|
326
|
+
id = 'id_example' # String |
|
|
327
|
+
|
|
328
|
+
begin
|
|
329
|
+
# Delete a SIP trunk
|
|
330
|
+
result = api_instance.delete_sip_trunk(id)
|
|
331
|
+
p result
|
|
332
|
+
rescue Zernio::ApiError => e
|
|
333
|
+
puts "Error when calling VoiceApi->delete_sip_trunk: #{e}"
|
|
334
|
+
end
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
#### Using the delete_sip_trunk_with_http_info variant
|
|
338
|
+
|
|
339
|
+
This returns an Array which contains the response data, status code and headers.
|
|
340
|
+
|
|
341
|
+
> <Array(<DeleteSmsSenderId200Response>, Integer, Hash)> delete_sip_trunk_with_http_info(id)
|
|
342
|
+
|
|
343
|
+
```ruby
|
|
344
|
+
begin
|
|
345
|
+
# Delete a SIP trunk
|
|
346
|
+
data, status_code, headers = api_instance.delete_sip_trunk_with_http_info(id)
|
|
347
|
+
p status_code # => 2xx
|
|
348
|
+
p headers # => { ... }
|
|
349
|
+
p data # => <DeleteSmsSenderId200Response>
|
|
350
|
+
rescue Zernio::ApiError => e
|
|
351
|
+
puts "Error when calling VoiceApi->delete_sip_trunk_with_http_info: #{e}"
|
|
352
|
+
end
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Parameters
|
|
356
|
+
|
|
357
|
+
| Name | Type | Description | Notes |
|
|
358
|
+
| ---- | ---- | ----------- | ----- |
|
|
359
|
+
| **id** | **String** | | |
|
|
360
|
+
|
|
361
|
+
### Return type
|
|
362
|
+
|
|
363
|
+
[**DeleteSmsSenderId200Response**](DeleteSmsSenderId200Response.md)
|
|
364
|
+
|
|
365
|
+
### Authorization
|
|
366
|
+
|
|
367
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
368
|
+
|
|
369
|
+
### HTTP request headers
|
|
370
|
+
|
|
371
|
+
- **Content-Type**: Not defined
|
|
372
|
+
- **Accept**: application/json
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
## detach_number_from_sip_trunk
|
|
376
|
+
|
|
377
|
+
> <DetachNumberFromSipTrunk200Response> detach_number_from_sip_trunk(id)
|
|
378
|
+
|
|
379
|
+
Detach a number from its SIP trunk
|
|
380
|
+
|
|
381
|
+
Returns the number's calls to Zernio routing. Idempotent when the number is not attached to any trunk.
|
|
382
|
+
|
|
383
|
+
### Examples
|
|
384
|
+
|
|
385
|
+
```ruby
|
|
386
|
+
require 'time'
|
|
387
|
+
require 'zernio-sdk'
|
|
388
|
+
# setup authorization
|
|
389
|
+
Zernio.configure do |config|
|
|
390
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
391
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
api_instance = Zernio::VoiceApi.new
|
|
395
|
+
id = 'id_example' # String |
|
|
396
|
+
|
|
397
|
+
begin
|
|
398
|
+
# Detach a number from its SIP trunk
|
|
399
|
+
result = api_instance.detach_number_from_sip_trunk(id)
|
|
400
|
+
p result
|
|
401
|
+
rescue Zernio::ApiError => e
|
|
402
|
+
puts "Error when calling VoiceApi->detach_number_from_sip_trunk: #{e}"
|
|
403
|
+
end
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
#### Using the detach_number_from_sip_trunk_with_http_info variant
|
|
407
|
+
|
|
408
|
+
This returns an Array which contains the response data, status code and headers.
|
|
409
|
+
|
|
410
|
+
> <Array(<DetachNumberFromSipTrunk200Response>, Integer, Hash)> detach_number_from_sip_trunk_with_http_info(id)
|
|
411
|
+
|
|
412
|
+
```ruby
|
|
413
|
+
begin
|
|
414
|
+
# Detach a number from its SIP trunk
|
|
415
|
+
data, status_code, headers = api_instance.detach_number_from_sip_trunk_with_http_info(id)
|
|
416
|
+
p status_code # => 2xx
|
|
417
|
+
p headers # => { ... }
|
|
418
|
+
p data # => <DetachNumberFromSipTrunk200Response>
|
|
419
|
+
rescue Zernio::ApiError => e
|
|
420
|
+
puts "Error when calling VoiceApi->detach_number_from_sip_trunk_with_http_info: #{e}"
|
|
421
|
+
end
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
### Parameters
|
|
425
|
+
|
|
426
|
+
| Name | Type | Description | Notes |
|
|
427
|
+
| ---- | ---- | ----------- | ----- |
|
|
428
|
+
| **id** | **String** | | |
|
|
429
|
+
|
|
430
|
+
### Return type
|
|
431
|
+
|
|
432
|
+
[**DetachNumberFromSipTrunk200Response**](DetachNumberFromSipTrunk200Response.md)
|
|
433
|
+
|
|
434
|
+
### Authorization
|
|
435
|
+
|
|
436
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
437
|
+
|
|
438
|
+
### HTTP request headers
|
|
439
|
+
|
|
440
|
+
- **Content-Type**: Not defined
|
|
441
|
+
- **Accept**: application/json
|
|
442
|
+
|
|
443
|
+
|
|
159
444
|
## dial_voice_web_call
|
|
160
445
|
|
|
161
446
|
> <DialVoiceWebCall200Response> dial_voice_web_call(dial_voice_web_call_request)
|
|
@@ -436,6 +721,73 @@ end
|
|
|
436
721
|
- **Accept**: application/json
|
|
437
722
|
|
|
438
723
|
|
|
724
|
+
## get_sip_trunk
|
|
725
|
+
|
|
726
|
+
> <GetSipTrunk200Response> get_sip_trunk(id)
|
|
727
|
+
|
|
728
|
+
Get a SIP trunk
|
|
729
|
+
|
|
730
|
+
### Examples
|
|
731
|
+
|
|
732
|
+
```ruby
|
|
733
|
+
require 'time'
|
|
734
|
+
require 'zernio-sdk'
|
|
735
|
+
# setup authorization
|
|
736
|
+
Zernio.configure do |config|
|
|
737
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
738
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
739
|
+
end
|
|
740
|
+
|
|
741
|
+
api_instance = Zernio::VoiceApi.new
|
|
742
|
+
id = 'id_example' # String |
|
|
743
|
+
|
|
744
|
+
begin
|
|
745
|
+
# Get a SIP trunk
|
|
746
|
+
result = api_instance.get_sip_trunk(id)
|
|
747
|
+
p result
|
|
748
|
+
rescue Zernio::ApiError => e
|
|
749
|
+
puts "Error when calling VoiceApi->get_sip_trunk: #{e}"
|
|
750
|
+
end
|
|
751
|
+
```
|
|
752
|
+
|
|
753
|
+
#### Using the get_sip_trunk_with_http_info variant
|
|
754
|
+
|
|
755
|
+
This returns an Array which contains the response data, status code and headers.
|
|
756
|
+
|
|
757
|
+
> <Array(<GetSipTrunk200Response>, Integer, Hash)> get_sip_trunk_with_http_info(id)
|
|
758
|
+
|
|
759
|
+
```ruby
|
|
760
|
+
begin
|
|
761
|
+
# Get a SIP trunk
|
|
762
|
+
data, status_code, headers = api_instance.get_sip_trunk_with_http_info(id)
|
|
763
|
+
p status_code # => 2xx
|
|
764
|
+
p headers # => { ... }
|
|
765
|
+
p data # => <GetSipTrunk200Response>
|
|
766
|
+
rescue Zernio::ApiError => e
|
|
767
|
+
puts "Error when calling VoiceApi->get_sip_trunk_with_http_info: #{e}"
|
|
768
|
+
end
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
### Parameters
|
|
772
|
+
|
|
773
|
+
| Name | Type | Description | Notes |
|
|
774
|
+
| ---- | ---- | ----------- | ----- |
|
|
775
|
+
| **id** | **String** | | |
|
|
776
|
+
|
|
777
|
+
### Return type
|
|
778
|
+
|
|
779
|
+
[**GetSipTrunk200Response**](GetSipTrunk200Response.md)
|
|
780
|
+
|
|
781
|
+
### Authorization
|
|
782
|
+
|
|
783
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
784
|
+
|
|
785
|
+
### HTTP request headers
|
|
786
|
+
|
|
787
|
+
- **Content-Type**: Not defined
|
|
788
|
+
- **Accept**: application/json
|
|
789
|
+
|
|
790
|
+
|
|
439
791
|
## get_voice_call
|
|
440
792
|
|
|
441
793
|
> <GetVoiceCall200Response> get_voice_call(id)
|
|
@@ -655,6 +1007,70 @@ end
|
|
|
655
1007
|
- **Accept**: application/json
|
|
656
1008
|
|
|
657
1009
|
|
|
1010
|
+
## list_sip_trunks
|
|
1011
|
+
|
|
1012
|
+
> <ListSipTrunks200Response> list_sip_trunks
|
|
1013
|
+
|
|
1014
|
+
List SIP trunks
|
|
1015
|
+
|
|
1016
|
+
### Examples
|
|
1017
|
+
|
|
1018
|
+
```ruby
|
|
1019
|
+
require 'time'
|
|
1020
|
+
require 'zernio-sdk'
|
|
1021
|
+
# setup authorization
|
|
1022
|
+
Zernio.configure do |config|
|
|
1023
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
1024
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
1025
|
+
end
|
|
1026
|
+
|
|
1027
|
+
api_instance = Zernio::VoiceApi.new
|
|
1028
|
+
|
|
1029
|
+
begin
|
|
1030
|
+
# List SIP trunks
|
|
1031
|
+
result = api_instance.list_sip_trunks
|
|
1032
|
+
p result
|
|
1033
|
+
rescue Zernio::ApiError => e
|
|
1034
|
+
puts "Error when calling VoiceApi->list_sip_trunks: #{e}"
|
|
1035
|
+
end
|
|
1036
|
+
```
|
|
1037
|
+
|
|
1038
|
+
#### Using the list_sip_trunks_with_http_info variant
|
|
1039
|
+
|
|
1040
|
+
This returns an Array which contains the response data, status code and headers.
|
|
1041
|
+
|
|
1042
|
+
> <Array(<ListSipTrunks200Response>, Integer, Hash)> list_sip_trunks_with_http_info
|
|
1043
|
+
|
|
1044
|
+
```ruby
|
|
1045
|
+
begin
|
|
1046
|
+
# List SIP trunks
|
|
1047
|
+
data, status_code, headers = api_instance.list_sip_trunks_with_http_info
|
|
1048
|
+
p status_code # => 2xx
|
|
1049
|
+
p headers # => { ... }
|
|
1050
|
+
p data # => <ListSipTrunks200Response>
|
|
1051
|
+
rescue Zernio::ApiError => e
|
|
1052
|
+
puts "Error when calling VoiceApi->list_sip_trunks_with_http_info: #{e}"
|
|
1053
|
+
end
|
|
1054
|
+
```
|
|
1055
|
+
|
|
1056
|
+
### Parameters
|
|
1057
|
+
|
|
1058
|
+
This endpoint does not need any parameter.
|
|
1059
|
+
|
|
1060
|
+
### Return type
|
|
1061
|
+
|
|
1062
|
+
[**ListSipTrunks200Response**](ListSipTrunks200Response.md)
|
|
1063
|
+
|
|
1064
|
+
### Authorization
|
|
1065
|
+
|
|
1066
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
1067
|
+
|
|
1068
|
+
### HTTP request headers
|
|
1069
|
+
|
|
1070
|
+
- **Content-Type**: Not defined
|
|
1071
|
+
- **Accept**: application/json
|
|
1072
|
+
|
|
1073
|
+
|
|
658
1074
|
## list_voice_calls
|
|
659
1075
|
|
|
660
1076
|
> <ListVoiceCalls200Response> list_voice_calls(opts)
|
|
@@ -734,6 +1150,75 @@ end
|
|
|
734
1150
|
- **Accept**: application/json
|
|
735
1151
|
|
|
736
1152
|
|
|
1153
|
+
## rotate_sip_trunk_credentials
|
|
1154
|
+
|
|
1155
|
+
> <RotateSipTrunkCredentials200Response> rotate_sip_trunk_credentials(id)
|
|
1156
|
+
|
|
1157
|
+
Rotate a SIP trunk's password
|
|
1158
|
+
|
|
1159
|
+
Mints a new digest password on the trunk. The old password stops working immediately, so update the destination platform right away.
|
|
1160
|
+
|
|
1161
|
+
### Examples
|
|
1162
|
+
|
|
1163
|
+
```ruby
|
|
1164
|
+
require 'time'
|
|
1165
|
+
require 'zernio-sdk'
|
|
1166
|
+
# setup authorization
|
|
1167
|
+
Zernio.configure do |config|
|
|
1168
|
+
# Configure Bearer authorization (JWT): bearerAuth
|
|
1169
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
1170
|
+
end
|
|
1171
|
+
|
|
1172
|
+
api_instance = Zernio::VoiceApi.new
|
|
1173
|
+
id = 'id_example' # String |
|
|
1174
|
+
|
|
1175
|
+
begin
|
|
1176
|
+
# Rotate a SIP trunk's password
|
|
1177
|
+
result = api_instance.rotate_sip_trunk_credentials(id)
|
|
1178
|
+
p result
|
|
1179
|
+
rescue Zernio::ApiError => e
|
|
1180
|
+
puts "Error when calling VoiceApi->rotate_sip_trunk_credentials: #{e}"
|
|
1181
|
+
end
|
|
1182
|
+
```
|
|
1183
|
+
|
|
1184
|
+
#### Using the rotate_sip_trunk_credentials_with_http_info variant
|
|
1185
|
+
|
|
1186
|
+
This returns an Array which contains the response data, status code and headers.
|
|
1187
|
+
|
|
1188
|
+
> <Array(<RotateSipTrunkCredentials200Response>, Integer, Hash)> rotate_sip_trunk_credentials_with_http_info(id)
|
|
1189
|
+
|
|
1190
|
+
```ruby
|
|
1191
|
+
begin
|
|
1192
|
+
# Rotate a SIP trunk's password
|
|
1193
|
+
data, status_code, headers = api_instance.rotate_sip_trunk_credentials_with_http_info(id)
|
|
1194
|
+
p status_code # => 2xx
|
|
1195
|
+
p headers # => { ... }
|
|
1196
|
+
p data # => <RotateSipTrunkCredentials200Response>
|
|
1197
|
+
rescue Zernio::ApiError => e
|
|
1198
|
+
puts "Error when calling VoiceApi->rotate_sip_trunk_credentials_with_http_info: #{e}"
|
|
1199
|
+
end
|
|
1200
|
+
```
|
|
1201
|
+
|
|
1202
|
+
### Parameters
|
|
1203
|
+
|
|
1204
|
+
| Name | Type | Description | Notes |
|
|
1205
|
+
| ---- | ---- | ----------- | ----- |
|
|
1206
|
+
| **id** | **String** | | |
|
|
1207
|
+
|
|
1208
|
+
### Return type
|
|
1209
|
+
|
|
1210
|
+
[**RotateSipTrunkCredentials200Response**](RotateSipTrunkCredentials200Response.md)
|
|
1211
|
+
|
|
1212
|
+
### Authorization
|
|
1213
|
+
|
|
1214
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
1215
|
+
|
|
1216
|
+
### HTTP request headers
|
|
1217
|
+
|
|
1218
|
+
- **Content-Type**: Not defined
|
|
1219
|
+
- **Accept**: application/json
|
|
1220
|
+
|
|
1221
|
+
|
|
737
1222
|
## transfer_voice_call
|
|
738
1223
|
|
|
739
1224
|
> <TransferVoiceCall200Response> transfer_voice_call(id, transfer_voice_call_request)
|
|
@@ -932,7 +932,7 @@ module Zernio
|
|
|
932
932
|
end
|
|
933
933
|
|
|
934
934
|
# Send message
|
|
935
|
-
# Send a message in a conversation. Supports text, attachments, quick replies, buttons, templates, and message tags. Attachment and interactive message support varies by platform. WhatsApp template messages: to send an approved template into this conversation (required when the 24-hour customer-service window is closed), use the `template` field with a single element carrying the template reference: `{ \"elements\": [{ \"name\": ..., \"language\": ..., \"components\": [...] }] }`. See the `template` field below for the exact shape. To send a template to a phone number you have no conversation with yet, use the create-conversation endpoint (POST /v1/inbox/conversations) instead. WhatsApp rich interactive messages (list, CTA URL, Flow, location request) are available via the `interactive` field. Tap events are delivered through the `message.received` webhook with WhatsApp-specific `metadata` fields (`interactiveType`, `interactiveId`, `flowResponseJson`, `flowResponseData`). **Idempotency:** send an `Idempotency-Key` header to make retries safe (e.g. after a client-side timeout where delivery is unknown): same key + same body replays the original response (with `Idempotent-Replayed: true`) instead of sending the message a second time; same key + different body returns 422; a key still in flight returns 409. Works for JSON and multipart (file upload) requests alike. Keys are retained for 24 hours.
|
|
935
|
+
# Send a message in a conversation. Supports text, attachments, quick replies, buttons, templates, and message tags. Attachment and interactive message support varies by platform. WhatsApp template messages: to send an approved template into this conversation (required when the 24-hour customer-service window is closed), use the `template` field with a single element carrying the template reference: `{ \"elements\": [{ \"name\": ..., \"language\": ..., \"components\": [...] }] }`. See the `template` field below for the exact shape. To send a template to a phone number you have no conversation with yet, use the create-conversation endpoint (POST /v1/inbox/conversations) instead. WhatsApp rich interactive messages (list, CTA URL, Flow, location request) are available via the `interactive` field. Tap events are delivered through the `message.received` webhook with WhatsApp-specific `metadata` fields (`interactiveType`, `interactiveId`, `flowResponseJson`, `flowResponseData`). **Idempotency:** send an `Idempotency-Key` header to make retries safe (e.g. after a client-side timeout where delivery is unknown): same key + same body replays the original response (with `Idempotent-Replayed: true`) instead of sending the message a second time; same key + different body returns 422; a key still in flight returns 409. Works for JSON and multipart (file upload) requests alike. Keys are retained for 24 hours. Only successful (2xx) responses are stored for replay: if the request throws or returns a non-2xx status, the key is released so the same key can be retried once the problem is fixed. The header therefore protects the \"request succeeded but the response was lost\" case. For an ambiguous failure (a 5xx or a network timeout), reconcile before retrying: a failure after the platform already accepted the message also releases the key, and a blind retry could send it twice. List the conversation's messages first, and treat an empty result as inconclusive rather than as proof nothing was sent, since a send that failed while being recorded leaves no trace on our side.
|
|
936
936
|
# @param conversation_id [String] Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
|
|
937
937
|
# @param send_inbox_message_request [SendInboxMessageRequest]
|
|
938
938
|
# @param [Hash] opts the optional parameters
|
|
@@ -944,7 +944,7 @@ module Zernio
|
|
|
944
944
|
end
|
|
945
945
|
|
|
946
946
|
# Send message
|
|
947
|
-
# Send a message in a conversation. Supports text, attachments, quick replies, buttons, templates, and message tags. Attachment and interactive message support varies by platform. WhatsApp template messages: to send an approved template into this conversation (required when the 24-hour customer-service window is closed), use the `template` field with a single element carrying the template reference: `{ \"elements\": [{ \"name\": ..., \"language\": ..., \"components\": [...] }] }`. See the `template` field below for the exact shape. To send a template to a phone number you have no conversation with yet, use the create-conversation endpoint (POST /v1/inbox/conversations) instead. WhatsApp rich interactive messages (list, CTA URL, Flow, location request) are available via the `interactive` field. Tap events are delivered through the `message.received` webhook with WhatsApp-specific `metadata` fields (`interactiveType`, `interactiveId`, `flowResponseJson`, `flowResponseData`). **Idempotency:** send an `Idempotency-Key` header to make retries safe (e.g. after a client-side timeout where delivery is unknown): same key + same body replays the original response (with `Idempotent-Replayed: true`) instead of sending the message a second time; same key + different body returns 422; a key still in flight returns 409. Works for JSON and multipart (file upload) requests alike. Keys are retained for 24 hours.
|
|
947
|
+
# Send a message in a conversation. Supports text, attachments, quick replies, buttons, templates, and message tags. Attachment and interactive message support varies by platform. WhatsApp template messages: to send an approved template into this conversation (required when the 24-hour customer-service window is closed), use the `template` field with a single element carrying the template reference: `{ \"elements\": [{ \"name\": ..., \"language\": ..., \"components\": [...] }] }`. See the `template` field below for the exact shape. To send a template to a phone number you have no conversation with yet, use the create-conversation endpoint (POST /v1/inbox/conversations) instead. WhatsApp rich interactive messages (list, CTA URL, Flow, location request) are available via the `interactive` field. Tap events are delivered through the `message.received` webhook with WhatsApp-specific `metadata` fields (`interactiveType`, `interactiveId`, `flowResponseJson`, `flowResponseData`). **Idempotency:** send an `Idempotency-Key` header to make retries safe (e.g. after a client-side timeout where delivery is unknown): same key + same body replays the original response (with `Idempotent-Replayed: true`) instead of sending the message a second time; same key + different body returns 422; a key still in flight returns 409. Works for JSON and multipart (file upload) requests alike. Keys are retained for 24 hours. Only successful (2xx) responses are stored for replay: if the request throws or returns a non-2xx status, the key is released so the same key can be retried once the problem is fixed. The header therefore protects the \"request succeeded but the response was lost\" case. For an ambiguous failure (a 5xx or a network timeout), reconcile before retrying: a failure after the platform already accepted the message also releases the key, and a blind retry could send it twice. List the conversation's messages first, and treat an empty result as inconclusive rather than as proof nothing was sent, since a send that failed while being recorded leaves no trace on our side.
|
|
948
948
|
# @param conversation_id [String] Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
|
|
949
949
|
# @param send_inbox_message_request [SendInboxMessageRequest]
|
|
950
950
|
# @param [Hash] opts the optional parameters
|