0

List portout requests

by
Published Apr 8, 2025

Returns the portout requests according to filters

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 portout requests
7
 * Returns the portout requests according to filters
8
 */
9
export async function main(
10
	auth: Telnyx,
11
	filter_carrier_name_: string | undefined,
12
	filter_spid_: string | undefined,
13
	filter_status_:
14
		| 'pending'
15
		| 'authorized'
16
		| 'ported'
17
		| 'rejected'
18
		| 'rejected-pending'
19
		| 'canceled'
20
		| undefined,
21
	filter_status_in_: string | undefined,
22
	filter_ported_out_at__gte_: string | undefined,
23
	filter_ported_out_at__lte_: string | undefined,
24
	filter_inserted_at__gte_: string | undefined,
25
	filter_inserted_at__lte_: string | undefined,
26
	filter_foc_date_: string | undefined,
27
	filter_phone_number_: string | undefined,
28
	filter_support_key_: string | undefined,
29
	page_number_: string | undefined,
30
	page_size_: string | undefined
31
) {
32
	const url = new URL(`https://api.telnyx.com/v2/portouts`)
33
	for (const [k, v] of [
34
		['filter[carrier_name]', filter_carrier_name_],
35
		['filter[spid]', filter_spid_],
36
		['filter[status]', filter_status_],
37
		['filter[status_in]', filter_status_in_],
38
		['filter[ported_out_at][gte]', filter_ported_out_at__gte_],
39
		['filter[ported_out_at][lte]', filter_ported_out_at__lte_],
40
		['filter[inserted_at][gte]', filter_inserted_at__gte_],
41
		['filter[inserted_at][lte]', filter_inserted_at__lte_],
42
		['filter[foc_date]', filter_foc_date_],
43
		['filter[phone_number]', filter_phone_number_],
44
		['filter[support_key]', filter_support_key_],
45
		['page[number]', page_number_],
46
		['page[size]', page_size_]
47
	]) {
48
		if (v !== undefined && v !== '' && k !== undefined) {
49
			url.searchParams.append(k, v)
50
		}
51
	}
52
	const response = await fetch(url, {
53
		method: 'GET',
54
		headers: {
55
			Authorization: 'Bearer ' + auth.apiKey
56
		},
57
		body: undefined
58
	})
59
	if (!response.ok) {
60
		const text = await response.text()
61
		throw new Error(`${response.status} ${text}`)
62
	}
63
	return await response.json()
64
}
65