telnyx-webrtc-ruby

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->

Telnyx Webrtc - Ruby

Telnyx Webrtc - Ruby

Installation

安装

bash
gem install telnyx
bash
gem install telnyx

Setup

配置

ruby
require "telnyx"

client = Telnyx::Client.new(
  api_key: ENV["TELNYX_API_KEY"], # This is the default and can be omitted
)
All examples below assume
client
is already initialized as shown above.
ruby
require "telnyx"

client = Telnyx::Client.new(
  api_key: ENV["TELNYX_API_KEY"], # 这是默认配置,可以省略
)
以下所有示例都默认
client
已按照上述方式完成初始化。

Error Handling

错误处理

All API calls can fail with network errors, rate limits (429), validation errors (422), or authentication errors (401). Always handle errors in production code:
ruby
begin
  result = client.messages.send_(to: "+13125550001", from: "+13125550002", text: "Hello")
rescue Telnyx::Errors::APIConnectionError
  puts "Network error — check connectivity and retry"
rescue Telnyx::Errors::RateLimitError
  # 429: rate limited — wait and retry with exponential backoff
  sleep(1) # Check Retry-After header for actual delay
rescue Telnyx::Errors::APIStatusError => e
  puts "API error #{e.status}: #{e.message}"
  if e.status == 422
    puts "Validation error — check required fields and formats"
  end
end
Common error codes:
401
invalid API key,
403
insufficient permissions,
404
resource not found,
422
validation error (check field formats),
429
rate limited (retry with exponential backoff).
所有API调用都可能因网络错误、速率限制(429)、校验错误(422)或认证错误(401)而失败。在生产环境代码中请务必做好错误处理:
ruby
begin
  result = client.messages.send_(to: "+13125550001", from: "+13125550002", text: "Hello")
rescue Telnyx::Errors::APIConnectionError
  puts "网络错误 — 检查网络连接后重试"
rescue Telnyx::Errors::RateLimitError
  # 429: 触发速率限制 — 等待后采用指数退避策略重试
  sleep(1) # 查看Retry-After响应头获取准确的等待时长
rescue Telnyx::Errors::APIStatusError => e
  puts "API错误 #{e.status}: #{e.message}"
  if e.status == 422
    puts "校验错误 — 检查必填字段和格式"
  end
end
常见错误码:
401
API密钥无效、
403
权限不足、
404
资源不存在、
422
校验错误(检查字段格式)、
429
触发速率限制(采用指数退避策略重试)。

Important Notes

重要说明

  • Pagination: Use
    .auto_paging_each
    for automatic iteration:
    page.auto_paging_each { |item| puts item.id }
    .
  • 分页: 使用
    .auto_paging_each
    实现自动迭代:
    page.auto_paging_each { |item| puts item.id }

List mobile push credentials

查询移动推送凭证列表

GET /mobile_push_credentials
ruby
page = client.mobile_push_credentials.list

puts(page)
Returns:
alias
(string),
certificate
(string),
created_at
(date-time),
id
(string),
private_key
(string),
project_account_json_file
(object),
record_type
(string),
type
(string),
updated_at
(date-time)
GET /mobile_push_credentials
ruby
page = client.mobile_push_credentials.list

puts(page)
返回字段:
alias
(字符串)、
certificate
(字符串)、
created_at
(日期时间)、
id
(字符串)、
private_key
(字符串)、
project_account_json_file
(对象)、
record_type
(字符串)、
type
(字符串)、
updated_at
(日期时间)

Creates a new mobile push credential

创建新的移动推送凭证

POST /mobile_push_credentials
— Required:
type
,
certificate
,
private_key
,
alias
ruby
push_credential_response = client.mobile_push_credentials.create(
  create_mobile_push_credential_request: {
    alias: "LucyIosCredential",
    certificate: "-----BEGIN CERTIFICATE----- MIIGVDCCBTKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END CERTIFICATE-----",
    private_key: "-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END RSA PRIVATE KEY-----",
    type: :ios
  }
)

puts(push_credential_response)
Returns:
alias
(string),
certificate
(string),
created_at
(date-time),
id
(string),
private_key
(string),
project_account_json_file
(object),
record_type
(string),
type
(string),
updated_at
(date-time)
POST /mobile_push_credentials
— 必填参数:
type
certificate
private_key
alias
ruby
push_credential_response = client.mobile_push_credentials.create(
  create_mobile_push_credential_request: {
    alias: "LucyIosCredential",
    certificate: "-----BEGIN CERTIFICATE----- MIIGVDCCBTKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END CERTIFICATE-----",
    private_key: "-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END RSA PRIVATE KEY-----",
    type: :ios
  }
)

puts(push_credential_response)
返回字段:
alias
(字符串)、
certificate
(字符串)、
created_at
(日期时间)、
id
(字符串)、
private_key
(字符串)、
project_account_json_file
(对象)、
record_type
(字符串)、
type
(字符串)、
updated_at
(日期时间)

Retrieves a mobile push credential

查询单个移动推送凭证

Retrieves mobile push credential based on the given
push_credential_id
GET /mobile_push_credentials/{push_credential_id}
ruby
push_credential_response = client.mobile_push_credentials.retrieve("0ccc7b76-4df3-4bca-a05a-3da1ecc389f0")

puts(push_credential_response)
Returns:
alias
(string),
certificate
(string),
created_at
(date-time),
id
(string),
private_key
(string),
project_account_json_file
(object),
record_type
(string),
type
(string),
updated_at
(date-time)
根据提供的
push_credential_id
查询对应的移动推送凭证
GET /mobile_push_credentials/{push_credential_id}
ruby
push_credential_response = client.mobile_push_credentials.retrieve("0ccc7b76-4df3-4bca-a05a-3da1ecc389f0")

puts(push_credential_response)
返回字段:
alias
(字符串)、
certificate
(字符串)、
created_at
(日期时间)、
id
(字符串)、
private_key
(字符串)、
project_account_json_file
(对象)、
record_type
(字符串)、
type
(字符串)、
updated_at
(日期时间)

Deletes a mobile push credential

删除移动推送凭证

Deletes a mobile push credential based on the given
push_credential_id
DELETE /mobile_push_credentials/{push_credential_id}
ruby
result = client.mobile_push_credentials.delete("0ccc7b76-4df3-4bca-a05a-3da1ecc389f0")

puts(result)
根据提供的
push_credential_id
删除对应的移动推送凭证
DELETE /mobile_push_credentials/{push_credential_id}
ruby
result = client.mobile_push_credentials.delete("0ccc7b76-4df3-4bca-a05a-3da1ecc389f0")

puts(result)

List all credentials

查询所有凭证

List all On-demand Credentials.
GET /telephony_credentials
ruby
page = client.telephony_credentials.list

puts(page)
Returns:
created_at
(string),
expired
(boolean),
expires_at
(string),
id
(string),
name
(string),
record_type
(string),
resource_id
(string),
sip_password
(string),
sip_username
(string),
updated_at
(string),
user_id
(string)
查询所有按需凭证。
GET /telephony_credentials
ruby
page = client.telephony_credentials.list

puts(page)
返回字段:
created_at
(字符串)、
expired
(布尔值)、
expires_at
(字符串)、
id
(字符串)、
name
(字符串)、
record_type
(字符串)、
resource_id
(字符串)、
sip_password
(字符串)、
sip_username
(字符串)、
updated_at
(字符串)、
user_id
(字符串)

Create a credential

创建凭证

Create a credential.
POST /telephony_credentials
— Required:
connection_id
Optional:
expires_at
(string),
name
(string),
tag
(string)
ruby
telephony_credential = client.telephony_credentials.create(connection_id: "1234567890")

puts(telephony_credential)
Returns:
created_at
(string),
expired
(boolean),
expires_at
(string),
id
(string),
name
(string),
record_type
(string),
resource_id
(string),
sip_password
(string),
sip_username
(string),
updated_at
(string),
user_id
(string)
创建一个凭证。
POST /telephony_credentials
— 必填参数:
connection_id
可选参数:
expires_at
(字符串)、
name
(字符串)、
tag
(字符串)
ruby
telephony_credential = client.telephony_credentials.create(connection_id: "1234567890")

puts(telephony_credential)
返回字段:
created_at
(字符串)、
expired
(布尔值)、
expires_at
(字符串)、
id
(字符串)、
name
(字符串)、
record_type
(字符串)、
resource_id
(字符串)、
sip_password
(字符串)、
sip_username
(字符串)、
updated_at
(字符串)、
user_id
(字符串)

Get a credential

查询单个凭证

Get the details of an existing On-demand Credential.
GET /telephony_credentials/{id}
ruby
telephony_credential = client.telephony_credentials.retrieve("550e8400-e29b-41d4-a716-446655440000")

puts(telephony_credential)
Returns:
created_at
(string),
expired
(boolean),
expires_at
(string),
id
(string),
name
(string),
record_type
(string),
resource_id
(string),
sip_password
(string),
sip_username
(string),
updated_at
(string),
user_id
(string)
查询现有按需凭证的详情。
GET /telephony_credentials/{id}
ruby
telephony_credential = client.telephony_credentials.retrieve("550e8400-e29b-41d4-a716-446655440000")

puts(telephony_credential)
返回字段:
created_at
(字符串)、
expired
(布尔值)、
expires_at
(字符串)、
id
(字符串)、
name
(字符串)、
record_type
(字符串)、
resource_id
(字符串)、
sip_password
(字符串)、
sip_username
(字符串)、
updated_at
(字符串)、
user_id
(字符串)

Update a credential

更新凭证

Update an existing credential.
PATCH /telephony_credentials/{id}
Optional:
connection_id
(string),
expires_at
(string),
name
(string),
tag
(string)
ruby
telephony_credential = client.telephony_credentials.update("550e8400-e29b-41d4-a716-446655440000")

puts(telephony_credential)
Returns:
created_at
(string),
expired
(boolean),
expires_at
(string),
id
(string),
name
(string),
record_type
(string),
resource_id
(string),
sip_password
(string),
sip_username
(string),
updated_at
(string),
user_id
(string)
更新现有凭证。
PATCH /telephony_credentials/{id}
可选参数:
connection_id
(字符串)、
expires_at
(字符串)、
name
(字符串)、
tag
(字符串)
ruby
telephony_credential = client.telephony_credentials.update("550e8400-e29b-41d4-a716-446655440000")

puts(telephony_credential)
返回字段:
created_at
(字符串)、
expired
(布尔值)、
expires_at
(字符串)、
id
(字符串)、
name
(字符串)、
record_type
(字符串)、
resource_id
(字符串)、
sip_password
(字符串)、
sip_username
(字符串)、
updated_at
(字符串)、
user_id
(字符串)

Delete a credential

删除凭证

Delete an existing credential.
DELETE /telephony_credentials/{id}
ruby
telephony_credential = client.telephony_credentials.delete("550e8400-e29b-41d4-a716-446655440000")

puts(telephony_credential)
Returns:
created_at
(string),
expired
(boolean),
expires_at
(string),
id
(string),
name
(string),
record_type
(string),
resource_id
(string),
sip_password
(string),
sip_username
(string),
updated_at
(string),
user_id
(string)
删除现有凭证。
DELETE /telephony_credentials/{id}
ruby
telephony_credential = client.telephony_credentials.delete("550e8400-e29b-41d4-a716-446655440000")

puts(telephony_credential)
返回字段:
created_at
(字符串)、
expired
(布尔值)、
expires_at
(字符串)、
id
(字符串)、
name
(字符串)、
record_type
(字符串)、
resource_id
(字符串)、
sip_password
(字符串)、
sip_username
(字符串)、
updated_at
(字符串)、
user_id
(字符串)