Class: Telnyx::Resources::Enterprises::Reputation::Numbers

Inherits:
Object
  • Object
show all
Defined in:
lib/telnyx/resources/enterprises/reputation/numbers.rb

Overview

Phone-number reputation monitoring (spam-score lookup and tracking).

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Numbers

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Numbers.

Parameters:



188
189
190
# File 'lib/telnyx/resources/enterprises/reputation/numbers.rb', line 188

def initialize(client:)
  @client = client
end

Instance Method Details

#associate(enterprise_id, phone_numbers:, request_options: {}) ⇒ Telnyx::Models::Enterprises::Reputation::NumberAssociateResponse

Add up to 100 phone numbers to reputation monitoring on this enterprise. Each must be in E.164 format (‘+1NPANXXXXXX` for US/CA) and belong to your Telnyx phone-number inventory.

Prerequisite: reputation must already be enabled on this enterprise (see ‘POST …/reputation`).

Pricing: This is a billable action. See telnyx.com/pricing/numbers for current pricing.

Parameters:

  • enterprise_id (String)

    The enterprise id. Lowercase UUID.

  • phone_numbers (Array<String>)

    1–100 phone numbers in E.164 format with a leading ‘+`.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



109
110
111
112
113
114
115
116
117
118
# File 'lib/telnyx/resources/enterprises/reputation/numbers.rb', line 109

def associate(enterprise_id, params)
  parsed, options = Telnyx::Enterprises::Reputation::NumberAssociateParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["enterprises/%1$s/reputation/numbers", enterprise_id],
    body: parsed,
    model: Telnyx::Models::Enterprises::Reputation::NumberAssociateResponse,
    options: options
  )
end

#disassociate(phone_number, enterprise_id:, request_options: {}) ⇒ nil

Some parameter documentations has been truncated, see Models::Enterprises::Reputation::NumberDisassociateParams for more details.

Stop tracking the reputation of this phone number. The number itself remains in your inventory; only the reputation registration is removed.

Parameters:

  • phone_number (String)

    Phone number in E.164 format (‘+1NPANXXXXXX` for US/CA). The leading `+` MUST be

  • enterprise_id (String)

    The enterprise id. Lowercase UUID.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (nil)

See Also:



138
139
140
141
142
143
144
145
146
147
148
149
150
# File 'lib/telnyx/resources/enterprises/reputation/numbers.rb', line 138

def disassociate(phone_number, params)
  parsed, options = Telnyx::Enterprises::Reputation::NumberDisassociateParams.dump_request(params)
  enterprise_id =
    parsed.delete(:enterprise_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :delete,
    path: ["enterprises/%1$s/reputation/numbers/%2$s", enterprise_id, phone_number],
    model: NilClass,
    options: options
  )
end

#list(enterprise_id, filter_phone_number_contains: nil, filter_phone_number_eq: nil, page_number: nil, page_size: nil, request_options: {}) ⇒ Telnyx::Internal::DefaultFlatPagination<Telnyx::Models::Enterprises::Reputation::NumberListResponse>

Some parameter documentations has been truncated, see Models::Enterprises::Reputation::NumberListParams for more details.

Paginated list of phone numbers registered for reputation monitoring under this enterprise. The response includes the latest reputation snapshot per number where one has been collected.

Parameters:

  • enterprise_id (String)

    The enterprise id. Lowercase UUID.

  • filter_phone_number_contains (String)

    Partial match on phone number. Must contain at least 5 digits.

  • filter_phone_number_eq (String)

    Exact phone-number match (E.164).

  • page_number (Integer)

    1-based page number. Out-of-range values return an empty page with correct meta.

  • page_size (Integer)

    Items per page. Default 10. Maximum 250; values above are clamped to 250.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/telnyx/resources/enterprises/reputation/numbers.rb', line 70

def list(enterprise_id, params = {})
  parsed, options = Telnyx::Enterprises::Reputation::NumberListParams.dump_request(params)
  query = Telnyx::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["enterprises/%1$s/reputation/numbers", enterprise_id],
    query: query.transform_keys(
      filter_phone_number_contains: "filter[phone_number][contains]",
      filter_phone_number_eq: "filter[phone_number][eq]",
      page_number: "page[number]",
      page_size: "page[size]"
    ),
    page: Telnyx::Internal::DefaultFlatPagination,
    model: Telnyx::Models::Enterprises::Reputation::NumberListResponse,
    options: options
  )
end

#refresh(enterprise_id, phone_numbers:, request_options: {}) ⇒ Telnyx::Models::Enterprises::Reputation::NumberRefreshResponse

Some parameter documentations has been truncated, see Models::Enterprises::Reputation::NumberRefreshParams for more details.

Immediately refresh the stored reputation data for the listed numbers. This is in addition to the periodic refresh determined by ‘check_frequency`. Up to 100 numbers per call. The response carries the kicked-off jobs; the actual refresh runs asynchronously.

Pricing: Forcing a refresh performs live reputation lookups, which are billable. See telnyx.com/pricing/numbers for current pricing.

Parameters:

  • enterprise_id (String)

    The enterprise id. Lowercase UUID.

  • phone_numbers (Array<String>)

    Phone numbers to refresh reputation data for. 1–100 numbers per request, each in

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



174
175
176
177
178
179
180
181
182
183
# File 'lib/telnyx/resources/enterprises/reputation/numbers.rb', line 174

def refresh(enterprise_id, params)
  parsed, options = Telnyx::Enterprises::Reputation::NumberRefreshParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["enterprises/%1$s/reputation/numbers/refresh", enterprise_id],
    body: parsed,
    model: Telnyx::Models::Enterprises::Reputation::NumberRefreshResponse,
    options: options
  )
end

#retrieve(phone_number, enterprise_id:, fresh: nil, request_options: {}) ⇒ Telnyx::Models::Enterprises::Reputation::NumberRetrieveResponse

Some parameter documentations has been truncated, see Models::Enterprises::Reputation::NumberRetrieveParams for more details.

Retrieve one registered number with its latest reputation snapshot. The ‘phone_number` path parameter is in E.164 format and must be URL-encoded (e.g. `%2B19493253498`).

Parameters:

  • phone_number (String)

    Path param: Phone number in E.164 format (‘+1NPANXXXXXX` for US/CA). The leading

  • enterprise_id (String)

    Path param: The enterprise id. Lowercase UUID.

  • fresh (Boolean)

    Query param: When true, fetches fresh reputation data (incurs API cost). When fa

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/telnyx/resources/enterprises/reputation/numbers.rb', line 30

def retrieve(phone_number, params)
  parsed, options = Telnyx::Enterprises::Reputation::NumberRetrieveParams.dump_request(params)
  query = Telnyx::Internal::Util.encode_query_params(parsed)
  enterprise_id =
    parsed.delete(:enterprise_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["enterprises/%1$s/reputation/numbers/%2$s", enterprise_id, phone_number],
    query: query,
    model: Telnyx::Models::Enterprises::Reputation::NumberRetrieveResponse,
    options: options
  )
end