zernio-sdk 0.0.830 → 0.0.832

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c7fd0b371a0accafb9fdeea270ee98d73329d3351a4ebbd84bb4a948889b414f
4
- data.tar.gz: aac25418ea74a172b42d62d6ec291e8d784dcbded3a90d055d17f812eff35d7d
3
+ metadata.gz: 61f77fdd54e926a7230ea74ace3606ebb4d0d9a46d1a76a0fabb1c3079a73579
4
+ data.tar.gz: b1a1985fc31ab357de075c7a1f77c81d38be1e8c6a02d3d3e514fea11164bbde
5
5
  SHA512:
6
- metadata.gz: 58b7fc738fd83a161b2993a7159d170b67ad4ccdeacfafc68880ab009f6f6961f63b44cfe42790cd8359584c080d5ed73327b48d983a4c41da083e6a9152364d
7
- data.tar.gz: e3385b8b195c68a653729ef0de1bbcea618910a55e0f630263760ded658dbfb2e699861da6924d26c166db099bf0df409e0d0910434b4c99a9b46e12aaaee6ef
6
+ metadata.gz: 388f00ec6f368ebacb57e09663e0c74b1327cd08e47bca54501530fff1efad3764550ff0b781d82e1ac20567f35ec42fe9ab404a30f2625ac5a1879da8f35e85
7
+ data.tar.gz: 478580308ff1116844c228018be43cd19a6bc7ce67f7555f5b815be3ca47998d937ec66825a970ac3e03e139d6e3ff2bc41c9d1904a4fea7cbf3f412c1e8853d
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **code** | **String** | ISO 3166-1 alpha-2 | [optional] |
8
8
  | **tier** | **Integer** | | [optional] |
9
- | **monthly_cents** | **Integer** | | [optional] |
9
+ | **monthly_cents** | **Integer** | Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3. | [optional] |
10
10
  | **needs_kyc** | **Boolean** | | [optional] |
11
11
  | **calls_available** | **Boolean** | Regular phone (PSTN) calling on the number, inbound + outbound. Available on every offerable country. | [optional] |
12
12
  | **whatsapp_available** | **Boolean** | WhatsApp can be enabled on numbers from this country. | [optional] |
@@ -7,7 +7,7 @@
7
7
  | **number_type** | **String** | | [optional] |
8
8
  | **tier** | **Integer** | | [optional] |
9
9
  | **needs_kyc** | **Boolean** | | [optional] |
10
- | **monthly_cents** | **Integer** | | [optional] |
10
+ | **monthly_cents** | **Integer** | Price a NEW number of this type costs per month, in cents. | [optional] |
11
11
  | **whatsapp_available** | **Boolean** | Always false for toll_free (WhatsApp does not reliably register toll-free numbers). | [optional] |
12
12
  | **sms_available** | **Boolean** | | [optional] |
13
13
  | **calls_available** | **Boolean** | | [optional] |
@@ -10,7 +10,7 @@
10
10
  | **status** | **String** | | [optional] |
11
11
  | **registrant_name** | **String** | For regulated numbers, who it's registered for (company or person) — set from the submitted KYC. | [optional] |
12
12
  | **telnyx_order_id** | **String** | Present once the number order has been placed (i.e. the requirement group was approved). Absent while still in identity review. | [optional] |
13
- | **monthly_cents** | **Integer** | Per-country monthly price in cents ($2..$25). | [optional] |
13
+ | **monthly_cents** | **Integer** | What this number bills each month, in cents. Stamped when the number was bought, so an existing number keeps its price when the rate card changes. | [optional] |
14
14
  | **hosted_by_zernio** | **Boolean** | False for numbers you brought yourself (connected via Meta embedded signup) — they live on your own carrier, so SMS/Calls can't be enabled on them. | [optional] |
15
15
  | **sip_trunk_id** | **String** | SIP trunk the number is attached to; null when not trunked. While attached, enabling Calls or WhatsApp calling, requesting WhatsApp verification, and releasing the number all return 409. | [optional] |
16
16
  | **profile_id** | **Object** | | [optional] |
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **code** | **String** | ISO 3166-1 alpha-2 | [optional] |
8
8
  | **tier** | **Integer** | | [optional] |
9
- | **monthly_cents** | **Integer** | | [optional] |
9
+ | **monthly_cents** | **Integer** | Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3. | [optional] |
10
10
  | **needs_kyc** | **Boolean** | | [optional] |
11
11
  | **outbound_calling_available** | **Boolean** | | [optional] |
12
12
 
data/docs/MessagesApi.md CHANGED
@@ -329,7 +329,7 @@ Zernio.configure do |config|
329
329
  end
330
330
 
331
331
  api_instance = Zernio::MessagesApi.new
332
- conversation_id = 'conversation_id_example' # String | The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
332
+ conversation_id = 'conversation_id_example' # String | Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
333
333
  account_id = 'account_id_example' # String | The social account ID
334
334
 
335
335
  begin
@@ -363,7 +363,7 @@ end
363
363
 
364
364
  | Name | Type | Description | Notes |
365
365
  | ---- | ---- | ----------- | ----- |
366
- | **conversation_id** | **String** | The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID. | |
366
+ | **conversation_id** | **String** | Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed. | |
367
367
  | **account_id** | **String** | The social account ID | |
368
368
 
369
369
  ### Return type
@@ -400,7 +400,7 @@ Zernio.configure do |config|
400
400
  end
401
401
 
402
402
  api_instance = Zernio::MessagesApi.new
403
- conversation_id = 'conversation_id_example' # String | The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
403
+ conversation_id = 'conversation_id_example' # String | Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
404
404
  account_id = 'account_id_example' # String | Social account ID
405
405
  opts = {
406
406
  limit: 56, # Integer | Number of messages to return per page. Default 100, max 100.
@@ -439,7 +439,7 @@ end
439
439
 
440
440
  | Name | Type | Description | Notes |
441
441
  | ---- | ---- | ----------- | ----- |
442
- | **conversation_id** | **String** | The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID. | |
442
+ | **conversation_id** | **String** | Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed. | |
443
443
  | **account_id** | **String** | Social account ID | |
444
444
  | **limit** | **Integer** | Number of messages to return per page. Default 100, max 100. | [optional][default to 100] |
445
445
  | **cursor** | **String** | Opaque pagination cursor. Pass `pagination.nextCursor` from a prior response verbatim: a cursor we cannot parse returns 400 rather than silently restarting from the first page. | [optional] |
@@ -1014,7 +1014,7 @@ Zernio.configure do |config|
1014
1014
  end
1015
1015
 
1016
1016
  api_instance = Zernio::MessagesApi.new
1017
- conversation_id = 'conversation_id_example' # String | The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
1017
+ conversation_id = 'conversation_id_example' # String | Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
1018
1018
  update_inbox_conversation_request = Zernio::UpdateInboxConversationRequest.new({account_id: 'account_id_example', status: 'active'}) # UpdateInboxConversationRequest |
1019
1019
 
1020
1020
  begin
@@ -1048,7 +1048,7 @@ end
1048
1048
 
1049
1049
  | Name | Type | Description | Notes |
1050
1050
  | ---- | ---- | ----------- | ----- |
1051
- | **conversation_id** | **String** | The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID. | |
1051
+ | **conversation_id** | **String** | Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed. | |
1052
1052
  | **update_inbox_conversation_request** | [**UpdateInboxConversationRequest**](UpdateInboxConversationRequest.md) | | |
1053
1053
 
1054
1054
  ### Return type
@@ -1149,7 +1149,7 @@ end
1149
1149
 
1150
1150
  Purchase phone number
1151
1151
 
1152
- Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
1152
+ Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that country and `numberType` at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
1153
1153
 
1154
1154
  ### Examples
1155
1155
 
@@ -660,7 +660,7 @@ end
660
660
 
661
661
  Purchase phone number
662
662
 
663
- Deprecated alias of `/v1/phone-numbers/purchase`; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
663
+ Deprecated alias of `/v1/phone-numbers/purchase`; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that country and `numberType` at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
664
664
 
665
665
  ### Examples
666
666
 
@@ -325,7 +325,7 @@ module Zernio
325
325
 
326
326
  # Get conversation
327
327
  # Retrieve details and metadata for a specific conversation. Requires accountId query parameter.
328
- # @param conversation_id [String] The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
328
+ # @param conversation_id [String] Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
329
329
  # @param account_id [String] The social account ID
330
330
  # @param [Hash] opts the optional parameters
331
331
  # @return [GetInboxConversation200Response]
@@ -336,7 +336,7 @@ module Zernio
336
336
 
337
337
  # Get conversation
338
338
  # Retrieve details and metadata for a specific conversation. Requires accountId query parameter.
339
- # @param conversation_id [String] The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
339
+ # @param conversation_id [String] Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
340
340
  # @param account_id [String] The social account ID
341
341
  # @param [Hash] opts the optional parameters
342
342
  # @return [Array<(GetInboxConversation200Response, Integer, Hash)>] GetInboxConversation200Response data, response status code and response headers
@@ -395,7 +395,7 @@ module Zernio
395
395
 
396
396
  # List messages
397
397
  # Fetch messages for a specific conversation, with cursor-based pagination and ordering control. Pagination: pass `pagination.nextCursor` from a prior response back as the `cursor` query param to fetch the next page. The cursor is opaque; do not parse or construct it client-side. Sort order: defaults to `asc` (oldest first, chat style). For the \"show me the latest messages\" pattern, pass `?sortOrder=desc&limit=N`. Twitter, Instagram, Telegram, WhatsApp and Reddit honor the requested order from the local message store. For Facebook and Bluesky, the upstream APIs only return newest-first and have no order parameter — sort order is best-effort and only reverses items within a single page (pages still walk newest→oldest). The response field `sortOrderApplied` tells you what was actually applied. Reddit threads are paginated client-side because Reddit's API has no per-thread cursor. Very long threads may be upstream-truncated by Reddit's inbox/sent windows (~100 most-recent items each); this is a Reddit platform limitation. Instagram and Facebook conversations include history from before the account was connected, replayed from Meta. That replay covers the 500 most recent messages per conversation: a longer thread keeps its newest 500 and older messages are not retrievable. Messages that arrived after the account was connected are unaffected. Replayed messages are stored as already read and emit no webhooks. Twitter/X limitation: X's encrypted \"X Chat\" messages are not accessible via the API. Conversations where the other participant uses encrypted X Chat may only show your outgoing messages. See the list conversations endpoint for more details. This endpoint is read-only and does NOT mark messages as read or send read receipts. To mark a conversation read (and send WhatsApp blue ticks on eligible accounts), call `POST /v1/inbox/conversations/{conversationId}/read`.
398
- # @param conversation_id [String] The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
398
+ # @param conversation_id [String] Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
399
399
  # @param account_id [String] Social account ID
400
400
  # @param [Hash] opts the optional parameters
401
401
  # @option opts [Integer] :limit Number of messages to return per page. Default 100, max 100. (default to 100)
@@ -409,7 +409,7 @@ module Zernio
409
409
 
410
410
  # List messages
411
411
  # Fetch messages for a specific conversation, with cursor-based pagination and ordering control. Pagination: pass &#x60;pagination.nextCursor&#x60; from a prior response back as the &#x60;cursor&#x60; query param to fetch the next page. The cursor is opaque; do not parse or construct it client-side. Sort order: defaults to &#x60;asc&#x60; (oldest first, chat style). For the \&quot;show me the latest messages\&quot; pattern, pass &#x60;?sortOrder&#x3D;desc&amp;limit&#x3D;N&#x60;. Twitter, Instagram, Telegram, WhatsApp and Reddit honor the requested order from the local message store. For Facebook and Bluesky, the upstream APIs only return newest-first and have no order parameter — sort order is best-effort and only reverses items within a single page (pages still walk newest→oldest). The response field &#x60;sortOrderApplied&#x60; tells you what was actually applied. Reddit threads are paginated client-side because Reddit&#39;s API has no per-thread cursor. Very long threads may be upstream-truncated by Reddit&#39;s inbox/sent windows (~100 most-recent items each); this is a Reddit platform limitation. Instagram and Facebook conversations include history from before the account was connected, replayed from Meta. That replay covers the 500 most recent messages per conversation: a longer thread keeps its newest 500 and older messages are not retrievable. Messages that arrived after the account was connected are unaffected. Replayed messages are stored as already read and emit no webhooks. Twitter/X limitation: X&#39;s encrypted \&quot;X Chat\&quot; messages are not accessible via the API. Conversations where the other participant uses encrypted X Chat may only show your outgoing messages. See the list conversations endpoint for more details. This endpoint is read-only and does NOT mark messages as read or send read receipts. To mark a conversation read (and send WhatsApp blue ticks on eligible accounts), call &#x60;POST /v1/inbox/conversations/{conversationId}/read&#x60;.
412
- # @param conversation_id [String] The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
412
+ # @param conversation_id [String] Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
413
413
  # @param account_id [String] Social account ID
414
414
  # @param [Hash] opts the optional parameters
415
415
  # @option opts [Integer] :limit Number of messages to return per page. Default 100, max 100. (default to 100)
@@ -1088,7 +1088,7 @@ module Zernio
1088
1088
 
1089
1089
  # Update conversation status
1090
1090
  # Archive or activate a conversation. Requires accountId in request body.
1091
- # @param conversation_id [String] The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
1091
+ # @param conversation_id [String] Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
1092
1092
  # @param update_inbox_conversation_request [UpdateInboxConversationRequest]
1093
1093
  # @param [Hash] opts the optional parameters
1094
1094
  # @return [UpdateInboxConversation200Response]
@@ -1099,7 +1099,7 @@ module Zernio
1099
1099
 
1100
1100
  # Update conversation status
1101
1101
  # Archive or activate a conversation. Requires accountId in request body.
1102
- # @param conversation_id [String] The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
1102
+ # @param conversation_id [String] Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
1103
1103
  # @param update_inbox_conversation_request [UpdateInboxConversationRequest]
1104
1104
  # @param [Hash] opts the optional parameters
1105
1105
  # @return [Array<(UpdateInboxConversation200Response, Integer, Hash)>] UpdateInboxConversation200Response data, response status code and response headers
@@ -1065,7 +1065,7 @@ module Zernio
1065
1065
  end
1066
1066
 
1067
1067
  # Purchase phone number
1068
- # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
1068
+ # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that country and `numberType` at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
1069
1069
  # @param purchase_phone_number_request [PurchasePhoneNumberRequest]
1070
1070
  # @param [Hash] opts the optional parameters
1071
1071
  # @return [PurchasePhoneNumber200Response]
@@ -1075,7 +1075,7 @@ module Zernio
1075
1075
  end
1076
1076
 
1077
1077
  # Purchase phone number
1078
- # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
1078
+ # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. The monthly price is the one &#x60;GET /v1/phone-numbers/countries&#x60; quotes for that country and &#x60;numberType&#x60; at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
1079
1079
  # @param purchase_phone_number_request [PurchasePhoneNumberRequest]
1080
1080
  # @param [Hash] opts the optional parameters
1081
1081
  # @return [Array<(PurchasePhoneNumber200Response, Integer, Hash)>] PurchasePhoneNumber200Response data, response status code and response headers
@@ -621,7 +621,7 @@ module Zernio
621
621
  end
622
622
 
623
623
  # Purchase phone number
624
- # Deprecated alias of `/v1/phone-numbers/purchase`; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
624
+ # Deprecated alias of `/v1/phone-numbers/purchase`; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`; a regulated country returns `202` with `status: \"kyc_required\"` and a `kycUrl`. The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that country and `numberType` at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user's plan.
625
625
  # @param purchase_whats_app_phone_number_request [PurchaseWhatsAppPhoneNumberRequest]
626
626
  # @param [Hash] opts the optional parameters
627
627
  # @return [PurchaseWhatsAppPhoneNumber200Response]
@@ -631,7 +631,7 @@ module Zernio
631
631
  end
632
632
 
633
633
  # Purchase phone number
634
- # Deprecated alias of &#x60;/v1/phone-numbers/purchase&#x60;; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
634
+ # Deprecated alias of &#x60;/v1/phone-numbers/purchase&#x60;; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. The monthly price is the one &#x60;GET /v1/phone-numbers/countries&#x60; quotes for that country and &#x60;numberType&#x60; at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
635
635
  # @param purchase_whats_app_phone_number_request [PurchaseWhatsAppPhoneNumberRequest]
636
636
  # @param [Hash] opts the optional parameters
637
637
  # @return [Array<(PurchaseWhatsAppPhoneNumber200Response, Integer, Hash)>] PurchaseWhatsAppPhoneNumber200Response data, response status code and response headers
@@ -20,6 +20,7 @@ module Zernio
20
20
 
21
21
  attr_accessor :tier
22
22
 
23
+ # Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3.
23
24
  attr_accessor :monthly_cents
24
25
 
25
26
  attr_accessor :needs_kyc
@@ -21,6 +21,7 @@ module Zernio
21
21
 
22
22
  attr_accessor :needs_kyc
23
23
 
24
+ # Price a NEW number of this type costs per month, in cents.
24
25
  attr_accessor :monthly_cents
25
26
 
26
27
  # Always false for toll_free (WhatsApp does not reliably register toll-free numbers).
@@ -29,7 +29,7 @@ module Zernio
29
29
  # Present once the number order has been placed (i.e. the requirement group was approved). Absent while still in identity review.
30
30
  attr_accessor :telnyx_order_id
31
31
 
32
- # Per-country monthly price in cents ($2..$25).
32
+ # What this number bills each month, in cents. Stamped when the number was bought, so an existing number keeps its price when the rate card changes.
33
33
  attr_accessor :monthly_cents
34
34
 
35
35
  # False for numbers you brought yourself (connected via Meta embedded signup) — they live on your own carrier, so SMS/Calls can't be enabled on them.
@@ -20,6 +20,7 @@ module Zernio
20
20
 
21
21
  attr_accessor :tier
22
22
 
23
+ # Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3.
23
24
  attr_accessor :monthly_cents
24
25
 
25
26
  attr_accessor :needs_kyc
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.830'
14
+ VERSION = '0.0.832'
15
15
  end
data/openapi.yaml CHANGED
@@ -27032,7 +27032,7 @@ paths:
27032
27032
  in: path
27033
27033
  required: true
27034
27034
  schema: { type: string }
27035
- description: The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
27035
+ description: 'Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.'
27036
27036
  - name: accountId
27037
27037
  in: query
27038
27038
  required: true
@@ -27169,7 +27169,7 @@ paths:
27169
27169
  in: path
27170
27170
  required: true
27171
27171
  schema: { type: string }
27172
- description: The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
27172
+ description: 'Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.'
27173
27173
  requestBody:
27174
27174
  required: true
27175
27175
  content:
@@ -27249,7 +27249,7 @@ paths:
27249
27249
  in: path
27250
27250
  required: true
27251
27251
  schema: { type: string }
27252
- description: The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
27252
+ description: 'Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.'
27253
27253
  - name: accountId
27254
27254
  in: query
27255
27255
  required: true
@@ -33947,7 +33947,7 @@ paths:
33947
33947
  status: { type: string, enum: [pending_payment, pending_regulatory, regulatory_declined, provisioning, verifying, active, suspended, releasing, released] }
33948
33948
  registrantName: { type: [string, "null"], description: "For regulated numbers, who it's registered for (company or person) — set from the submitted KYC." }
33949
33949
  telnyxOrderId: { type: [string, "null"], description: Present once the number order has been placed (i.e. the requirement group was approved). Absent while still in identity review. }
33950
- monthlyCents: { type: integer, description: Per-country monthly price in cents ($2..$25). }
33950
+ monthlyCents: { type: integer, description: "What this number bills each month, in cents. Stamped when the number was bought, so an existing number keeps its price when the rate card changes." }
33951
33951
  hostedByZernio: { type: boolean, description: "False for numbers you brought yourself (connected via Meta embedded signup) — they live on your own carrier, so SMS/Calls can't be enabled on them." }
33952
33952
  sipTrunkId: { type: [string, "null"], description: 'SIP trunk the number is attached to; null when not trunked. While attached, enabling Calls or WhatsApp calling, requesting WhatsApp verification, and releasing the number all return 409.' }
33953
33953
  profileId: { type: object }
@@ -34097,6 +34097,10 @@ paths:
34097
34097
  no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`;
34098
34098
  a regulated country returns `202` with `status: "kyc_required"` and a `kycUrl`.
34099
34099
 
34100
+ The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that
34101
+ country and `numberType` at the time of purchase, and it is stamped on the number:
34102
+ later rate-card changes never move a number you already own.
34103
+
34100
34104
  Requires usage-based billing (the Usage plan). The maximum number of phone numbers
34101
34105
  is determined by the user's plan.
34102
34106
  security:
@@ -34299,7 +34303,7 @@ paths:
34299
34303
  properties:
34300
34304
  code: { type: string, description: ISO 3166-1 alpha-2 }
34301
34305
  tier: { type: integer, enum: [1, 2, 3, 4] }
34302
- monthlyCents: { type: integer }
34306
+ monthlyCents: { type: integer, description: "Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3." }
34303
34307
  needsKyc: { type: boolean }
34304
34308
  callsAvailable: { type: boolean, description: "Regular phone (PSTN) calling on the number, inbound + outbound. Available on every offerable country." }
34305
34309
  whatsappAvailable: { type: boolean, description: WhatsApp can be enabled on numbers from this country. }
@@ -34320,7 +34324,7 @@ paths:
34320
34324
  numberType: { type: string, enum: [local, mobile, national, toll_free] }
34321
34325
  tier: { type: integer, enum: [1, 2, 3, 4] }
34322
34326
  needsKyc: { type: boolean }
34323
- monthlyCents: { type: integer }
34327
+ monthlyCents: { type: integer, description: "Price a NEW number of this type costs per month, in cents." }
34324
34328
  whatsappAvailable: { type: boolean, description: "Always false for toll_free (WhatsApp does not reliably register toll-free numbers)." }
34325
34329
  smsAvailable: { type: boolean }
34326
34330
  callsAvailable: { type: boolean }
@@ -34491,7 +34495,7 @@ paths:
34491
34495
  status: { type: string, enum: [pending_payment, pending_regulatory, regulatory_declined, provisioning, verifying, active, suspended, releasing, released] }
34492
34496
  registrantName: { type: [string, "null"], description: "For regulated numbers, who it's registered for (company or person) — set from the submitted KYC." }
34493
34497
  telnyxOrderId: { type: [string, "null"], description: Present once the number order has been placed (i.e. the requirement group was approved). Absent while still in identity review. }
34494
- monthlyCents: { type: integer, description: Per-country monthly price in cents ($2..$25). }
34498
+ monthlyCents: { type: integer, description: "What this number bills each month, in cents. Stamped when the number was bought, so an existing number keeps its price when the rate card changes." }
34495
34499
  hostedByZernio: { type: boolean, description: "False for numbers you brought yourself (connected via Meta embedded signup) — they live on your own carrier, so SMS/Calls can't be enabled on them." }
34496
34500
  sipTrunkId: { type: [string, "null"], description: 'SIP trunk the number is attached to; null when not trunked. While attached, enabling Calls or WhatsApp calling, requesting WhatsApp verification, and releasing the number all return 409.' }
34497
34501
  profileId: { type: object }
@@ -34557,6 +34561,10 @@ paths:
34557
34561
  no checkout redirect). No payment method on file returns `402 PAYMENT_REQUIRED`;
34558
34562
  a regulated country returns `202` with `status: "kyc_required"` and a `kycUrl`.
34559
34563
 
34564
+ The monthly price is the one `GET /v1/phone-numbers/countries` quotes for that
34565
+ country and `numberType` at the time of purchase, and it is stamped on the number:
34566
+ later rate-card changes never move a number you already own.
34567
+
34560
34568
  Requires usage-based billing (the Usage plan). The maximum number of phone numbers
34561
34569
  is determined by the user's plan.
34562
34570
  security:
@@ -34700,7 +34708,7 @@ paths:
34700
34708
  properties:
34701
34709
  code: { type: string, description: ISO 3166-1 alpha-2 }
34702
34710
  tier: { type: integer, enum: [1, 2, 3, 4] }
34703
- monthlyCents: { type: integer }
34711
+ monthlyCents: { type: integer, description: "Price a NEW number in this country costs per month, in cents, for the default (first) type. 1.5x the carrier's monthly cost, rounded up to a whole dollar, minimum $3." }
34704
34712
  needsKyc: { type: boolean }
34705
34713
  outboundCallingAvailable: { type: boolean }
34706
34714
  '401': { $ref: '#/components/responses/Unauthorized' }
@@ -89,7 +89,7 @@ describe 'MessagesApi' do
89
89
  # unit tests for get_inbox_conversation
90
90
  # Get conversation
91
91
  # Retrieve details and metadata for a specific conversation. Requires accountId query parameter.
92
- # @param conversation_id The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
92
+ # @param conversation_id Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
93
93
  # @param account_id The social account ID
94
94
  # @param [Hash] opts the optional parameters
95
95
  # @return [GetInboxConversation200Response]
@@ -102,7 +102,7 @@ describe 'MessagesApi' do
102
102
  # unit tests for get_inbox_conversation_messages
103
103
  # List messages
104
104
  # Fetch messages for a specific conversation, with cursor-based pagination and ordering control. Pagination: pass &#x60;pagination.nextCursor&#x60; from a prior response back as the &#x60;cursor&#x60; query param to fetch the next page. The cursor is opaque; do not parse or construct it client-side. Sort order: defaults to &#x60;asc&#x60; (oldest first, chat style). For the \&quot;show me the latest messages\&quot; pattern, pass &#x60;?sortOrder&#x3D;desc&amp;limit&#x3D;N&#x60;. Twitter, Instagram, Telegram, WhatsApp and Reddit honor the requested order from the local message store. For Facebook and Bluesky, the upstream APIs only return newest-first and have no order parameter — sort order is best-effort and only reverses items within a single page (pages still walk newest→oldest). The response field &#x60;sortOrderApplied&#x60; tells you what was actually applied. Reddit threads are paginated client-side because Reddit&#39;s API has no per-thread cursor. Very long threads may be upstream-truncated by Reddit&#39;s inbox/sent windows (~100 most-recent items each); this is a Reddit platform limitation. Instagram and Facebook conversations include history from before the account was connected, replayed from Meta. That replay covers the 500 most recent messages per conversation: a longer thread keeps its newest 500 and older messages are not retrievable. Messages that arrived after the account was connected are unaffected. Replayed messages are stored as already read and emit no webhooks. Twitter/X limitation: X&#39;s encrypted \&quot;X Chat\&quot; messages are not accessible via the API. Conversations where the other participant uses encrypted X Chat may only show your outgoing messages. See the list conversations endpoint for more details. This endpoint is read-only and does NOT mark messages as read or send read receipts. To mark a conversation read (and send WhatsApp blue ticks on eligible accounts), call &#x60;POST /v1/inbox/conversations/{conversationId}/read&#x60;.
105
- # @param conversation_id The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
105
+ # @param conversation_id Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
106
106
  # @param account_id Social account ID
107
107
  # @param [Hash] opts the optional parameters
108
108
  # @option opts [Integer] :limit Number of messages to return per page. Default 100, max 100.
@@ -224,7 +224,7 @@ describe 'MessagesApi' do
224
224
  # unit tests for update_inbox_conversation
225
225
  # Update conversation status
226
226
  # Archive or activate a conversation. Requires accountId in request body.
227
- # @param conversation_id The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
227
+ # @param conversation_id Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
228
228
  # @param update_inbox_conversation_request
229
229
  # @param [Hash] opts the optional parameters
230
230
  # @return [UpdateInboxConversation200Response]
@@ -226,7 +226,7 @@ describe 'PhoneNumbersApi' do
226
226
 
227
227
  # unit tests for purchase_phone_number
228
228
  # Purchase phone number
229
- # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
229
+ # Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. The monthly price is the one &#x60;GET /v1/phone-numbers/countries&#x60; quotes for that country and &#x60;numberType&#x60; at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
230
230
  # @param purchase_phone_number_request
231
231
  # @param [Hash] opts the optional parameters
232
232
  # @return [PurchasePhoneNumber200Response]
@@ -146,7 +146,7 @@ describe 'WhatsAppPhoneNumbersApi' do
146
146
 
147
147
  # unit tests for purchase_whats_app_phone_number
148
148
  # Purchase phone number
149
- # Deprecated alias of &#x60;/v1/phone-numbers/purchase&#x60;; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
149
+ # Deprecated alias of &#x60;/v1/phone-numbers/purchase&#x60;; same contract. New integrations should use that path. Payment-first: you do not pick a specific number, the system provisions one and auto-assigns it. With usage-based billing active and a payment method on file, the number provisions inline and bills per month on your usage-based invoice (there is no checkout redirect). No payment method on file returns &#x60;402 PAYMENT_REQUIRED&#x60;; a regulated country returns &#x60;202&#x60; with &#x60;status: \&quot;kyc_required\&quot;&#x60; and a &#x60;kycUrl&#x60;. The monthly price is the one &#x60;GET /v1/phone-numbers/countries&#x60; quotes for that country and &#x60;numberType&#x60; at the time of purchase, and it is stamped on the number: later rate-card changes never move a number you already own. Requires usage-based billing (the Usage plan). The maximum number of phone numbers is determined by the user&#39;s plan.
150
150
  # @param purchase_whats_app_phone_number_request
151
151
  # @param [Hash] opts the optional parameters
152
152
  # @return [PurchaseWhatsAppPhoneNumber200Response]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zernio-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.830
4
+ version: 0.0.832
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator