telnyx-porting-out-java
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 Porting Out - Java
Telnyx 号码转出 - Java
Installation
安装
text
<!-- Maven -->
<dependency>
<groupId>com.telnyx.sdk</groupId>
<artifactId>telnyx</artifactId>
<version>6.36.0</version>
</dependency>
// Gradle
implementation("com.telnyx.sdk:telnyx:6.36.0")text
<!-- Maven -->
<dependency>
<groupId>com.telnyx.sdk</groupId>
<artifactId>telnyx</artifactId>
<version>6.36.0</version>
</dependency>
// Gradle
implementation("com.telnyx.sdk:telnyx:6.36.0")Setup
配置
java
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
TelnyxClient client = TelnyxOkHttpClient.fromEnv();All examples below assume is already initialized as shown above.
clientjava
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
TelnyxClient client = TelnyxOkHttpClient.fromEnv();以下所有示例均假设已经按照上述方式完成初始化。
clientError 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:
java
import com.telnyx.sdk.errors.TelnyxServiceException;
try {
var result = client.messages().send(params);
} catch (TelnyxServiceException e) {
System.err.println("API error " + e.statusCode() + ": " + e.getMessage());
if (e.statusCode() == 422) {
System.err.println("Validation error — check required fields and formats");
} else if (e.statusCode() == 429) {
// Rate limited — wait and retry with exponential backoff
Thread.sleep(1000);
}
}Common error codes: invalid API key, insufficient permissions,
resource not found, validation error (check field formats),
rate limited (retry with exponential backoff).
401403404422429所有API调用都可能失败,原因包括网络错误、限流(429)、验证错误(422)或者认证错误(401)。在生产代码中请务必处理错误:
java
import com.telnyx.sdk.errors.TelnyxServiceException;
try {
var result = client.messages().send(params);
} catch (TelnyxServiceException e) {
System.err.println("API error " + e.statusCode() + ": " + e.getMessage());
if (e.statusCode() == 422) {
System.err.println("Validation error — check required fields and formats");
} else if (e.statusCode() == 429) {
// Rate limited — wait and retry with exponential backoff
Thread.sleep(1000);
}
}常见错误码: API密钥无效, 权限不足, 资源未找到, 验证错误(请检查字段格式), 请求被限流(请使用指数退避策略重试)。
401403404422429Important Notes
重要说明
- Pagination: List methods return a page. Use for automatic iteration:
.autoPager(). For manual control, usefor (var item : page.autoPager()) { ... }and.hasNextPage()..nextPage()
- 分页: 列表方法返回单页数据。如需自动遍历所有数据可使用:
.autoPager()。如需手动控制分页,可使用for (var item : page.autoPager()) { ... }和.hasNextPage()方法。.nextPage()
List portout requests
列出转出请求
Returns the portout requests according to filters
GET /portoutsjava
import com.telnyx.sdk.models.portouts.PortoutListPage;
import com.telnyx.sdk.models.portouts.PortoutListParams;
PortoutListPage page = client.portouts().list();Returns: (boolean), (string), (string), (string), (string), (string), (string), (string), (boolean), (string), (string), (array[string]), (array[string]), (string), (string | null), (string), (integer), (string), (string), (string), (string), (enum: pending, authorized, ported, rejected, rejected-pending, canceled), (string), (string), (uuid), (uuid), (string)
already_portedauthorized_namecarrier_namecitycreated_atcurrent_carrierend_user_namefoc_datehost_messagingidinserted_atlsrphone_numbersponreasonrecord_typerejection_coderequested_foc_dateservice_addressspidstatestatussupport_keyupdated_atuser_idvendorzip根据筛选条件返回转出请求
GET /portoutsjava
import com.telnyx.sdk.models.portouts.PortoutListPage;
import com.telnyx.sdk.models.portouts.PortoutListParams;
PortoutListPage page = client.portouts().list();返回字段: (boolean), (string), (string), (string), (string), (string), (string), (string), (boolean), (string), (string), (array[string]), (array[string]), (string), (string | null), (string), (integer), (string), (string), (string), (string), (enum: pending, authorized, ported, rejected, rejected-pending, canceled), (string), (string), (uuid), (uuid), (string)
already_portedauthorized_namecarrier_namecitycreated_atcurrent_carrierend_user_namefoc_datehost_messagingidinserted_atlsrphone_numbersponreasonrecord_typerejection_coderequested_foc_dateservice_addressspidstatestatussupport_keyupdated_atuser_idvendorzipList all port-out events
列出所有转出事件
Returns a list of all port-out events.
GET /portouts/eventsjava
import com.telnyx.sdk.models.portouts.events.EventListPage;
import com.telnyx.sdk.models.portouts.events.EventListParams;
EventListPage page = client.portouts().events().list();Returns: (array[string]), (date-time), (enum: portout.status_changed, portout.foc_date_changed, portout.new_comment), (uuid), (object), (enum: created, completed), (uuid), (string), (date-time)
available_notification_methodscreated_atevent_typeidpayloadpayload_statusportout_idrecord_typeupdated_at返回所有转出事件的列表
GET /portouts/eventsjava
import com.telnyx.sdk.models.portouts.events.EventListPage;
import com.telnyx.sdk.models.portouts.events.EventListParams;
EventListPage page = client.portouts().events().list();返回字段: (array[string]), (date-time), (enum: portout.status_changed, portout.foc_date_changed, portout.new_comment), (uuid), (object), (enum: created, completed), (uuid), (string), (date-time)
available_notification_methodscreated_atevent_typeidpayloadpayload_statusportout_idrecord_typeupdated_atShow a port-out event
查看单个转出事件
Show a specific port-out event.
GET /portouts/events/{id}java
import com.telnyx.sdk.models.portouts.events.EventRetrieveParams;
import com.telnyx.sdk.models.portouts.events.EventRetrieveResponse;
EventRetrieveResponse event = client.portouts().events().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");Returns: (array[string]), (date-time), (enum: portout.status_changed, portout.foc_date_changed, portout.new_comment), (uuid), (object), (enum: created, completed), (uuid), (string), (date-time)
available_notification_methodscreated_atevent_typeidpayloadpayload_statusportout_idrecord_typeupdated_at展示指定的转出事件详情
GET /portouts/events/{id}java
import com.telnyx.sdk.models.portouts.events.EventRetrieveParams;
import com.telnyx.sdk.models.portouts.events.EventRetrieveResponse;
EventRetrieveResponse event = client.portouts().events().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");返回字段: (array[string]), (date-time), (enum: portout.status_changed, portout.foc_date_changed, portout.new_comment), (uuid), (object), (enum: created, completed), (uuid), (string), (date-time)
available_notification_methodscreated_atevent_typeidpayloadpayload_statusportout_idrecord_typeupdated_atRepublish a port-out event
重新推送转出事件
Republish a specific port-out event.
POST /portouts/events/{id}/republishjava
import com.telnyx.sdk.models.portouts.events.EventRepublishParams;
client.portouts().events().republish("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");重新推送指定的转出事件
POST /portouts/events/{id}/republishjava
import com.telnyx.sdk.models.portouts.events.EventRepublishParams;
client.portouts().events().republish("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");List eligible port-out rejection codes for a specific order
列出指定订单符合条件的转出拒绝码
Given a port-out ID, list rejection codes that are eligible for that port-out
GET /portouts/rejections/{portout_id}java
import com.telnyx.sdk.models.portouts.PortoutListRejectionCodesParams;
import com.telnyx.sdk.models.portouts.PortoutListRejectionCodesResponse;
PortoutListRejectionCodesResponse response = client.portouts().listRejectionCodes("329d6658-8f93-405d-862f-648776e8afd7");Returns: (integer), (string), (boolean)
codedescriptionreason_required根据转出ID,列出该转出请求可使用的拒绝码
GET /portouts/rejections/{portout_id}java
import com.telnyx.sdk.models.portouts.PortoutListRejectionCodesParams;
import com.telnyx.sdk.models.portouts.PortoutListRejectionCodesResponse;
PortoutListRejectionCodesResponse response = client.portouts().listRejectionCodes("329d6658-8f93-405d-862f-648776e8afd7");返回字段: (integer), (string), (boolean)
codedescriptionreason_requiredList port-out related reports
列出转出相关报告
List the reports generated about port-out operations.
GET /portouts/reportsjava
import com.telnyx.sdk.models.portouts.reports.ReportListPage;
import com.telnyx.sdk.models.portouts.reports.ReportListParams;
ReportListPage page = client.portouts().reports().list();Returns: (date-time), (uuid), (uuid), (object), (string), (enum: export_portouts_csv), (enum: pending, completed), (date-time)
created_atdocument_ididparamsrecord_typereport_typestatusupdated_at列出转出操作生成的所有报告
GET /portouts/reportsjava
import com.telnyx.sdk.models.portouts.reports.ReportListPage;
import com.telnyx.sdk.models.portouts.reports.ReportListParams;
ReportListPage page = client.portouts().reports().list();返回字段: (date-time), (uuid), (uuid), (object), (string), (enum: export_portouts_csv), (enum: pending, completed), (date-time)
created_atdocument_ididparamsrecord_typereport_typestatusupdated_atCreate a port-out related report
创建转出相关报告
Generate reports about port-out operations.
POST /portouts/reportsjava
import com.telnyx.sdk.models.portouts.reports.ExportPortoutsCsvReport;
import com.telnyx.sdk.models.portouts.reports.ReportCreateParams;
import com.telnyx.sdk.models.portouts.reports.ReportCreateResponse;
ReportCreateParams params = ReportCreateParams.builder()
.params(ExportPortoutsCsvReport.builder()
.filters(ExportPortoutsCsvReport.Filters.builder().build())
.build())
.reportType(ReportCreateParams.ReportType.EXPORT_PORTOUTS_CSV)
.build();
ReportCreateResponse report = client.portouts().reports().create(params);Returns: (date-time), (uuid), (uuid), (object), (string), (enum: export_portouts_csv), (enum: pending, completed), (date-time)
created_atdocument_ididparamsrecord_typereport_typestatusupdated_at生成转出操作相关的报告
POST /portouts/reportsjava
import com.telnyx.sdk.models.portouts.reports.ExportPortoutsCsvReport;
import com.telnyx.sdk.models.portouts.reports.ReportCreateParams;
import com.telnyx.sdk.models.portouts.reports.ReportCreateResponse;
ReportCreateParams params = ReportCreateParams.builder()
.params(ExportPortoutsCsvReport.builder()
.filters(ExportPortoutsCsvReport.Filters.builder().build())
.build())
.reportType(ReportCreateParams.ReportType.EXPORT_PORTOUTS_CSV)
.build();
ReportCreateResponse report = client.portouts().reports().create(params);返回字段: (date-time), (uuid), (uuid), (object), (string), (enum: export_portouts_csv), (enum: pending, completed), (date-time)
created_atdocument_ididparamsrecord_typereport_typestatusupdated_atRetrieve a report
获取单个报告
Retrieve a specific report generated.
GET /portouts/reports/{id}java
import com.telnyx.sdk.models.portouts.reports.ReportRetrieveParams;
import com.telnyx.sdk.models.portouts.reports.ReportRetrieveResponse;
ReportRetrieveResponse report = client.portouts().reports().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");Returns: (date-time), (uuid), (uuid), (object), (string), (enum: export_portouts_csv), (enum: pending, completed), (date-time)
created_atdocument_ididparamsrecord_typereport_typestatusupdated_at获取指定的已生成报告详情
GET /portouts/reports/{id}java
import com.telnyx.sdk.models.portouts.reports.ReportRetrieveParams;
import com.telnyx.sdk.models.portouts.reports.ReportRetrieveResponse;
ReportRetrieveResponse report = client.portouts().reports().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");返回字段: (date-time), (uuid), (uuid), (object), (string), (enum: export_portouts_csv), (enum: pending, completed), (date-time)
created_atdocument_ididparamsrecord_typereport_typestatusupdated_atGet a portout request
获取单个转出请求
Returns the portout request based on the ID provided
GET /portouts/{id}java
import com.telnyx.sdk.models.portouts.PortoutRetrieveParams;
import com.telnyx.sdk.models.portouts.PortoutRetrieveResponse;
PortoutRetrieveResponse portout = client.portouts().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");Returns: (boolean), (string), (string), (string), (string), (string), (string), (string), (boolean), (string), (string), (array[string]), (array[string]), (string), (string | null), (string), (integer), (string), (string), (string), (string), (enum: pending, authorized, ported, rejected, rejected-pending, canceled), (string), (string), (uuid), (uuid), (string)
already_portedauthorized_namecarrier_namecitycreated_atcurrent_carrierend_user_namefoc_datehost_messagingidinserted_atlsrphone_numbersponreasonrecord_typerejection_coderequested_foc_dateservice_addressspidstatestatussupport_keyupdated_atuser_idvendorzip根据提供的ID返回对应转出请求详情
GET /portouts/{id}java
import com.telnyx.sdk.models.portouts.PortoutRetrieveParams;
import com.telnyx.sdk.models.portouts.PortoutRetrieveResponse;
PortoutRetrieveResponse portout = client.portouts().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");返回字段: (boolean), (string), (string), (string), (string), (string), (string), (string), (boolean), (string), (string), (array[string]), (array[string]), (string), (string | null), (string), (integer), (string), (string), (string), (string), (enum: pending, authorized, ported, rejected, rejected-pending, canceled), (string), (string), (uuid), (uuid), (string)
already_portedauthorized_namecarrier_namecitycreated_atcurrent_carrierend_user_namefoc_datehost_messagingidinserted_atlsrphone_numbersponreasonrecord_typerejection_coderequested_foc_dateservice_addressspidstatestatussupport_keyupdated_atuser_idvendorzipList all comments for a portout request
列出转出请求的所有评论
Returns a list of comments for a portout request.
GET /portouts/{id}/commentsjava
import com.telnyx.sdk.models.portouts.comments.CommentListParams;
import com.telnyx.sdk.models.portouts.comments.CommentListResponse;
CommentListResponse comments = client.portouts().comments().list("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");Returns: (string), (string), (string), (string), (string), (string)
bodycreated_atidportout_idrecord_typeuser_id返回指定转出请求的评论列表
GET /portouts/{id}/commentsjava
import com.telnyx.sdk.models.portouts.comments.CommentListParams;
import com.telnyx.sdk.models.portouts.comments.CommentListResponse;
CommentListResponse comments = client.portouts().comments().list("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");返回字段: (string), (string), (string), (string), (string), (string)
bodycreated_atidportout_idrecord_typeuser_idCreate a comment on a portout request
为转出请求添加评论
Creates a comment on a portout request.
POST /portouts/{id}/commentsOptional: (string)
bodyjava
import com.telnyx.sdk.models.portouts.comments.CommentCreateParams;
import com.telnyx.sdk.models.portouts.comments.CommentCreateResponse;
CommentCreateResponse comment = client.portouts().comments().create("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");Returns: (string), (string), (string), (string), (string), (string)
bodycreated_atidportout_idrecord_typeuser_id为指定转出请求创建一条评论
POST /portouts/{id}/comments可选参数: (string)
bodyjava
import com.telnyx.sdk.models.portouts.comments.CommentCreateParams;
import com.telnyx.sdk.models.portouts.comments.CommentCreateResponse;
CommentCreateResponse comment = client.portouts().comments().create("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");返回字段: (string), (string), (string), (string), (string), (string)
bodycreated_atidportout_idrecord_typeuser_idList supporting documents on a portout request
列出转出请求的支持文档
List every supporting documents for a portout request.
GET /portouts/{id}/supporting_documentsjava
import com.telnyx.sdk.models.portouts.supportingdocuments.SupportingDocumentListParams;
import com.telnyx.sdk.models.portouts.supportingdocuments.SupportingDocumentListResponse;
SupportingDocumentListResponse supportingDocuments = client.portouts().supportingDocuments().list("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");Returns: (string), (uuid), (uuid), (uuid), (string), (enum: loa, invoice), (string)
created_atdocument_ididportout_idrecord_typetypeupdated_at列出指定转出请求的所有支持文档
GET /portouts/{id}/supporting_documentsjava
import com.telnyx.sdk.models.portouts.supportingdocuments.SupportingDocumentListParams;
import com.telnyx.sdk.models.portouts.supportingdocuments.SupportingDocumentListResponse;
SupportingDocumentListResponse supportingDocuments = client.portouts().supportingDocuments().list("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");返回字段: (string), (uuid), (uuid), (uuid), (string), (enum: loa, invoice), (string)
created_atdocument_ididportout_idrecord_typetypeupdated_atCreate a list of supporting documents on a portout request
为转出请求添加支持文档列表
Creates a list of supporting documents on a portout request.
POST /portouts/{id}/supporting_documentsOptional: (array[object])
documentsjava
import com.telnyx.sdk.models.portouts.supportingdocuments.SupportingDocumentCreateParams;
import com.telnyx.sdk.models.portouts.supportingdocuments.SupportingDocumentCreateResponse;
SupportingDocumentCreateResponse supportingDocument = client.portouts().supportingDocuments().create("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");Returns: (string), (uuid), (uuid), (uuid), (string), (enum: loa, invoice), (string)
created_atdocument_ididportout_idrecord_typetypeupdated_at为指定转出请求创建一批支持文档
POST /portouts/{id}/supporting_documents可选参数: (array[object])
documentsjava
import com.telnyx.sdk.models.portouts.supportingdocuments.SupportingDocumentCreateParams;
import com.telnyx.sdk.models.portouts.supportingdocuments.SupportingDocumentCreateResponse;
SupportingDocumentCreateResponse supportingDocument = client.portouts().supportingDocuments().create("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");返回字段: (string), (uuid), (uuid), (uuid), (string), (enum: loa, invoice), (string)
created_atdocument_ididportout_idrecord_typetypeupdated_atUpdate Status
更新状态
Authorize or reject portout request
PATCH /portouts/{id}/{status}reasonOptional: (boolean)
host_messagingjava
import com.telnyx.sdk.models.portouts.PortoutUpdateStatusParams;
import com.telnyx.sdk.models.portouts.PortoutUpdateStatusResponse;
PortoutUpdateStatusParams params = PortoutUpdateStatusParams.builder()
.id("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.status(PortoutUpdateStatusParams.Status.AUTHORIZED)
.reason("I do not recognize this transaction")
.build();
PortoutUpdateStatusResponse response = client.portouts().updateStatus(params);Returns: (boolean), (string), (string), (string), (string), (string), (string), (string), (boolean), (string), (string), (array[string]), (array[string]), (string), (string | null), (string), (integer), (string), (string), (string), (string), (enum: pending, authorized, ported, rejected, rejected-pending, canceled), (string), (string), (uuid), (uuid), (string)
already_portedauthorized_namecarrier_namecitycreated_atcurrent_carrierend_user_namefoc_datehost_messagingidinserted_atlsrphone_numbersponreasonrecord_typerejection_coderequested_foc_dateservice_addressspidstatestatussupport_keyupdated_atuser_idvendorzip批准或拒绝转出请求
PATCH /portouts/{id}/{status}reason可选参数: (boolean)
host_messagingjava
import com.telnyx.sdk.models.portouts.PortoutUpdateStatusParams;
import com.telnyx.sdk.models.portouts.PortoutUpdateStatusResponse;
PortoutUpdateStatusParams params = PortoutUpdateStatusParams.builder()
.id("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.status(PortoutUpdateStatusParams.Status.AUTHORIZED)
.reason("I do not recognize this transaction")
.build();
PortoutUpdateStatusResponse response = client.portouts().updateStatus(params);返回字段: (boolean), (string), (string), (string), (string), (string), (string), (string), (boolean), (string), (string), (array[string]), (array[string]), (string), (string | null), (string), (integer), (string), (string), (string), (string), (enum: pending, authorized, ported, rejected, rejected-pending, canceled), (string), (string), (uuid), (uuid), (string)
already_portedauthorized_namecarrier_namecitycreated_atcurrent_carrierend_user_namefoc_datehost_messagingidinserted_atlsrphone_numbersponreasonrecord_typerejection_coderequested_foc_dateservice_addressspidstatestatussupport_keyupdated_atuser_idvendorzip