late-sdk 0.0.86 → 0.0.88
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 +1 -0
- data/docs/MessagesApi.md +2 -2
- data/docs/WebhookEventsApi.md +766 -0
- data/docs/WebhookPayloadAccountConnected.md +5 -3
- data/docs/WebhookPayloadAccountConnectedAccount.md +4 -4
- data/docs/WebhookPayloadAccountDisconnected.md +5 -3
- data/docs/WebhookPayloadAccountDisconnectedAccount.md +6 -6
- data/docs/WebhookPayloadComment.md +7 -5
- data/docs/WebhookPayloadCommentAccount.md +3 -3
- data/docs/WebhookPayloadCommentComment.md +9 -9
- data/docs/WebhookPayloadCommentCommentAuthor.md +1 -1
- data/docs/WebhookPayloadCommentPost.md +2 -2
- data/docs/WebhookPayloadMessage.md +7 -5
- data/docs/WebhookPayloadMessageAccount.md +3 -3
- data/docs/WebhookPayloadMessageConversation.md +3 -5
- data/docs/WebhookPayloadMessageMessage.md +10 -10
- data/docs/WebhookPayloadMessageMessageAttachmentsInner.md +2 -2
- data/docs/WebhookPayloadMessageMessageSender.md +1 -1
- data/docs/WebhookPayloadPost.md +5 -3
- data/docs/WebhookPayloadPostPost.md +5 -5
- data/docs/WebhookPayloadPostPostPlatformsInner.md +4 -2
- data/docs/WebhookPayloadTest.md +24 -0
- data/lib/late-sdk/api/messages_api.rb +4 -4
- data/lib/late-sdk/api/webhook_events_api.rb +748 -0
- data/lib/late-sdk/api/webhooks_api.rb +1 -1
- data/lib/late-sdk/models/webhook_log.rb +2 -2
- data/lib/late-sdk/models/webhook_payload_account_connected.rb +69 -1
- data/lib/late-sdk/models/webhook_payload_account_connected_account.rb +68 -0
- data/lib/late-sdk/models/webhook_payload_account_disconnected.rb +69 -1
- data/lib/late-sdk/models/webhook_payload_account_disconnected_account.rb +92 -0
- data/lib/late-sdk/models/webhook_payload_comment.rb +103 -1
- data/lib/late-sdk/models/webhook_payload_comment_account.rb +51 -0
- data/lib/late-sdk/models/webhook_payload_comment_comment.rb +143 -0
- data/lib/late-sdk/models/webhook_payload_comment_comment_author.rb +17 -0
- data/lib/late-sdk/models/webhook_payload_comment_post.rb +34 -0
- data/lib/late-sdk/models/webhook_payload_message.rb +104 -2
- data/lib/late-sdk/models/webhook_payload_message_account.rb +51 -0
- data/lib/late-sdk/models/webhook_payload_message_conversation.rb +39 -20
- data/lib/late-sdk/models/webhook_payload_message_message.rb +154 -4
- data/lib/late-sdk/models/webhook_payload_message_message_attachments_inner.rb +34 -0
- data/lib/late-sdk/models/webhook_payload_message_message_sender.rb +17 -0
- data/lib/late-sdk/models/webhook_payload_post.rb +71 -3
- data/lib/late-sdk/models/webhook_payload_post_post.rb +85 -0
- data/lib/late-sdk/models/webhook_payload_post_post_platforms_inner.rb +44 -1
- data/lib/late-sdk/models/webhook_payload_test.rb +269 -0
- data/lib/late-sdk/version.rb +1 -1
- data/lib/late-sdk.rb +1 -0
- data/openapi.yaml +242 -21
- data/spec/api/messages_api_spec.rb +2 -2
- data/spec/models/create_webhook_settings_request_spec.rb +1 -1
- data/spec/models/update_webhook_settings_request_spec.rb +1 -1
- data/spec/models/webhook_log_spec.rb +1 -1
- data/spec/models/webhook_payload_account_connected_spec.rb +6 -0
- data/spec/models/webhook_payload_account_disconnected_spec.rb +6 -0
- data/spec/models/webhook_payload_comment_spec.rb +6 -0
- data/spec/models/webhook_payload_message_conversation_spec.rb +0 -10
- data/spec/models/webhook_payload_message_message_spec.rb +2 -2
- data/spec/models/webhook_payload_message_spec.rb +6 -0
- data/spec/models/webhook_payload_post_post_platforms_inner_spec.rb +6 -0
- data/spec/models/webhook_payload_post_spec.rb +7 -1
- data/spec/models/webhook_payload_test_spec.rb +58 -0
- data/spec/models/webhook_spec.rb +1 -1
- data/zernio-sdk-0.0.88.gem +0 -0
- metadata +665 -659
- data/zernio-sdk-0.0.86.gem +0 -0
data/openapi.yaml
CHANGED
|
@@ -126,15 +126,17 @@ x-documentation:
|
|
|
126
126
|
|
|
127
127
|
Receive real-time notifications for post status changes, account events, and incoming messages:
|
|
128
128
|
|
|
129
|
-
- `post.scheduled` - Post
|
|
129
|
+
- `post.scheduled` - Post created and scheduled for publishing
|
|
130
130
|
- `post.published` - Post successfully published
|
|
131
131
|
- `post.failed` - Post failed on all platforms
|
|
132
132
|
- `post.partial` - Post published to some platforms, failed on others
|
|
133
|
-
- `post.
|
|
133
|
+
- `post.cancelled` - Post publishing was cancelled
|
|
134
|
+
- `post.recycled` - Post recycled (cloned and re-scheduled)
|
|
134
135
|
- `account.connected` - Social account connected
|
|
135
136
|
- `account.disconnected` - Social account disconnected (token expired)
|
|
136
137
|
- `message.received` - New DM received
|
|
137
138
|
- `comment.received` - New comment received on a post
|
|
139
|
+
- `webhook.test` - Test event sent when verifying a webhook endpoint
|
|
138
140
|
|
|
139
141
|
Webhook payloads are signed with HMAC-SHA256 via the `X-Zernio-Signature` header.
|
|
140
142
|
|
|
@@ -233,8 +235,11 @@ tags:
|
|
|
233
235
|
auto-creates contacts.
|
|
234
236
|
- name: Webhooks
|
|
235
237
|
description: |
|
|
236
|
-
Configure webhooks for real-time notifications. Events: post.scheduled, post.published, post.failed, post.partial, post.recycled, account.connected, account.disconnected, message.received, comment.received.
|
|
238
|
+
Configure webhooks for real-time notifications. Events: post.scheduled, post.published, post.failed, post.partial, post.cancelled, post.recycled, account.connected, account.disconnected, message.received, comment.received, webhook.test.
|
|
237
239
|
Security: optional HMAC-SHA256 signature in X-Zernio-Signature header. Configure a secret key to enable verification. Custom headers supported.
|
|
240
|
+
- name: Webhook Events
|
|
241
|
+
description: |
|
|
242
|
+
Incoming webhook deliveries sent by Zernio to your configured endpoint URL.
|
|
238
243
|
- name: Logs
|
|
239
244
|
description: |
|
|
240
245
|
Publishing logs for transparency and debugging. Each log includes the platform API endpoint, HTTP status code, request/response bodies, duration, and retry attempts. Logs are automatically deleted after 7 days.
|
|
@@ -586,7 +591,7 @@ components:
|
|
|
586
591
|
type: array
|
|
587
592
|
items:
|
|
588
593
|
type: string
|
|
589
|
-
enum: [post.scheduled, post.published, post.failed, post.partial, post.recycled, account.connected, account.disconnected, message.received, comment.received]
|
|
594
|
+
enum: [post.scheduled, post.published, post.failed, post.partial, post.cancelled, post.recycled, account.connected, account.disconnected, message.received, comment.received]
|
|
590
595
|
description: Events subscribed to
|
|
591
596
|
isActive:
|
|
592
597
|
type: boolean
|
|
@@ -617,7 +622,7 @@ components:
|
|
|
617
622
|
description: Name of the webhook that was triggered
|
|
618
623
|
event:
|
|
619
624
|
type: string
|
|
620
|
-
enum: [post.scheduled, post.published, post.failed, post.partial, post.recycled, account.connected, account.disconnected, message.received, comment.received, webhook.test]
|
|
625
|
+
enum: [post.scheduled, post.published, post.failed, post.partial, post.cancelled, post.recycled, account.connected, account.disconnected, message.received, comment.received, webhook.test]
|
|
621
626
|
url:
|
|
622
627
|
type: string
|
|
623
628
|
format: uri
|
|
@@ -648,12 +653,17 @@ components:
|
|
|
648
653
|
WebhookPayloadPost:
|
|
649
654
|
type: object
|
|
650
655
|
description: Webhook payload for post events
|
|
656
|
+
required: [id, event, post, timestamp]
|
|
651
657
|
properties:
|
|
658
|
+
id:
|
|
659
|
+
type: string
|
|
660
|
+
description: Stable webhook event ID
|
|
652
661
|
event:
|
|
653
662
|
type: string
|
|
654
|
-
enum: [post.scheduled, post.published, post.failed, post.partial, post.recycled]
|
|
663
|
+
enum: [post.scheduled, post.published, post.failed, post.partial, post.cancelled, post.recycled]
|
|
655
664
|
post:
|
|
656
665
|
type: object
|
|
666
|
+
required: [id, content, status, scheduledFor, platforms]
|
|
657
667
|
properties:
|
|
658
668
|
id:
|
|
659
669
|
type: string
|
|
@@ -671,11 +681,14 @@ components:
|
|
|
671
681
|
type: array
|
|
672
682
|
items:
|
|
673
683
|
type: object
|
|
684
|
+
required: [platform, status]
|
|
674
685
|
properties:
|
|
675
686
|
platform:
|
|
676
687
|
type: string
|
|
677
688
|
status:
|
|
678
689
|
type: string
|
|
690
|
+
platformPostId:
|
|
691
|
+
type: string
|
|
679
692
|
publishedUrl:
|
|
680
693
|
type: string
|
|
681
694
|
error:
|
|
@@ -686,12 +699,17 @@ components:
|
|
|
686
699
|
WebhookPayloadAccountConnected:
|
|
687
700
|
type: object
|
|
688
701
|
description: Webhook payload for account connected events
|
|
702
|
+
required: [id, event, account, timestamp]
|
|
689
703
|
properties:
|
|
704
|
+
id:
|
|
705
|
+
type: string
|
|
706
|
+
description: Stable webhook event ID
|
|
690
707
|
event:
|
|
691
708
|
type: string
|
|
692
709
|
enum: [account.connected]
|
|
693
710
|
account:
|
|
694
711
|
type: object
|
|
712
|
+
required: [accountId, profileId, platform, username]
|
|
695
713
|
properties:
|
|
696
714
|
accountId:
|
|
697
715
|
type: string
|
|
@@ -711,12 +729,17 @@ components:
|
|
|
711
729
|
WebhookPayloadAccountDisconnected:
|
|
712
730
|
type: object
|
|
713
731
|
description: Webhook payload for account disconnected events
|
|
732
|
+
required: [id, event, account, timestamp]
|
|
714
733
|
properties:
|
|
734
|
+
id:
|
|
735
|
+
type: string
|
|
736
|
+
description: Stable webhook event ID
|
|
715
737
|
event:
|
|
716
738
|
type: string
|
|
717
739
|
enum: [account.disconnected]
|
|
718
740
|
account:
|
|
719
741
|
type: object
|
|
742
|
+
required: [accountId, profileId, platform, username, disconnectionType, reason]
|
|
720
743
|
properties:
|
|
721
744
|
accountId:
|
|
722
745
|
type: string
|
|
@@ -743,12 +766,17 @@ components:
|
|
|
743
766
|
WebhookPayloadComment:
|
|
744
767
|
type: object
|
|
745
768
|
description: Webhook payload for comment received events (Instagram, Facebook, Twitter/X, YouTube, LinkedIn, Bluesky, Reddit)
|
|
769
|
+
required: [id, event, comment, post, account, timestamp]
|
|
746
770
|
properties:
|
|
771
|
+
id:
|
|
772
|
+
type: string
|
|
773
|
+
description: Stable webhook event ID
|
|
747
774
|
event:
|
|
748
775
|
type: string
|
|
749
776
|
enum: [comment.received]
|
|
750
777
|
comment:
|
|
751
778
|
type: object
|
|
779
|
+
required: [id, postId, platformPostId, platform, text, author, createdAt, isReply, parentCommentId]
|
|
752
780
|
properties:
|
|
753
781
|
id:
|
|
754
782
|
type: string
|
|
@@ -767,6 +795,7 @@ components:
|
|
|
767
795
|
description: Comment text content
|
|
768
796
|
author:
|
|
769
797
|
type: object
|
|
798
|
+
required: [id]
|
|
770
799
|
properties:
|
|
771
800
|
id:
|
|
772
801
|
type: string
|
|
@@ -790,6 +819,7 @@ components:
|
|
|
790
819
|
description: Parent comment ID if this is a reply
|
|
791
820
|
post:
|
|
792
821
|
type: object
|
|
822
|
+
required: [id, platformPostId]
|
|
793
823
|
properties:
|
|
794
824
|
id:
|
|
795
825
|
type: string
|
|
@@ -799,6 +829,7 @@ components:
|
|
|
799
829
|
description: Platform's post ID
|
|
800
830
|
account:
|
|
801
831
|
type: object
|
|
832
|
+
required: [id, platform, username]
|
|
802
833
|
properties:
|
|
803
834
|
id:
|
|
804
835
|
type: string
|
|
@@ -812,13 +843,18 @@ components:
|
|
|
812
843
|
format: date-time
|
|
813
844
|
WebhookPayloadMessage:
|
|
814
845
|
type: object
|
|
815
|
-
description: Webhook payload for message received events
|
|
846
|
+
description: Webhook payload for message received events
|
|
847
|
+
required: [id, event, message, conversation, account, timestamp]
|
|
816
848
|
properties:
|
|
849
|
+
id:
|
|
850
|
+
type: string
|
|
851
|
+
description: Stable webhook event ID
|
|
817
852
|
event:
|
|
818
853
|
type: string
|
|
819
854
|
enum: [message.received]
|
|
820
855
|
message:
|
|
821
856
|
type: object
|
|
857
|
+
required: [id, conversationId, platform, platformMessageId, direction, text, attachments, sender, sentAt, isRead]
|
|
822
858
|
properties:
|
|
823
859
|
id:
|
|
824
860
|
type: string
|
|
@@ -828,13 +864,13 @@ components:
|
|
|
828
864
|
description: Internal conversation ID
|
|
829
865
|
platform:
|
|
830
866
|
type: string
|
|
831
|
-
enum: [instagram, facebook, telegram,
|
|
867
|
+
enum: [instagram, facebook, telegram, whatsapp]
|
|
832
868
|
platformMessageId:
|
|
833
869
|
type: string
|
|
834
870
|
description: Platform's message ID
|
|
835
871
|
direction:
|
|
836
872
|
type: string
|
|
837
|
-
enum: [incoming]
|
|
873
|
+
enum: [incoming, outgoing]
|
|
838
874
|
text:
|
|
839
875
|
type: string
|
|
840
876
|
nullable: true
|
|
@@ -843,6 +879,7 @@ components:
|
|
|
843
879
|
type: array
|
|
844
880
|
items:
|
|
845
881
|
type: object
|
|
882
|
+
required: [type, url]
|
|
846
883
|
properties:
|
|
847
884
|
type:
|
|
848
885
|
type: string
|
|
@@ -855,6 +892,7 @@ components:
|
|
|
855
892
|
description: Additional attachment metadata
|
|
856
893
|
sender:
|
|
857
894
|
type: object
|
|
895
|
+
required: [id]
|
|
858
896
|
properties:
|
|
859
897
|
id:
|
|
860
898
|
type: string
|
|
@@ -866,7 +904,6 @@ components:
|
|
|
866
904
|
type: string
|
|
867
905
|
instagramProfile:
|
|
868
906
|
type: object
|
|
869
|
-
nullable: true
|
|
870
907
|
description: Instagram profile data for the sender. Only present for Instagram conversations.
|
|
871
908
|
properties:
|
|
872
909
|
isFollower:
|
|
@@ -892,6 +929,7 @@ components:
|
|
|
892
929
|
type: boolean
|
|
893
930
|
conversation:
|
|
894
931
|
type: object
|
|
932
|
+
required: [id, platformConversationId, status]
|
|
895
933
|
properties:
|
|
896
934
|
id:
|
|
897
935
|
type: string
|
|
@@ -905,16 +943,12 @@ components:
|
|
|
905
943
|
type: string
|
|
906
944
|
participantPicture:
|
|
907
945
|
type: string
|
|
908
|
-
participantVerifiedType:
|
|
909
|
-
type: string
|
|
910
|
-
nullable: true
|
|
911
|
-
enum: [blue, government, business, none]
|
|
912
|
-
description: X/Twitter verified badge type. Only present for Twitter/X conversations.
|
|
913
946
|
status:
|
|
914
947
|
type: string
|
|
915
948
|
enum: [active, archived]
|
|
916
949
|
account:
|
|
917
950
|
type: object
|
|
951
|
+
required: [id, platform, username]
|
|
918
952
|
properties:
|
|
919
953
|
id:
|
|
920
954
|
type: string
|
|
@@ -945,6 +979,23 @@ components:
|
|
|
945
979
|
timestamp:
|
|
946
980
|
type: string
|
|
947
981
|
format: date-time
|
|
982
|
+
WebhookPayloadTest:
|
|
983
|
+
type: object
|
|
984
|
+
description: Webhook payload for test deliveries
|
|
985
|
+
required: [id, event, message, timestamp]
|
|
986
|
+
properties:
|
|
987
|
+
id:
|
|
988
|
+
type: string
|
|
989
|
+
description: Stable webhook event ID
|
|
990
|
+
event:
|
|
991
|
+
type: string
|
|
992
|
+
enum: [webhook.test]
|
|
993
|
+
message:
|
|
994
|
+
type: string
|
|
995
|
+
description: Human-readable test message
|
|
996
|
+
timestamp:
|
|
997
|
+
type: string
|
|
998
|
+
format: date-time
|
|
948
999
|
PostLog:
|
|
949
1000
|
type: object
|
|
950
1001
|
description: Publishing log entry showing details of a post publishing attempt
|
|
@@ -2413,6 +2464,172 @@ components:
|
|
|
2413
2464
|
properties:
|
|
2414
2465
|
user:
|
|
2415
2466
|
$ref: '#/components/schemas/User'
|
|
2467
|
+
webhooks:
|
|
2468
|
+
post.scheduled:
|
|
2469
|
+
post:
|
|
2470
|
+
operationId: onPostScheduled
|
|
2471
|
+
summary: Post scheduled event
|
|
2472
|
+
description: Fired when a post is created and scheduled for publishing.
|
|
2473
|
+
tags: [Webhook Events]
|
|
2474
|
+
requestBody:
|
|
2475
|
+
required: true
|
|
2476
|
+
content:
|
|
2477
|
+
application/json:
|
|
2478
|
+
schema:
|
|
2479
|
+
$ref: '#/components/schemas/WebhookPayloadPost'
|
|
2480
|
+
responses:
|
|
2481
|
+
'200':
|
|
2482
|
+
description: Webhook received successfully
|
|
2483
|
+
post.published:
|
|
2484
|
+
post:
|
|
2485
|
+
operationId: onPostPublished
|
|
2486
|
+
summary: Post published event
|
|
2487
|
+
description: Fired when a post is successfully published.
|
|
2488
|
+
tags: [Webhook Events]
|
|
2489
|
+
requestBody:
|
|
2490
|
+
required: true
|
|
2491
|
+
content:
|
|
2492
|
+
application/json:
|
|
2493
|
+
schema:
|
|
2494
|
+
$ref: '#/components/schemas/WebhookPayloadPost'
|
|
2495
|
+
responses:
|
|
2496
|
+
'200':
|
|
2497
|
+
description: Webhook received successfully
|
|
2498
|
+
post.failed:
|
|
2499
|
+
post:
|
|
2500
|
+
operationId: onPostFailed
|
|
2501
|
+
summary: Post failed event
|
|
2502
|
+
description: Fired when a post fails to publish on all target platforms.
|
|
2503
|
+
tags: [Webhook Events]
|
|
2504
|
+
requestBody:
|
|
2505
|
+
required: true
|
|
2506
|
+
content:
|
|
2507
|
+
application/json:
|
|
2508
|
+
schema:
|
|
2509
|
+
$ref: '#/components/schemas/WebhookPayloadPost'
|
|
2510
|
+
responses:
|
|
2511
|
+
'200':
|
|
2512
|
+
description: Webhook received successfully
|
|
2513
|
+
post.partial:
|
|
2514
|
+
post:
|
|
2515
|
+
operationId: onPostPartial
|
|
2516
|
+
summary: Post partial event
|
|
2517
|
+
description: Fired when a post publishes on some platforms and fails on others.
|
|
2518
|
+
tags: [Webhook Events]
|
|
2519
|
+
requestBody:
|
|
2520
|
+
required: true
|
|
2521
|
+
content:
|
|
2522
|
+
application/json:
|
|
2523
|
+
schema:
|
|
2524
|
+
$ref: '#/components/schemas/WebhookPayloadPost'
|
|
2525
|
+
responses:
|
|
2526
|
+
'200':
|
|
2527
|
+
description: Webhook received successfully
|
|
2528
|
+
post.cancelled:
|
|
2529
|
+
post:
|
|
2530
|
+
operationId: onPostCancelled
|
|
2531
|
+
summary: Post cancelled event
|
|
2532
|
+
description: Fired when a post publishing job is cancelled.
|
|
2533
|
+
tags: [Webhook Events]
|
|
2534
|
+
requestBody:
|
|
2535
|
+
required: true
|
|
2536
|
+
content:
|
|
2537
|
+
application/json:
|
|
2538
|
+
schema:
|
|
2539
|
+
$ref: '#/components/schemas/WebhookPayloadPost'
|
|
2540
|
+
responses:
|
|
2541
|
+
'200':
|
|
2542
|
+
description: Webhook received successfully
|
|
2543
|
+
post.recycled:
|
|
2544
|
+
post:
|
|
2545
|
+
operationId: onPostRecycled
|
|
2546
|
+
summary: Post recycled event
|
|
2547
|
+
description: Fired when a post is recycled (cloned and re-scheduled for publishing).
|
|
2548
|
+
tags: [Webhook Events]
|
|
2549
|
+
requestBody:
|
|
2550
|
+
required: true
|
|
2551
|
+
content:
|
|
2552
|
+
application/json:
|
|
2553
|
+
schema:
|
|
2554
|
+
$ref: '#/components/schemas/WebhookPayloadPost'
|
|
2555
|
+
responses:
|
|
2556
|
+
'200':
|
|
2557
|
+
description: Webhook received successfully
|
|
2558
|
+
account.connected:
|
|
2559
|
+
post:
|
|
2560
|
+
operationId: onAccountConnected
|
|
2561
|
+
summary: Account connected event
|
|
2562
|
+
description: Fired when a social account is successfully connected.
|
|
2563
|
+
tags: [Webhook Events]
|
|
2564
|
+
requestBody:
|
|
2565
|
+
required: true
|
|
2566
|
+
content:
|
|
2567
|
+
application/json:
|
|
2568
|
+
schema:
|
|
2569
|
+
$ref: '#/components/schemas/WebhookPayloadAccountConnected'
|
|
2570
|
+
responses:
|
|
2571
|
+
'200':
|
|
2572
|
+
description: Webhook received successfully
|
|
2573
|
+
account.disconnected:
|
|
2574
|
+
post:
|
|
2575
|
+
operationId: onAccountDisconnected
|
|
2576
|
+
summary: Account disconnected event
|
|
2577
|
+
description: Fired when a connected social account becomes disconnected.
|
|
2578
|
+
tags: [Webhook Events]
|
|
2579
|
+
requestBody:
|
|
2580
|
+
required: true
|
|
2581
|
+
content:
|
|
2582
|
+
application/json:
|
|
2583
|
+
schema:
|
|
2584
|
+
$ref: '#/components/schemas/WebhookPayloadAccountDisconnected'
|
|
2585
|
+
responses:
|
|
2586
|
+
'200':
|
|
2587
|
+
description: Webhook received successfully
|
|
2588
|
+
message.received:
|
|
2589
|
+
post:
|
|
2590
|
+
operationId: onMessageReceived
|
|
2591
|
+
summary: Message received event
|
|
2592
|
+
description: Fired when a new inbox message is received.
|
|
2593
|
+
tags: [Webhook Events]
|
|
2594
|
+
requestBody:
|
|
2595
|
+
required: true
|
|
2596
|
+
content:
|
|
2597
|
+
application/json:
|
|
2598
|
+
schema:
|
|
2599
|
+
$ref: '#/components/schemas/WebhookPayloadMessage'
|
|
2600
|
+
responses:
|
|
2601
|
+
'200':
|
|
2602
|
+
description: Webhook received successfully
|
|
2603
|
+
comment.received:
|
|
2604
|
+
post:
|
|
2605
|
+
operationId: onCommentReceived
|
|
2606
|
+
summary: Comment received event
|
|
2607
|
+
description: Fired when a new comment is received on a tracked post.
|
|
2608
|
+
tags: [Webhook Events]
|
|
2609
|
+
requestBody:
|
|
2610
|
+
required: true
|
|
2611
|
+
content:
|
|
2612
|
+
application/json:
|
|
2613
|
+
schema:
|
|
2614
|
+
$ref: '#/components/schemas/WebhookPayloadComment'
|
|
2615
|
+
responses:
|
|
2616
|
+
'200':
|
|
2617
|
+
description: Webhook received successfully
|
|
2618
|
+
webhook.test:
|
|
2619
|
+
post:
|
|
2620
|
+
operationId: onWebhookTest
|
|
2621
|
+
summary: Webhook test event
|
|
2622
|
+
description: Fired when sending a test webhook to verify the endpoint configuration.
|
|
2623
|
+
tags: [Webhook Events]
|
|
2624
|
+
requestBody:
|
|
2625
|
+
required: true
|
|
2626
|
+
content:
|
|
2627
|
+
application/json:
|
|
2628
|
+
schema:
|
|
2629
|
+
$ref: '#/components/schemas/WebhookPayloadTest'
|
|
2630
|
+
responses:
|
|
2631
|
+
'200':
|
|
2632
|
+
description: Webhook received successfully
|
|
2416
2633
|
security:
|
|
2417
2634
|
- bearerAuth: []
|
|
2418
2635
|
paths:
|
|
@@ -10305,7 +10522,7 @@ paths:
|
|
|
10305
10522
|
type: array
|
|
10306
10523
|
items:
|
|
10307
10524
|
type: string
|
|
10308
|
-
enum: [post.scheduled, post.published, post.failed, post.partial, post.recycled, account.connected, account.disconnected, message.received, comment.received]
|
|
10525
|
+
enum: [post.scheduled, post.published, post.failed, post.partial, post.cancelled, post.recycled, account.connected, account.disconnected, message.received, comment.received]
|
|
10309
10526
|
description: Events to subscribe to
|
|
10310
10527
|
isActive:
|
|
10311
10528
|
type: boolean
|
|
@@ -10322,7 +10539,7 @@ paths:
|
|
|
10322
10539
|
name: "My Production Webhook"
|
|
10323
10540
|
url: "https://example.com/webhook"
|
|
10324
10541
|
secret: "your-secret-key"
|
|
10325
|
-
events: ["post.scheduled", "post.published", "post.failed", "post.partial", "account.connected", "account.disconnected", "message.received", "comment.received"]
|
|
10542
|
+
events: ["post.scheduled", "post.published", "post.failed", "post.partial", "post.cancelled", "post.recycled", "account.connected", "account.disconnected", "message.received", "comment.received"]
|
|
10326
10543
|
isActive: true
|
|
10327
10544
|
responses:
|
|
10328
10545
|
'200':
|
|
@@ -10374,7 +10591,7 @@ paths:
|
|
|
10374
10591
|
type: array
|
|
10375
10592
|
items:
|
|
10376
10593
|
type: string
|
|
10377
|
-
enum: [post.scheduled, post.published, post.failed, post.partial, post.recycled, account.connected, account.disconnected, message.received, comment.received]
|
|
10594
|
+
enum: [post.scheduled, post.published, post.failed, post.partial, post.cancelled, post.recycled, account.connected, account.disconnected, message.received, comment.received]
|
|
10378
10595
|
description: Events to subscribe to
|
|
10379
10596
|
isActive:
|
|
10380
10597
|
type: boolean
|
|
@@ -10516,7 +10733,7 @@ paths:
|
|
|
10516
10733
|
description: Filter by event type
|
|
10517
10734
|
schema:
|
|
10518
10735
|
type: string
|
|
10519
|
-
enum: [post.scheduled, post.published, post.failed, post.partial, post.recycled, account.connected, account.disconnected, message.received, comment.received, webhook.test]
|
|
10736
|
+
enum: [post.scheduled, post.published, post.failed, post.partial, post.cancelled, post.recycled, account.connected, account.disconnected, message.received, comment.received, webhook.test]
|
|
10520
10737
|
- name: webhookId
|
|
10521
10738
|
in: query
|
|
10522
10739
|
description: Filter by webhook ID
|
|
@@ -10855,6 +11072,8 @@ paths:
|
|
|
10855
11072
|
description: |
|
|
10856
11073
|
Fetch conversations (DMs) from all connected messaging accounts in a single API call. Supports filtering by profile and platform. Results are aggregated and deduplicated.
|
|
10857
11074
|
Supported platforms: Facebook, Instagram, Twitter/X, Bluesky, Reddit, Telegram.
|
|
11075
|
+
|
|
11076
|
+
**Twitter/X limitation:** X has replaced traditional DMs with encrypted "X Chat" for many accounts. Messages sent or received through encrypted X Chat are not accessible via X's API (the `/2/dm_events` endpoint only returns legacy unencrypted DMs). This means some Twitter/X conversations may show only outgoing messages or appear empty. This is an X platform limitation that affects all third-party applications. See [X's docs on encrypted messaging](https://help.x.com/en/using-x/about-chat) for more details.
|
|
10858
11077
|
tags: [Messages]
|
|
10859
11078
|
security: [{ bearerAuth: [] }]
|
|
10860
11079
|
parameters:
|
|
@@ -11099,7 +11318,10 @@ paths:
|
|
|
11099
11318
|
get:
|
|
11100
11319
|
operationId: getInboxConversationMessages
|
|
11101
11320
|
summary: List messages
|
|
11102
|
-
description:
|
|
11321
|
+
description: |
|
|
11322
|
+
Fetch messages for a specific conversation. Requires accountId query parameter.
|
|
11323
|
+
|
|
11324
|
+
**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](#/Messages/listInboxConversations) for more details.
|
|
11103
11325
|
tags: [Messages]
|
|
11104
11326
|
security: [{ bearerAuth: [] }]
|
|
11105
11327
|
parameters:
|
|
@@ -16472,4 +16694,3 @@ paths:
|
|
|
16472
16694
|
hasMore: { type: boolean }
|
|
16473
16695
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
16474
16696
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
16475
|
-
|
|
@@ -61,7 +61,7 @@ describe 'MessagesApi' do
|
|
|
61
61
|
|
|
62
62
|
# unit tests for get_inbox_conversation_messages
|
|
63
63
|
# List messages
|
|
64
|
-
# Fetch messages for a specific conversation. Requires accountId query parameter.
|
|
64
|
+
# Fetch messages for a specific conversation. Requires accountId query parameter. **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](#/Messages/listInboxConversations) for more details.
|
|
65
65
|
# @param conversation_id The conversation ID (id field from list conversations endpoint). This is the platform-specific conversation identifier, not an internal database ID.
|
|
66
66
|
# @param account_id Social account ID
|
|
67
67
|
# @param [Hash] opts the optional parameters
|
|
@@ -74,7 +74,7 @@ describe 'MessagesApi' do
|
|
|
74
74
|
|
|
75
75
|
# unit tests for list_inbox_conversations
|
|
76
76
|
# List conversations
|
|
77
|
-
# Fetch conversations (DMs) from all connected messaging accounts in a single API call. Supports filtering by profile and platform. Results are aggregated and deduplicated. Supported platforms: Facebook, Instagram, Twitter/X, Bluesky, Reddit, Telegram.
|
|
77
|
+
# Fetch conversations (DMs) from all connected messaging accounts in a single API call. Supports filtering by profile and platform. Results are aggregated and deduplicated. Supported platforms: Facebook, Instagram, Twitter/X, Bluesky, Reddit, Telegram. **Twitter/X limitation:** X has replaced traditional DMs with encrypted \"X Chat\" for many accounts. Messages sent or received through encrypted X Chat are not accessible via X's API (the `/2/dm_events` endpoint only returns legacy unencrypted DMs). This means some Twitter/X conversations may show only outgoing messages or appear empty. This is an X platform limitation that affects all third-party applications. See [X's docs on encrypted messaging](https://help.x.com/en/using-x/about-chat) for more details.
|
|
78
78
|
# @param [Hash] opts the optional parameters
|
|
79
79
|
# @option opts [String] :profile_id Filter by profile ID
|
|
80
80
|
# @option opts [String] :platform Filter by platform
|
|
@@ -48,7 +48,7 @@ describe Late::CreateWebhookSettingsRequest do
|
|
|
48
48
|
describe 'test attribute "events"' do
|
|
49
49
|
it 'should work' do
|
|
50
50
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('Array<String>', ["post.scheduled", "post.published", "post.failed", "post.partial", "post.recycled", "account.connected", "account.disconnected", "message.received", "comment.received"])
|
|
51
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('Array<String>', ["post.scheduled", "post.published", "post.failed", "post.partial", "post.cancelled", "post.recycled", "account.connected", "account.disconnected", "message.received", "comment.received"])
|
|
52
52
|
# validator.allowable_values.each do |value|
|
|
53
53
|
# expect { instance.events = value }.not_to raise_error
|
|
54
54
|
# end
|
|
@@ -54,7 +54,7 @@ describe Late::UpdateWebhookSettingsRequest do
|
|
|
54
54
|
describe 'test attribute "events"' do
|
|
55
55
|
it 'should work' do
|
|
56
56
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('Array<String>', ["post.scheduled", "post.published", "post.failed", "post.partial", "post.recycled", "account.connected", "account.disconnected", "message.received", "comment.received"])
|
|
57
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('Array<String>', ["post.scheduled", "post.published", "post.failed", "post.partial", "post.cancelled", "post.recycled", "account.connected", "account.disconnected", "message.received", "comment.received"])
|
|
58
58
|
# validator.allowable_values.each do |value|
|
|
59
59
|
# expect { instance.events = value }.not_to raise_error
|
|
60
60
|
# end
|
|
@@ -48,7 +48,7 @@ describe Late::WebhookLog do
|
|
|
48
48
|
describe 'test attribute "event"' do
|
|
49
49
|
it 'should work' do
|
|
50
50
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["post.scheduled", "post.published", "post.failed", "post.partial", "post.recycled", "account.connected", "account.disconnected", "message.received", "comment.received", "webhook.test"])
|
|
51
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["post.scheduled", "post.published", "post.failed", "post.partial", "post.cancelled", "post.recycled", "account.connected", "account.disconnected", "message.received", "comment.received", "webhook.test"])
|
|
52
52
|
# validator.allowable_values.each do |value|
|
|
53
53
|
# expect { instance.event = value }.not_to raise_error
|
|
54
54
|
# end
|
|
@@ -27,6 +27,12 @@ describe Late::WebhookPayloadAccountConnected do
|
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
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
|
+
|
|
30
36
|
describe 'test attribute "event"' do
|
|
31
37
|
it 'should work' do
|
|
32
38
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -27,6 +27,12 @@ describe Late::WebhookPayloadAccountDisconnected do
|
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
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
|
+
|
|
30
36
|
describe 'test attribute "event"' do
|
|
31
37
|
it 'should work' do
|
|
32
38
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -27,6 +27,12 @@ describe Late::WebhookPayloadComment do
|
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
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
|
+
|
|
30
36
|
describe 'test attribute "event"' do
|
|
31
37
|
it 'should work' do
|
|
32
38
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -63,16 +63,6 @@ describe Late::WebhookPayloadMessageConversation do
|
|
|
63
63
|
end
|
|
64
64
|
end
|
|
65
65
|
|
|
66
|
-
describe 'test attribute "participant_verified_type"' do
|
|
67
|
-
it 'should work' do
|
|
68
|
-
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
69
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["blue", "government", "business", "none"])
|
|
70
|
-
# validator.allowable_values.each do |value|
|
|
71
|
-
# expect { instance.participant_verified_type = value }.not_to raise_error
|
|
72
|
-
# end
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
|
|
76
66
|
describe 'test attribute "status"' do
|
|
77
67
|
it 'should work' do
|
|
78
68
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -42,7 +42,7 @@ describe Late::WebhookPayloadMessageMessage do
|
|
|
42
42
|
describe 'test attribute "platform"' do
|
|
43
43
|
it 'should work' do
|
|
44
44
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["instagram", "facebook", "telegram", "
|
|
45
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["instagram", "facebook", "telegram", "whatsapp"])
|
|
46
46
|
# validator.allowable_values.each do |value|
|
|
47
47
|
# expect { instance.platform = value }.not_to raise_error
|
|
48
48
|
# end
|
|
@@ -58,7 +58,7 @@ describe Late::WebhookPayloadMessageMessage do
|
|
|
58
58
|
describe 'test attribute "direction"' do
|
|
59
59
|
it 'should work' do
|
|
60
60
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
61
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["incoming"])
|
|
61
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["incoming", "outgoing"])
|
|
62
62
|
# validator.allowable_values.each do |value|
|
|
63
63
|
# expect { instance.direction = value }.not_to raise_error
|
|
64
64
|
# end
|
|
@@ -27,6 +27,12 @@ describe Late::WebhookPayloadMessage do
|
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
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
|
+
|
|
30
36
|
describe 'test attribute "event"' do
|
|
31
37
|
it 'should work' do
|
|
32
38
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -39,6 +39,12 @@ describe Late::WebhookPayloadPostPostPlatformsInner do
|
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
describe 'test attribute "platform_post_id"' 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
|
+
|
|
42
48
|
describe 'test attribute "published_url"' do
|
|
43
49
|
it 'should work' do
|
|
44
50
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|