late-sdk 0.0.786 → 0.0.788
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 +4 -4
- data/README.md +4 -0
- data/docs/AccountsApi.md +70 -0
- data/docs/CreateInboxConversationRequest.md +3 -1
- data/docs/CreateInboxConversationRequestHeaderLocation.md +24 -0
- data/docs/GetAccountPosts200Response.md +22 -0
- data/docs/GetAccountPosts200ResponsePostsInner.md +42 -0
- data/docs/MessagesApi.md +2 -2
- data/lib/zernio-sdk/api/accounts_api.rb +63 -0
- data/lib/zernio-sdk/api/messages_api.rb +4 -4
- data/lib/zernio-sdk/models/create_inbox_conversation_request.rb +13 -4
- data/lib/zernio-sdk/models/create_inbox_conversation_request_header_location.rb +213 -0
- data/lib/zernio-sdk/models/get_account_posts200_response.rb +201 -0
- data/lib/zernio-sdk/models/get_account_posts200_response_posts_inner.rb +262 -0
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +3 -0
- data/openapi.yaml +103 -1
- data/spec/api/accounts_api_spec.rb +12 -0
- data/spec/api/messages_api_spec.rb +2 -2
- data/spec/models/create_inbox_conversation_request_header_location_spec.rb +54 -0
- data/spec/models/create_inbox_conversation_request_spec.rb +6 -0
- data/spec/models/get_account_posts200_response_posts_inner_spec.rb +108 -0
- data/spec/models/get_account_posts200_response_spec.rb +52 -0
- data/zernio-sdk-0.0.788.gem +0 -0
- metadata +14 -2
- data/zernio-sdk-0.0.786.gem +0 -0
data/openapi.yaml
CHANGED
|
@@ -16651,6 +16651,80 @@ paths:
|
|
|
16651
16651
|
'400': { $ref: '#/components/responses/BadRequest' }
|
|
16652
16652
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
16653
16653
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
16654
|
+
/v1/accounts/{accountId}/posts:
|
|
16655
|
+
get:
|
|
16656
|
+
x-resource-group: "accounts"
|
|
16657
|
+
operationId: getAccountPosts
|
|
16658
|
+
tags: [Accounts]
|
|
16659
|
+
x-platforms: ["facebook", "instagram", "twitter", "bluesky", "threads", "youtube", "linkedin", "reddit", "tiktok", "pinterest"]
|
|
16660
|
+
summary: List posts published on the platform
|
|
16661
|
+
description: |
|
|
16662
|
+
Returns the 25 most recent posts that exist on the platform for a connected account, read
|
|
16663
|
+
live from the platform API. This covers everything on the account, including posts that
|
|
16664
|
+
were never created through Zernio.
|
|
16665
|
+
|
|
16666
|
+
Use it to obtain the platform's own post id, which the analytics endpoints take as input.
|
|
16667
|
+
On YouTube the returned `id` is the video ID that `GET /v1/analytics/youtube/daily-views`,
|
|
16668
|
+
`/video-retention` and `/demographics` expect as `videoId`, so this endpoint is what backs
|
|
16669
|
+
a video picker in your own UI.
|
|
16670
|
+
|
|
16671
|
+
Not every field applies to every platform: `reactionCount` is Facebook and LinkedIn,
|
|
16672
|
+
`shareCount` is platform dependent, `cid` is the Bluesky content id needed to reply, and
|
|
16673
|
+
`subreddit` is Reddit only. Absent fields are omitted from the response.
|
|
16674
|
+
|
|
16675
|
+
The account's token is refreshed before the call when it has expired. When the refresh
|
|
16676
|
+
cannot recover it, the response is a 401 with code `TOKEN_EXPIRED` and the account has to
|
|
16677
|
+
be reconnected.
|
|
16678
|
+
parameters:
|
|
16679
|
+
- name: accountId
|
|
16680
|
+
in: path
|
|
16681
|
+
required: true
|
|
16682
|
+
schema: { type: string }
|
|
16683
|
+
responses:
|
|
16684
|
+
'200':
|
|
16685
|
+
description: Posts list
|
|
16686
|
+
content:
|
|
16687
|
+
application/json:
|
|
16688
|
+
schema:
|
|
16689
|
+
type: object
|
|
16690
|
+
properties:
|
|
16691
|
+
status: { type: string, enum: [success] }
|
|
16692
|
+
posts:
|
|
16693
|
+
type: array
|
|
16694
|
+
items:
|
|
16695
|
+
type: object
|
|
16696
|
+
properties:
|
|
16697
|
+
id: { type: string, description: "The platform's own post id (the video ID on YouTube)" }
|
|
16698
|
+
platform: { type: string }
|
|
16699
|
+
message: { type: string, description: 'Caption or title, empty string when the post has no text' }
|
|
16700
|
+
createdTime: { type: string, format: date-time }
|
|
16701
|
+
permalink: { type: string, description: 'Public URL of the post on the platform' }
|
|
16702
|
+
picture: { type: string, description: 'Thumbnail or media URL' }
|
|
16703
|
+
mediaType: { type: string }
|
|
16704
|
+
commentCount: { type: integer }
|
|
16705
|
+
likeCount: { type: integer }
|
|
16706
|
+
reactionCount: { type: integer, description: 'Facebook and LinkedIn only' }
|
|
16707
|
+
shareCount: { type: integer }
|
|
16708
|
+
cid: { type: string, description: 'Bluesky content id, required to reply to the post' }
|
|
16709
|
+
subreddit: { type: string, description: 'Reddit only' }
|
|
16710
|
+
lastUpdated: { type: string, format: date-time }
|
|
16711
|
+
example:
|
|
16712
|
+
status: "success"
|
|
16713
|
+
posts:
|
|
16714
|
+
- id: "dQw4w9WgXcQ"
|
|
16715
|
+
platform: "youtube"
|
|
16716
|
+
message: "How to schedule a post\n\nA short walkthrough."
|
|
16717
|
+
createdTime: "2026-08-21T09:14:03.000Z"
|
|
16718
|
+
permalink: "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
|
|
16719
|
+
picture: "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg"
|
|
16720
|
+
mediaType: "video"
|
|
16721
|
+
commentCount: 12
|
|
16722
|
+
likeCount: 340
|
|
16723
|
+
lastUpdated: "2026-08-28T11:02:44.512Z"
|
|
16724
|
+
'400':
|
|
16725
|
+
description: 'Invalid accountId, platform does not support posts listing, or the account has no access token'
|
|
16726
|
+
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
16727
|
+
'404': { $ref: '#/components/responses/NotFound' }
|
|
16654
16728
|
/v1/accounts/{accountId}/follow-status/{userId}:
|
|
16655
16729
|
get:
|
|
16656
16730
|
operationId: getInstagramFollowStatus
|
|
@@ -25871,7 +25945,7 @@ paths:
|
|
|
25871
25945
|
|
|
25872
25946
|
Slack: pass a workspace member id as participantId (list them with GET /v1/accounts/{accountId}/slack-members). Zernio opens the DM channel with that member and sends the message; the thread then behaves like any other Slack conversation in the inbox. The member must belong to the connected workspace.
|
|
25873
25947
|
|
|
25874
|
-
WhatsApp: this is the endpoint for sending an approved template message to a phone number. Provide templateName, templateLanguage, and templateParams (variable values for the text header, body and dynamic URL buttons, in that order), with the recipient phone in participantId. A template is required because WhatsApp does not permit freeform messages to open a conversation; a missing template returns TEMPLATE_REQUIRED. Templates with media headers (image, video, document) are handled automatically: Zernio reads the approved template definition and fills the header at send time with the template's approved sample asset. To send a DIFFERENT asset per message (e.g. a distinct invoice PDF for each recipient), pass the headerMedia field with a public link (or a Meta media id); it overrides the sample for that send. A button that carries its own value at send time (a copy-code button holding a Pix payment code or a coupon, a flow token) is sent with templateButtonParams, addressed by the button's index; templateParams covers text variables and dynamic URL buttons only. Calling this for a number you already have a thread with simply sends the template into that thread, which also makes it the way to re-engage a contact after the 24-hour customer-service window has closed. Once the recipient replies (opening the 24h window), send freeform messages with the send-message endpoint (POST /v1/inbox/conversations/{conversationId}/messages). Template fields are accepted on the JSON body only, not on multipart requests. Alternatively, WhatsApp Business Accounts eligible for Meta Direct Send can open a conversation with a business-initiated utility text message and no template: pass category: 'utility' together with message (and no templateName). See the category field below.
|
|
25948
|
+
WhatsApp: this is the endpoint for sending an approved template message to a phone number. Provide templateName, templateLanguage, and templateParams (variable values for the text header, body and dynamic URL buttons, in that order), with the recipient phone in participantId. A template is required because WhatsApp does not permit freeform messages to open a conversation; a missing template returns TEMPLATE_REQUIRED. Templates with media headers (image, video, document) are handled automatically: Zernio reads the approved template definition and fills the header at send time with the template's approved sample asset. To send a DIFFERENT asset per message (e.g. a distinct invoice PDF for each recipient), pass the headerMedia field with a public link (or a Meta media id); it overrides the sample for that send. A template whose approved header format is LOCATION has no header asset to reconstruct at all: Meta only accepts the location at send time, so pass headerLocation (latitude and longitude required) whenever such a template is sent; headerMedia and headerLocation cannot both be supplied. A button that carries its own value at send time (a copy-code button holding a Pix payment code or a coupon, a flow token) is sent with templateButtonParams, addressed by the button's index; templateParams covers text variables and dynamic URL buttons only. Calling this for a number you already have a thread with simply sends the template into that thread, which also makes it the way to re-engage a contact after the 24-hour customer-service window has closed. Once the recipient replies (opening the 24h window), send freeform messages with the send-message endpoint (POST /v1/inbox/conversations/{conversationId}/messages). Template fields are accepted on the JSON body only, not on multipart requests. Alternatively, WhatsApp Business Accounts eligible for Meta Direct Send can open a conversation with a business-initiated utility text message and no template: pass category: 'utility' together with message (and no templateName). See the category field below.
|
|
25875
25949
|
|
|
25876
25950
|
DM eligibility (X/Twitter): Before sending, the endpoint checks if the recipient accepts DMs from your account (via the receives_your_dm field). If not, a 422 error with code DM_NOT_ALLOWED is returned. You can skip this check with skipDmCheck: true if you have already verified eligibility.
|
|
25877
25951
|
|
|
@@ -26004,6 +26078,27 @@ paths:
|
|
|
26004
26078
|
filename:
|
|
26005
26079
|
type: string
|
|
26006
26080
|
description: 'Document display name shown to the recipient (e.g. "Factura 0001-123.pdf"). document type only; ignored for image/video.'
|
|
26081
|
+
headerLocation:
|
|
26082
|
+
type: object
|
|
26083
|
+
description: >-
|
|
26084
|
+
WhatsApp only. Required to send a template whose approved header format is
|
|
26085
|
+
LOCATION: Meta only accepts the location's lat/long at send time, never at
|
|
26086
|
+
template creation, so there is nothing to fill in automatically. Cannot be
|
|
26087
|
+
combined with headerMedia (a template has exactly one header).
|
|
26088
|
+
required: [latitude, longitude]
|
|
26089
|
+
properties:
|
|
26090
|
+
latitude:
|
|
26091
|
+
type: number
|
|
26092
|
+
description: Latitude in decimal degrees.
|
|
26093
|
+
longitude:
|
|
26094
|
+
type: number
|
|
26095
|
+
description: Longitude in decimal degrees.
|
|
26096
|
+
name:
|
|
26097
|
+
type: string
|
|
26098
|
+
description: Location name shown to the recipient (e.g. a business name).
|
|
26099
|
+
address:
|
|
26100
|
+
type: string
|
|
26101
|
+
description: Location address shown to the recipient.
|
|
26007
26102
|
multipart/form-data:
|
|
26008
26103
|
schema:
|
|
26009
26104
|
type: object
|
|
@@ -26629,6 +26724,13 @@ paths:
|
|
|
26629
26724
|
buttons, templates, and message tags. Attachment and interactive message
|
|
26630
26725
|
support varies by platform.
|
|
26631
26726
|
|
|
26727
|
+
WhatsApp per-recipient rate limit: WhatsApp caps how many messages you may
|
|
26728
|
+
send to the same recipient in a short window and rejects the excess with
|
|
26729
|
+
error code `131056` ("Too many messages sent to this recipient"). Pace
|
|
26730
|
+
sends to a single recipient at roughly 10 per minute; bursts above that
|
|
26731
|
+
return a `400` with code `131056`. Sends to other recipients are
|
|
26732
|
+
unaffected, so parallelise across recipients rather than flooding one.
|
|
26733
|
+
|
|
26632
26734
|
WhatsApp template messages: to send an approved template into this
|
|
26633
26735
|
conversation (required when the 24-hour customer-service window is
|
|
26634
26736
|
closed), use the `template` field with a single element carrying the
|
|
@@ -56,6 +56,18 @@ describe 'AccountsApi' do
|
|
|
56
56
|
end
|
|
57
57
|
end
|
|
58
58
|
|
|
59
|
+
# unit tests for get_account_posts
|
|
60
|
+
# List posts published on the platform
|
|
61
|
+
# Returns the 25 most recent posts that exist on the platform for a connected account, read live from the platform API. This covers everything on the account, including posts that were never created through Zernio. Use it to obtain the platform's own post id, which the analytics endpoints take as input. On YouTube the returned `id` is the video ID that `GET /v1/analytics/youtube/daily-views`, `/video-retention` and `/demographics` expect as `videoId`, so this endpoint is what backs a video picker in your own UI. Not every field applies to every platform: `reactionCount` is Facebook and LinkedIn, `shareCount` is platform dependent, `cid` is the Bluesky content id needed to reply, and `subreddit` is Reddit only. Absent fields are omitted from the response. The account's token is refreshed before the call when it has expired. When the refresh cannot recover it, the response is a 401 with code `TOKEN_EXPIRED` and the account has to be reconnected.
|
|
62
|
+
# @param account_id
|
|
63
|
+
# @param [Hash] opts the optional parameters
|
|
64
|
+
# @return [GetAccountPosts200Response]
|
|
65
|
+
describe 'get_account_posts test' do
|
|
66
|
+
it 'should work' do
|
|
67
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
59
71
|
# unit tests for get_all_accounts_health
|
|
60
72
|
# Check accounts health
|
|
61
73
|
# Returns health status of all connected accounts including token validity, permissions, and issues needing attention.
|
|
@@ -48,7 +48,7 @@ describe 'MessagesApi' do
|
|
|
48
48
|
|
|
49
49
|
# unit tests for create_inbox_conversation
|
|
50
50
|
# Create conversation
|
|
51
|
-
# Initiate a new direct message conversation with a specified user. If a conversation already exists with the recipient, the message is added to the existing thread. Supported platforms: X/Twitter, Bluesky, Reddit, WhatsApp, SMS, and Slack. Other platforms return PLATFORM_NOT_SUPPORTED. Slack: pass a workspace member id as participantId (list them with GET /v1/accounts/{accountId}/slack-members). Zernio opens the DM channel with that member and sends the message; the thread then behaves like any other Slack conversation in the inbox. The member must belong to the connected workspace. WhatsApp: this is the endpoint for sending an approved template message to a phone number. Provide templateName, templateLanguage, and templateParams (variable values for the text header, body and dynamic URL buttons, in that order), with the recipient phone in participantId. A template is required because WhatsApp does not permit freeform messages to open a conversation; a missing template returns TEMPLATE_REQUIRED. Templates with media headers (image, video, document) are handled automatically: Zernio reads the approved template definition and fills the header at send time with the template's approved sample asset. To send a DIFFERENT asset per message (e.g. a distinct invoice PDF for each recipient), pass the headerMedia field with a public link (or a Meta media id); it overrides the sample for that send. A button that carries its own value at send time (a copy-code button holding a Pix payment code or a coupon, a flow token) is sent with templateButtonParams, addressed by the button's index; templateParams covers text variables and dynamic URL buttons only. Calling this for a number you already have a thread with simply sends the template into that thread, which also makes it the way to re-engage a contact after the 24-hour customer-service window has closed. Once the recipient replies (opening the 24h window), send freeform messages with the send-message endpoint (POST /v1/inbox/conversations/{conversationId}/messages). Template fields are accepted on the JSON body only, not on multipart requests. Alternatively, WhatsApp Business Accounts eligible for Meta Direct Send can open a conversation with a business-initiated utility text message and no template: pass category: 'utility' together with message (and no templateName). See the category field below. DM eligibility (X/Twitter): Before sending, the endpoint checks if the recipient accepts DMs from your account (via the receives_your_dm field). If not, a 422 error with code DM_NOT_ALLOWED is returned. You can skip this check with skipDmCheck: true if you have already verified eligibility. X API tier requirement: DM write endpoints require X API Pro tier ($5,000/month) or Enterprise access. This applies to BYOK (Bring Your Own Key) users who provide their own X API credentials. Rate limits (X/Twitter only): X's DM API enforces 200 requests per 15 minutes, 1,000 per 24 hours per connected X account, and 15,000 per 24 hours per X developer app (shared across all DM endpoints). These limits do NOT apply to other platforms. WhatsApp sends are governed by Meta's per-number messaging tiers (unique business-initiated conversations per 24 hours) and per-number throughput instead.
|
|
51
|
+
# Initiate a new direct message conversation with a specified user. If a conversation already exists with the recipient, the message is added to the existing thread. Supported platforms: X/Twitter, Bluesky, Reddit, WhatsApp, SMS, and Slack. Other platforms return PLATFORM_NOT_SUPPORTED. Slack: pass a workspace member id as participantId (list them with GET /v1/accounts/{accountId}/slack-members). Zernio opens the DM channel with that member and sends the message; the thread then behaves like any other Slack conversation in the inbox. The member must belong to the connected workspace. WhatsApp: this is the endpoint for sending an approved template message to a phone number. Provide templateName, templateLanguage, and templateParams (variable values for the text header, body and dynamic URL buttons, in that order), with the recipient phone in participantId. A template is required because WhatsApp does not permit freeform messages to open a conversation; a missing template returns TEMPLATE_REQUIRED. Templates with media headers (image, video, document) are handled automatically: Zernio reads the approved template definition and fills the header at send time with the template's approved sample asset. To send a DIFFERENT asset per message (e.g. a distinct invoice PDF for each recipient), pass the headerMedia field with a public link (or a Meta media id); it overrides the sample for that send. A template whose approved header format is LOCATION has no header asset to reconstruct at all: Meta only accepts the location at send time, so pass headerLocation (latitude and longitude required) whenever such a template is sent; headerMedia and headerLocation cannot both be supplied. A button that carries its own value at send time (a copy-code button holding a Pix payment code or a coupon, a flow token) is sent with templateButtonParams, addressed by the button's index; templateParams covers text variables and dynamic URL buttons only. Calling this for a number you already have a thread with simply sends the template into that thread, which also makes it the way to re-engage a contact after the 24-hour customer-service window has closed. Once the recipient replies (opening the 24h window), send freeform messages with the send-message endpoint (POST /v1/inbox/conversations/{conversationId}/messages). Template fields are accepted on the JSON body only, not on multipart requests. Alternatively, WhatsApp Business Accounts eligible for Meta Direct Send can open a conversation with a business-initiated utility text message and no template: pass category: 'utility' together with message (and no templateName). See the category field below. DM eligibility (X/Twitter): Before sending, the endpoint checks if the recipient accepts DMs from your account (via the receives_your_dm field). If not, a 422 error with code DM_NOT_ALLOWED is returned. You can skip this check with skipDmCheck: true if you have already verified eligibility. X API tier requirement: DM write endpoints require X API Pro tier ($5,000/month) or Enterprise access. This applies to BYOK (Bring Your Own Key) users who provide their own X API credentials. Rate limits (X/Twitter only): X's DM API enforces 200 requests per 15 minutes, 1,000 per 24 hours per connected X account, and 15,000 per 24 hours per X developer app (shared across all DM endpoints). These limits do NOT apply to other platforms. WhatsApp sends are governed by Meta's per-number messaging tiers (unique business-initiated conversations per 24 hours) and per-number throughput instead.
|
|
52
52
|
# @param create_inbox_conversation_request
|
|
53
53
|
# @param [Hash] opts the optional parameters
|
|
54
54
|
# @return [CreateInboxConversation201Response]
|
|
@@ -196,7 +196,7 @@ describe 'MessagesApi' do
|
|
|
196
196
|
|
|
197
197
|
# unit tests for send_inbox_message
|
|
198
198
|
# Send message
|
|
199
|
-
# Send a message in a conversation. Supports text, attachments, quick replies, buttons, templates, and message tags. Attachment and interactive message support varies by platform. WhatsApp template messages: to send an approved template into this conversation (required when the 24-hour customer-service window is closed), use the `template` field with a single element carrying the template reference: `{ \"elements\": [{ \"name\": ..., \"language\": ..., \"components\": [...] }] }`. See the `template` field below for the exact shape. To send a template to a phone number you have no conversation with yet, use the create-conversation endpoint (POST /v1/inbox/conversations) instead. WhatsApp rich interactive messages (list, CTA URL, Flow, location request) are available via the `interactive` field. Tap events are delivered through the `message.received` webhook with WhatsApp-specific `metadata` fields (`interactiveType`, `interactiveId`, `flowResponseJson`, `flowResponseData`). **Idempotency:** send an `Idempotency-Key` header to make retries safe (e.g. after a client-side timeout where delivery is unknown): same key + same body replays the original response (with `Idempotent-Replayed: true`) instead of sending the message a second time; same key + different body returns 422; a key still in flight returns 409. Works for JSON and multipart (file upload) requests alike. Keys are retained for 24 hours. Only successful (2xx) responses are stored for replay: if the request throws or returns a non-2xx status, the key is released so the same key can be retried once the problem is fixed. The header therefore protects the \"request succeeded but the response was lost\" case. For an ambiguous failure (a 5xx or a network timeout), reconcile before retrying: a failure after the platform already accepted the message also releases the key, and a blind retry could send it twice. List the conversation's messages first, and treat an empty result as inconclusive rather than as proof nothing was sent, since a send that failed while being recorded leaves no trace on our side.
|
|
199
|
+
# Send a message in a conversation. Supports text, attachments, quick replies, buttons, templates, and message tags. Attachment and interactive message support varies by platform. WhatsApp per-recipient rate limit: WhatsApp caps how many messages you may send to the same recipient in a short window and rejects the excess with error code `131056` (\"Too many messages sent to this recipient\"). Pace sends to a single recipient at roughly 10 per minute; bursts above that return a `400` with code `131056`. Sends to other recipients are unaffected, so parallelise across recipients rather than flooding one. WhatsApp template messages: to send an approved template into this conversation (required when the 24-hour customer-service window is closed), use the `template` field with a single element carrying the template reference: `{ \"elements\": [{ \"name\": ..., \"language\": ..., \"components\": [...] }] }`. See the `template` field below for the exact shape. To send a template to a phone number you have no conversation with yet, use the create-conversation endpoint (POST /v1/inbox/conversations) instead. WhatsApp rich interactive messages (list, CTA URL, Flow, location request) are available via the `interactive` field. Tap events are delivered through the `message.received` webhook with WhatsApp-specific `metadata` fields (`interactiveType`, `interactiveId`, `flowResponseJson`, `flowResponseData`). **Idempotency:** send an `Idempotency-Key` header to make retries safe (e.g. after a client-side timeout where delivery is unknown): same key + same body replays the original response (with `Idempotent-Replayed: true`) instead of sending the message a second time; same key + different body returns 422; a key still in flight returns 409. Works for JSON and multipart (file upload) requests alike. Keys are retained for 24 hours. Only successful (2xx) responses are stored for replay: if the request throws or returns a non-2xx status, the key is released so the same key can be retried once the problem is fixed. The header therefore protects the \"request succeeded but the response was lost\" case. For an ambiguous failure (a 5xx or a network timeout), reconcile before retrying: a failure after the platform already accepted the message also releases the key, and a blind retry could send it twice. List the conversation's messages first, and treat an empty result as inconclusive rather than as proof nothing was sent, since a send that failed while being recorded leaves no trace on our side.
|
|
200
200
|
# @param conversation_id Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
|
|
201
201
|
# @param send_inbox_message_request
|
|
202
202
|
# @param [Hash] opts the optional parameters
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::CreateInboxConversationRequestHeaderLocation
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::CreateInboxConversationRequestHeaderLocation do
|
|
21
|
+
#let(:instance) { Zernio::CreateInboxConversationRequestHeaderLocation.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of CreateInboxConversationRequestHeaderLocation' do
|
|
24
|
+
it 'should create an instance of CreateInboxConversationRequestHeaderLocation' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::CreateInboxConversationRequestHeaderLocation)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "latitude"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "longitude"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "name"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "address"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
@@ -103,4 +103,10 @@ describe Zernio::CreateInboxConversationRequest do
|
|
|
103
103
|
end
|
|
104
104
|
end
|
|
105
105
|
|
|
106
|
+
describe 'test attribute "header_location"' do
|
|
107
|
+
it 'should work' do
|
|
108
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
106
112
|
end
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::GetAccountPosts200ResponsePostsInner
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::GetAccountPosts200ResponsePostsInner do
|
|
21
|
+
#let(:instance) { Zernio::GetAccountPosts200ResponsePostsInner.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of GetAccountPosts200ResponsePostsInner' do
|
|
24
|
+
it 'should create an instance of GetAccountPosts200ResponsePostsInner' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::GetAccountPosts200ResponsePostsInner)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "id"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "platform"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "message"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "created_time"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe 'test attribute "permalink"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe 'test attribute "picture"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
describe 'test attribute "media_type"' do
|
|
67
|
+
it 'should work' do
|
|
68
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
describe 'test attribute "comment_count"' do
|
|
73
|
+
it 'should work' do
|
|
74
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
describe 'test attribute "like_count"' do
|
|
79
|
+
it 'should work' do
|
|
80
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
describe 'test attribute "reaction_count"' do
|
|
85
|
+
it 'should work' do
|
|
86
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
describe 'test attribute "share_count"' do
|
|
91
|
+
it 'should work' do
|
|
92
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
describe 'test attribute "cid"' do
|
|
97
|
+
it 'should work' do
|
|
98
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
describe 'test attribute "subreddit"' do
|
|
103
|
+
it 'should work' do
|
|
104
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::GetAccountPosts200Response
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::GetAccountPosts200Response do
|
|
21
|
+
#let(:instance) { Zernio::GetAccountPosts200Response.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of GetAccountPosts200Response' do
|
|
24
|
+
it 'should create an instance of GetAccountPosts200Response' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::GetAccountPosts200Response)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "status"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"])
|
|
34
|
+
# validator.allowable_values.each do |value|
|
|
35
|
+
# expect { instance.status = value }.not_to raise_error
|
|
36
|
+
# end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe 'test attribute "posts"' do
|
|
41
|
+
it 'should work' do
|
|
42
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
describe 'test attribute "last_updated"' do
|
|
47
|
+
it 'should work' do
|
|
48
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: late-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.788
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
@@ -331,6 +331,7 @@ files:
|
|
|
331
331
|
- docs/CreateInboxConversation422Response.md
|
|
332
332
|
- docs/CreateInboxConversation429Response.md
|
|
333
333
|
- docs/CreateInboxConversationRequest.md
|
|
334
|
+
- docs/CreateInboxConversationRequestHeaderLocation.md
|
|
334
335
|
- docs/CreateInboxConversationRequestHeaderMedia.md
|
|
335
336
|
- docs/CreateInboxConversationRequestTemplateButtonParamsInner.md
|
|
336
337
|
- docs/CreateInviteToken201Response.md
|
|
@@ -576,6 +577,8 @@ files:
|
|
|
576
577
|
- docs/GetAccountHealth200ResponsePlatformConnection.md
|
|
577
578
|
- docs/GetAccountHealth200ResponsePlatformConnectionMetaError.md
|
|
578
579
|
- docs/GetAccountHealth200ResponseTokenStatus.md
|
|
580
|
+
- docs/GetAccountPosts200Response.md
|
|
581
|
+
- docs/GetAccountPosts200ResponsePostsInner.md
|
|
579
582
|
- docs/GetAd200Response.md
|
|
580
583
|
- docs/GetAdAccountFinance200Response.md
|
|
581
584
|
- docs/GetAdAccountFinance200ResponseFundingSource.md
|
|
@@ -2196,6 +2199,7 @@ files:
|
|
|
2196
2199
|
- lib/zernio-sdk/models/create_inbox_conversation422_response.rb
|
|
2197
2200
|
- lib/zernio-sdk/models/create_inbox_conversation429_response.rb
|
|
2198
2201
|
- lib/zernio-sdk/models/create_inbox_conversation_request.rb
|
|
2202
|
+
- lib/zernio-sdk/models/create_inbox_conversation_request_header_location.rb
|
|
2199
2203
|
- lib/zernio-sdk/models/create_inbox_conversation_request_header_media.rb
|
|
2200
2204
|
- lib/zernio-sdk/models/create_inbox_conversation_request_template_button_params_inner.rb
|
|
2201
2205
|
- lib/zernio-sdk/models/create_invite_token201_response.rb
|
|
@@ -2431,6 +2435,8 @@ files:
|
|
|
2431
2435
|
- lib/zernio-sdk/models/get_account_health200_response_platform_connection.rb
|
|
2432
2436
|
- lib/zernio-sdk/models/get_account_health200_response_platform_connection_meta_error.rb
|
|
2433
2437
|
- lib/zernio-sdk/models/get_account_health200_response_token_status.rb
|
|
2438
|
+
- lib/zernio-sdk/models/get_account_posts200_response.rb
|
|
2439
|
+
- lib/zernio-sdk/models/get_account_posts200_response_posts_inner.rb
|
|
2434
2440
|
- lib/zernio-sdk/models/get_ad200_response.rb
|
|
2435
2441
|
- lib/zernio-sdk/models/get_ad_account_finance200_response.rb
|
|
2436
2442
|
- lib/zernio-sdk/models/get_ad_account_finance200_response_funding_source.rb
|
|
@@ -4008,6 +4014,7 @@ files:
|
|
|
4008
4014
|
- spec/models/create_inbox_conversation404_response_spec.rb
|
|
4009
4015
|
- spec/models/create_inbox_conversation422_response_spec.rb
|
|
4010
4016
|
- spec/models/create_inbox_conversation429_response_spec.rb
|
|
4017
|
+
- spec/models/create_inbox_conversation_request_header_location_spec.rb
|
|
4011
4018
|
- spec/models/create_inbox_conversation_request_header_media_spec.rb
|
|
4012
4019
|
- spec/models/create_inbox_conversation_request_spec.rb
|
|
4013
4020
|
- spec/models/create_inbox_conversation_request_template_button_params_inner_spec.rb
|
|
@@ -4244,6 +4251,8 @@ files:
|
|
|
4244
4251
|
- spec/models/get_account_health200_response_platform_connection_spec.rb
|
|
4245
4252
|
- spec/models/get_account_health200_response_spec.rb
|
|
4246
4253
|
- spec/models/get_account_health200_response_token_status_spec.rb
|
|
4254
|
+
- spec/models/get_account_posts200_response_posts_inner_spec.rb
|
|
4255
|
+
- spec/models/get_account_posts200_response_spec.rb
|
|
4247
4256
|
- spec/models/get_ad200_response_spec.rb
|
|
4248
4257
|
- spec/models/get_ad_account_finance200_response_funding_source_spec.rb
|
|
4249
4258
|
- spec/models/get_ad_account_finance200_response_spec.rb
|
|
@@ -5512,7 +5521,7 @@ files:
|
|
|
5512
5521
|
- spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
|
|
5513
5522
|
- spec/models/you_tube_video_retention_response_spec.rb
|
|
5514
5523
|
- spec/spec_helper.rb
|
|
5515
|
-
- zernio-sdk-0.0.
|
|
5524
|
+
- zernio-sdk-0.0.788.gem
|
|
5516
5525
|
- zernio-sdk.gemspec
|
|
5517
5526
|
homepage: https://openapi-generator.tech
|
|
5518
5527
|
licenses:
|
|
@@ -6478,6 +6487,7 @@ test_files:
|
|
|
6478
6487
|
- spec/models/discord_platform_data_poll_answers_inner_spec.rb
|
|
6479
6488
|
- spec/models/webhook_payload_message_deleted_spec.rb
|
|
6480
6489
|
- spec/models/submit_whats_app_number_kyc_request_spec.rb
|
|
6490
|
+
- spec/models/get_account_posts200_response_posts_inner_spec.rb
|
|
6481
6491
|
- spec/models/delete_inbox_review_reply200_response_spec.rb
|
|
6482
6492
|
- spec/models/get_google_business_performance200_response_date_range_spec.rb
|
|
6483
6493
|
- spec/models/instagram_demographics_response_spec.rb
|
|
@@ -6616,6 +6626,7 @@ test_files:
|
|
|
6616
6626
|
- spec/models/create_custom_conversion_request_spec.rb
|
|
6617
6627
|
- spec/models/reply_to_phone_number_reviewer_request_spec.rb
|
|
6618
6628
|
- spec/models/list_snapchat_profiles200_response_public_profiles_inner_spec.rb
|
|
6629
|
+
- spec/models/get_account_posts200_response_spec.rb
|
|
6619
6630
|
- spec/models/review_webhook_review_spec.rb
|
|
6620
6631
|
- spec/models/usage_metering_spec.rb
|
|
6621
6632
|
- spec/models/validate_subreddit200_response_one_of1_spec.rb
|
|
@@ -7022,6 +7033,7 @@ test_files:
|
|
|
7022
7033
|
- spec/models/ads_list_response_spec.rb
|
|
7023
7034
|
- spec/models/estimate_ad_reach200_response_spec.rb
|
|
7024
7035
|
- spec/models/cancel_broadcast200_response_spec.rb
|
|
7036
|
+
- spec/models/create_inbox_conversation_request_header_location_spec.rb
|
|
7025
7037
|
- spec/models/meta_ads_platform_data_spec.rb
|
|
7026
7038
|
- spec/models/add_broadcast_recipients200_response_spec.rb
|
|
7027
7039
|
- spec/models/create_broadcast200_response_spec.rb
|
data/zernio-sdk-0.0.786.gem
DELETED
|
Binary file
|