0

List all porting orders

by
Published Apr 8, 2025

Returns a list of your porting order.

Script telnyx Verified

The script

Submitted by hugo697 Bun
Verified 428 days ago
1
//native
2
type Telnyx = {
3
	apiKey: string
4
}
5
/**
6
 * List all porting orders
7
 * Returns a list of your porting order.
8
 */
9
export async function main(
10
	auth: Telnyx,
11
	page_number_: string | undefined,
12
	page_size_: string | undefined,
13
	include_phone_numbers: string | undefined,
14
	filter_status_:
15
		| 'draft'
16
		| 'in-process'
17
		| 'submitted'
18
		| 'exception'
19
		| 'foc-date-confirmed'
20
		| 'cancel-pending'
21
		| 'ported'
22
		| 'cancelled'
23
		| undefined,
24
	filter_status__in___:
25
		| 'draft'
26
		| 'in-process'
27
		| 'submitted'
28
		| 'exception'
29
		| 'foc-date-confirmed'
30
		| 'cancel-pending'
31
		| 'ported'
32
		| 'cancelled'
33
		| undefined,
34
	filter_customer_reference_: string | undefined,
35
	filter_parent_support_key_: string | undefined,
36
	filter_phone_numbers_country_code_: string | undefined,
37
	filter_phone_numbers_carrier_name_: string | undefined,
38
	filter_misc_type_: 'full' | 'partial' | undefined,
39
	filter_end_user_admin_entity_name_: string | undefined,
40
	filter_end_user_admin_auth_person_name_: string | undefined,
41
	filter_activation_settings_fast_port_eligible_: string | undefined,
42
	filter_activation_settings_foc_datetime_requested__gt_: string | undefined,
43
	filter_activation_settings_foc_datetime_requested__lt_: string | undefined,
44
	filter_phone_numbers_phone_number__contains_: string | undefined,
45
	sort__:
46
		| 'created_at'
47
		| '-created_at'
48
		| 'activation_settings.foc_datetime_requested'
49
		| '-activation_settings.foc_datetime_requested'
50
		| undefined
51
) {
52
	const url = new URL(`https://api.telnyx.com/v2/porting_orders`)
53
	for (const [k, v] of [
54
		['page[number]', page_number_],
55
		['page[size]', page_size_],
56
		['include_phone_numbers', include_phone_numbers],
57
		['filter[status]', filter_status_],
58
		['filter[status][in][]', filter_status__in___],
59
		['filter[customer_reference]', filter_customer_reference_],
60
		['filter[parent_support_key]', filter_parent_support_key_],
61
		['filter[phone_numbers.country_code]', filter_phone_numbers_country_code_],
62
		['filter[phone_numbers.carrier_name]', filter_phone_numbers_carrier_name_],
63
		['filter[misc.type]', filter_misc_type_],
64
		['filter[end_user.admin.entity_name]', filter_end_user_admin_entity_name_],
65
		['filter[end_user.admin.auth_person_name]', filter_end_user_admin_auth_person_name_],
66
		[
67
			'filter[activation_settings.fast_port_eligible]',
68
			filter_activation_settings_fast_port_eligible_
69
		],
70
		[
71
			'filter[activation_settings.foc_datetime_requested][gt]',
72
			filter_activation_settings_foc_datetime_requested__gt_
73
		],
74
		[
75
			'filter[activation_settings.foc_datetime_requested][lt]',
76
			filter_activation_settings_foc_datetime_requested__lt_
77
		],
78
		['filter[phone_numbers.phone_number][contains]', filter_phone_numbers_phone_number__contains_],
79
		['sort[]', sort__]
80
	]) {
81
		if (v !== undefined && v !== '' && k !== undefined) {
82
			url.searchParams.append(k, v)
83
		}
84
	}
85
	const response = await fetch(url, {
86
		method: 'GET',
87
		headers: {
88
			Authorization: 'Bearer ' + auth.apiKey
89
		},
90
		body: undefined
91
	})
92
	if (!response.ok) {
93
		const text = await response.text()
94
		throw new Error(`${response.status} ${text}`)
95
	}
96
	return await response.json()
97
}
98