late-sdk 0.0.83 → 0.0.85

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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -0
  3. data/docs/AddWhatsAppGroupParticipantsRequest.md +18 -0
  4. data/docs/ApproveWhatsAppGroupJoinRequestsRequest.md +18 -0
  5. data/docs/CreateWhatsAppGroupChat201Response.md +20 -0
  6. data/docs/CreateWhatsAppGroupChat201ResponseGroup.md +20 -0
  7. data/docs/CreateWhatsAppGroupChatRequest.md +24 -0
  8. data/docs/CreateWhatsAppGroupInviteLink200Response.md +20 -0
  9. data/docs/GetWhatsAppGroupChat200Response.md +20 -0
  10. data/docs/GetWhatsAppGroupChat200ResponseGroup.md +32 -0
  11. data/docs/GetWhatsAppGroupChat200ResponseGroupParticipantsInner.md +20 -0
  12. data/docs/ListWhatsAppGroupChats200Response.md +20 -0
  13. data/docs/ListWhatsAppGroupChats200ResponseGroupsInner.md +22 -0
  14. data/docs/ListWhatsAppGroupChats200ResponsePaging.md +18 -0
  15. data/docs/ListWhatsAppGroupChats200ResponsePagingCursors.md +20 -0
  16. data/docs/ListWhatsAppGroupJoinRequests200Response.md +20 -0
  17. data/docs/ListWhatsAppGroupJoinRequests200ResponseJoinRequestsInner.md +20 -0
  18. data/docs/PostsApi.md +72 -0
  19. data/docs/RejectWhatsAppGroupJoinRequestsRequest.md +18 -0
  20. data/docs/RemoveWhatsAppGroupParticipantsRequest.md +18 -0
  21. data/docs/UpdatePostMetadata200Response.md +22 -0
  22. data/docs/UpdatePostMetadataRequest.md +28 -0
  23. data/docs/UpdateWhatsAppGroupChatRequest.md +22 -0
  24. data/docs/WhatsAppApi.md +958 -154
  25. data/lib/late-sdk/api/posts_api.rb +74 -0
  26. data/lib/late-sdk/api/whats_app_api.rb +945 -118
  27. data/lib/late-sdk/models/add_whats_app_group_participants_request.rb +176 -0
  28. data/lib/late-sdk/models/approve_whats_app_group_join_requests_request.rb +167 -0
  29. data/lib/late-sdk/models/create_whats_app_group_chat201_response.rb +156 -0
  30. data/lib/late-sdk/models/create_whats_app_group_chat201_response_group.rb +156 -0
  31. data/lib/late-sdk/models/create_whats_app_group_chat_request.rb +274 -0
  32. data/lib/late-sdk/models/create_whats_app_group_invite_link200_response.rb +156 -0
  33. data/lib/late-sdk/models/get_whats_app_group_chat200_response.rb +156 -0
  34. data/lib/late-sdk/models/get_whats_app_group_chat200_response_group.rb +213 -0
  35. data/lib/late-sdk/models/get_whats_app_group_chat200_response_group_participants_inner.rb +157 -0
  36. data/lib/late-sdk/models/list_whats_app_group_chats200_response.rb +158 -0
  37. data/lib/late-sdk/models/list_whats_app_group_chats200_response_groups_inner.rb +168 -0
  38. data/lib/late-sdk/models/list_whats_app_group_chats200_response_paging.rb +147 -0
  39. data/lib/late-sdk/models/list_whats_app_group_chats200_response_paging_cursors.rb +156 -0
  40. data/lib/late-sdk/models/list_whats_app_group_join_requests200_response.rb +158 -0
  41. data/lib/late-sdk/models/list_whats_app_group_join_requests200_response_join_requests_inner.rb +158 -0
  42. data/lib/late-sdk/models/reject_whats_app_group_join_requests_request.rb +167 -0
  43. data/lib/late-sdk/models/remove_whats_app_group_participants_request.rb +167 -0
  44. data/lib/late-sdk/models/update_post_metadata200_response.rb +167 -0
  45. data/lib/late-sdk/models/update_post_metadata_request.rb +272 -0
  46. data/lib/late-sdk/models/update_whats_app_group_chat_request.rb +237 -0
  47. data/lib/late-sdk/version.rb +1 -1
  48. data/lib/late-sdk.rb +20 -0
  49. data/openapi.yaml +448 -0
  50. data/spec/api/posts_api_spec.rb +13 -0
  51. data/spec/api/whats_app_api_spec.rb +148 -0
  52. data/spec/models/add_whats_app_group_participants_request_spec.rb +36 -0
  53. data/spec/models/approve_whats_app_group_join_requests_request_spec.rb +36 -0
  54. data/spec/models/create_whats_app_group_chat201_response_group_spec.rb +42 -0
  55. data/spec/models/create_whats_app_group_chat201_response_spec.rb +42 -0
  56. data/spec/models/create_whats_app_group_chat_request_spec.rb +58 -0
  57. data/spec/models/create_whats_app_group_invite_link200_response_spec.rb +42 -0
  58. data/spec/models/get_whats_app_group_chat200_response_group_participants_inner_spec.rb +42 -0
  59. data/spec/models/get_whats_app_group_chat200_response_group_spec.rb +78 -0
  60. data/spec/models/get_whats_app_group_chat200_response_spec.rb +42 -0
  61. data/spec/models/list_whats_app_group_chats200_response_groups_inner_spec.rb +48 -0
  62. data/spec/models/list_whats_app_group_chats200_response_paging_cursors_spec.rb +42 -0
  63. data/spec/models/list_whats_app_group_chats200_response_paging_spec.rb +36 -0
  64. data/spec/models/list_whats_app_group_chats200_response_spec.rb +42 -0
  65. data/spec/models/list_whats_app_group_join_requests200_response_join_requests_inner_spec.rb +42 -0
  66. data/spec/models/list_whats_app_group_join_requests200_response_spec.rb +42 -0
  67. data/spec/models/reject_whats_app_group_join_requests_request_spec.rb +36 -0
  68. data/spec/models/remove_whats_app_group_participants_request_spec.rb +36 -0
  69. data/spec/models/update_post_metadata200_response_spec.rb +48 -0
  70. data/spec/models/update_post_metadata_request_spec.rb +74 -0
  71. data/spec/models/update_whats_app_group_chat_request_spec.rb +52 -0
  72. data/zernio-sdk-0.0.85.gem +0 -0
  73. metadata +716 -636
  74. data/zernio-sdk-0.0.83.gem +0 -0
data/openapi.yaml CHANGED
@@ -5360,6 +5360,83 @@ paths:
5360
5360
  '404': { $ref: '#/components/responses/NotFound' }
5361
5361
  '500':
5362
5362
  description: Platform API deletion failed
5363
+ /v1/posts/{postId}/update-metadata:
5364
+ post:
5365
+ operationId: updatePostMetadata
5366
+ tags: [Posts]
5367
+ summary: Update post metadata
5368
+ description: |
5369
+ Updates metadata of an already-published post on the specified platform without re-uploading the media.
5370
+ Currently only supported for YouTube videos (title, description, tags, category, privacy status).
5371
+ The post must have "published" status on the target platform. At least one updatable field is required.
5372
+ parameters:
5373
+ - name: postId
5374
+ in: path
5375
+ required: true
5376
+ schema: { type: string }
5377
+ requestBody:
5378
+ required: true
5379
+ content:
5380
+ application/json:
5381
+ schema:
5382
+ type: object
5383
+ required: [platform]
5384
+ properties:
5385
+ platform:
5386
+ type: string
5387
+ description: The platform to update metadata on
5388
+ enum:
5389
+ - youtube
5390
+ title:
5391
+ type: string
5392
+ maxLength: 100
5393
+ description: New video title (max 100 characters for YouTube)
5394
+ description:
5395
+ type: string
5396
+ description: New video description
5397
+ tags:
5398
+ type: array
5399
+ items:
5400
+ type: string
5401
+ maxLength: 100
5402
+ description: Array of keyword tags (max 500 characters combined for YouTube)
5403
+ categoryId:
5404
+ type: string
5405
+ description: YouTube video category ID
5406
+ privacyStatus:
5407
+ type: string
5408
+ enum: [public, private, unlisted]
5409
+ description: Video privacy setting
5410
+ example:
5411
+ platform: "youtube"
5412
+ title: "Updated Video Title"
5413
+ description: "New SEO-optimized description"
5414
+ tags: ["seo", "marketing", "tutorial"]
5415
+ responses:
5416
+ '200':
5417
+ description: Metadata updated successfully
5418
+ content:
5419
+ application/json:
5420
+ schema:
5421
+ type: object
5422
+ properties:
5423
+ success: { type: boolean }
5424
+ message: { type: string }
5425
+ updatedFields:
5426
+ type: array
5427
+ items: { type: string }
5428
+ example:
5429
+ success: true
5430
+ message: "Video metadata updated on youtube successfully"
5431
+ updatedFields: ["title", "description", "tags"]
5432
+ '400':
5433
+ description: "Invalid request: unsupported platform, post not published, missing fields, or validation error."
5434
+ '401': { $ref: '#/components/responses/Unauthorized' }
5435
+ '403':
5436
+ description: Forbidden
5437
+ '404': { $ref: '#/components/responses/NotFound' }
5438
+ '500':
5439
+ description: Platform API update failed
5363
5440
  /v1/users:
5364
5441
  get:
5365
5442
  operationId: listUsers
@@ -14625,6 +14702,377 @@ paths:
14625
14702
  '401': { $ref: '#/components/responses/Unauthorized' }
14626
14703
  '404': { $ref: '#/components/responses/NotFound' }
14627
14704
 
14705
+ # ─── WhatsApp Group Chats (platform groups, not contact groups) ──
14706
+
14707
+ /v1/whatsapp/wa-groups:
14708
+ get:
14709
+ operationId: listWhatsAppGroupChats
14710
+ tags: [WhatsApp]
14711
+ summary: List active groups
14712
+ description: |
14713
+ List active WhatsApp group chats for a business phone number.
14714
+ These are actual WhatsApp group conversations on the platform.
14715
+ security:
14716
+ - bearerAuth: []
14717
+ parameters:
14718
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
14719
+ - { name: limit, in: query, schema: { type: integer, default: 25, maximum: 1024 }, description: Max groups to return }
14720
+ - { name: after, in: query, schema: { type: string }, description: Pagination cursor }
14721
+ responses:
14722
+ '200':
14723
+ description: List of active groups
14724
+ content:
14725
+ application/json:
14726
+ schema:
14727
+ type: object
14728
+ properties:
14729
+ groups:
14730
+ type: array
14731
+ items:
14732
+ type: object
14733
+ properties:
14734
+ id: { type: string, description: Group ID }
14735
+ subject: { type: string, description: Group name }
14736
+ createdAt: { type: string, description: Group creation timestamp }
14737
+ paging:
14738
+ type: object
14739
+ properties:
14740
+ cursors:
14741
+ type: object
14742
+ properties:
14743
+ after: { type: string }
14744
+ before: { type: string }
14745
+ '401': { $ref: '#/components/responses/Unauthorized' }
14746
+ post:
14747
+ operationId: createWhatsAppGroupChat
14748
+ tags: [WhatsApp]
14749
+ summary: Create group
14750
+ description: |
14751
+ Create a new WhatsApp group chat. Returns the group ID and optionally an invite link.
14752
+ security:
14753
+ - bearerAuth: []
14754
+ requestBody:
14755
+ required: true
14756
+ content:
14757
+ application/json:
14758
+ schema:
14759
+ type: object
14760
+ required: [accountId, subject]
14761
+ properties:
14762
+ accountId: { type: string, description: WhatsApp social account ID }
14763
+ subject: { type: string, maxLength: 128, description: Group name (max 128 characters) }
14764
+ description: { type: string, maxLength: 2048, description: Group description (max 2048 characters) }
14765
+ joinApprovalMode:
14766
+ type: string
14767
+ enum: [approval_required, auto_approve]
14768
+ description: Whether users need approval to join via invite link
14769
+ responses:
14770
+ '201':
14771
+ description: Group created
14772
+ content:
14773
+ application/json:
14774
+ schema:
14775
+ type: object
14776
+ properties:
14777
+ success: { type: boolean }
14778
+ group:
14779
+ type: object
14780
+ properties:
14781
+ groupId: { type: string }
14782
+ inviteLink: { type: string }
14783
+ '401': { $ref: '#/components/responses/Unauthorized' }
14784
+
14785
+ /v1/whatsapp/wa-groups/{groupId}:
14786
+ get:
14787
+ operationId: getWhatsAppGroupChat
14788
+ tags: [WhatsApp]
14789
+ summary: Get group info
14790
+ description: |
14791
+ Retrieve metadata about a WhatsApp group including subject, description,
14792
+ participants, and settings.
14793
+ security:
14794
+ - bearerAuth: []
14795
+ parameters:
14796
+ - { name: groupId, in: path, required: true, schema: { type: string }, description: Group ID }
14797
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
14798
+ responses:
14799
+ '200':
14800
+ description: Group info
14801
+ content:
14802
+ application/json:
14803
+ schema:
14804
+ type: object
14805
+ properties:
14806
+ success: { type: boolean }
14807
+ group:
14808
+ type: object
14809
+ properties:
14810
+ id: { type: string }
14811
+ subject: { type: string }
14812
+ description: { type: string }
14813
+ joinApprovalMode: { type: string }
14814
+ participants:
14815
+ type: array
14816
+ items:
14817
+ type: object
14818
+ properties:
14819
+ user: { type: string, description: Phone number }
14820
+ admin: { type: string }
14821
+ participantCount: { type: integer }
14822
+ createdAt: { type: integer, description: UNIX timestamp }
14823
+ isSuspended: { type: boolean }
14824
+ '401': { $ref: '#/components/responses/Unauthorized' }
14825
+ '404': { $ref: '#/components/responses/NotFound' }
14826
+ post:
14827
+ operationId: updateWhatsAppGroupChat
14828
+ tags: [WhatsApp]
14829
+ summary: Update group settings
14830
+ description: |
14831
+ Update the subject, description, or join approval mode of a WhatsApp group.
14832
+ security:
14833
+ - bearerAuth: []
14834
+ parameters:
14835
+ - { name: groupId, in: path, required: true, schema: { type: string }, description: Group ID }
14836
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
14837
+ requestBody:
14838
+ required: true
14839
+ content:
14840
+ application/json:
14841
+ schema:
14842
+ type: object
14843
+ properties:
14844
+ subject: { type: string, maxLength: 128 }
14845
+ description: { type: string, maxLength: 2048 }
14846
+ joinApprovalMode: { type: string, enum: [approval_required, auto_approve] }
14847
+ responses:
14848
+ '200':
14849
+ description: Group updated
14850
+ content:
14851
+ application/json:
14852
+ schema:
14853
+ type: object
14854
+ properties:
14855
+ success: { type: boolean }
14856
+ message: { type: string }
14857
+ '401': { $ref: '#/components/responses/Unauthorized' }
14858
+ '404': { $ref: '#/components/responses/NotFound' }
14859
+ delete:
14860
+ operationId: deleteWhatsAppGroupChat
14861
+ tags: [WhatsApp]
14862
+ summary: Delete group
14863
+ description: |
14864
+ Delete a WhatsApp group and remove all participants.
14865
+ security:
14866
+ - bearerAuth: []
14867
+ parameters:
14868
+ - { name: groupId, in: path, required: true, schema: { type: string }, description: Group ID }
14869
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
14870
+ responses:
14871
+ '200':
14872
+ description: Group deleted
14873
+ content:
14874
+ application/json:
14875
+ schema:
14876
+ type: object
14877
+ properties:
14878
+ success: { type: boolean }
14879
+ message: { type: string }
14880
+ '401': { $ref: '#/components/responses/Unauthorized' }
14881
+ '404': { $ref: '#/components/responses/NotFound' }
14882
+
14883
+ /v1/whatsapp/wa-groups/{groupId}/participants:
14884
+ post:
14885
+ operationId: addWhatsAppGroupParticipants
14886
+ tags: [WhatsApp]
14887
+ summary: Add participants
14888
+ description: |
14889
+ Add participants to a WhatsApp group. Maximum 8 participants per request.
14890
+ security:
14891
+ - bearerAuth: []
14892
+ parameters:
14893
+ - { name: groupId, in: path, required: true, schema: { type: string }, description: Group ID }
14894
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
14895
+ requestBody:
14896
+ required: true
14897
+ content:
14898
+ application/json:
14899
+ schema:
14900
+ type: object
14901
+ required: [phoneNumbers]
14902
+ properties:
14903
+ phoneNumbers:
14904
+ type: array
14905
+ maxItems: 8
14906
+ items: { type: string }
14907
+ description: Phone numbers in E.164 format (max 8)
14908
+ responses:
14909
+ '200':
14910
+ description: Participants added
14911
+ content:
14912
+ application/json:
14913
+ schema:
14914
+ type: object
14915
+ properties:
14916
+ success: { type: boolean }
14917
+ message: { type: string }
14918
+ '401': { $ref: '#/components/responses/Unauthorized' }
14919
+ delete:
14920
+ operationId: removeWhatsAppGroupParticipants
14921
+ tags: [WhatsApp]
14922
+ summary: Remove participants
14923
+ description: |
14924
+ Remove participants from a WhatsApp group.
14925
+ security:
14926
+ - bearerAuth: []
14927
+ parameters:
14928
+ - { name: groupId, in: path, required: true, schema: { type: string }, description: Group ID }
14929
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
14930
+ requestBody:
14931
+ required: true
14932
+ content:
14933
+ application/json:
14934
+ schema:
14935
+ type: object
14936
+ required: [phoneNumbers]
14937
+ properties:
14938
+ phoneNumbers:
14939
+ type: array
14940
+ items: { type: string }
14941
+ description: Phone numbers to remove
14942
+ responses:
14943
+ '200':
14944
+ description: Participants removed
14945
+ content:
14946
+ application/json:
14947
+ schema:
14948
+ type: object
14949
+ properties:
14950
+ success: { type: boolean }
14951
+ message: { type: string }
14952
+ '401': { $ref: '#/components/responses/Unauthorized' }
14953
+
14954
+ /v1/whatsapp/wa-groups/{groupId}/invite-link:
14955
+ post:
14956
+ operationId: createWhatsAppGroupInviteLink
14957
+ tags: [WhatsApp]
14958
+ summary: Create invite link
14959
+ description: |
14960
+ Create a new invite link for a WhatsApp group. The previous link is revoked.
14961
+ security:
14962
+ - bearerAuth: []
14963
+ parameters:
14964
+ - { name: groupId, in: path, required: true, schema: { type: string }, description: Group ID }
14965
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
14966
+ responses:
14967
+ '200':
14968
+ description: Invite link created
14969
+ content:
14970
+ application/json:
14971
+ schema:
14972
+ type: object
14973
+ properties:
14974
+ success: { type: boolean }
14975
+ inviteLink: { type: string }
14976
+ '401': { $ref: '#/components/responses/Unauthorized' }
14977
+
14978
+ /v1/whatsapp/wa-groups/{groupId}/join-requests:
14979
+ get:
14980
+ operationId: listWhatsAppGroupJoinRequests
14981
+ tags: [WhatsApp]
14982
+ summary: List join requests
14983
+ description: |
14984
+ List pending join requests for a WhatsApp group (only for groups with approval_required mode).
14985
+ security:
14986
+ - bearerAuth: []
14987
+ parameters:
14988
+ - { name: groupId, in: path, required: true, schema: { type: string }, description: Group ID }
14989
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
14990
+ responses:
14991
+ '200':
14992
+ description: Join requests
14993
+ content:
14994
+ application/json:
14995
+ schema:
14996
+ type: object
14997
+ properties:
14998
+ success: { type: boolean }
14999
+ joinRequests:
15000
+ type: array
15001
+ items:
15002
+ type: object
15003
+ properties:
15004
+ user: { type: string, description: Phone number }
15005
+ timestamp: { type: integer, description: UNIX timestamp of request }
15006
+ '401': { $ref: '#/components/responses/Unauthorized' }
15007
+ post:
15008
+ operationId: approveWhatsAppGroupJoinRequests
15009
+ tags: [WhatsApp]
15010
+ summary: Approve join requests
15011
+ description: |
15012
+ Approve pending join requests for a WhatsApp group.
15013
+ security:
15014
+ - bearerAuth: []
15015
+ parameters:
15016
+ - { name: groupId, in: path, required: true, schema: { type: string }, description: Group ID }
15017
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
15018
+ requestBody:
15019
+ required: true
15020
+ content:
15021
+ application/json:
15022
+ schema:
15023
+ type: object
15024
+ required: [phoneNumbers]
15025
+ properties:
15026
+ phoneNumbers:
15027
+ type: array
15028
+ items: { type: string }
15029
+ description: Phone numbers to approve
15030
+ responses:
15031
+ '200':
15032
+ description: Requests approved
15033
+ content:
15034
+ application/json:
15035
+ schema:
15036
+ type: object
15037
+ properties:
15038
+ success: { type: boolean }
15039
+ message: { type: string }
15040
+ '401': { $ref: '#/components/responses/Unauthorized' }
15041
+ delete:
15042
+ operationId: rejectWhatsAppGroupJoinRequests
15043
+ tags: [WhatsApp]
15044
+ summary: Reject join requests
15045
+ description: |
15046
+ Reject pending join requests for a WhatsApp group.
15047
+ security:
15048
+ - bearerAuth: []
15049
+ parameters:
15050
+ - { name: groupId, in: path, required: true, schema: { type: string }, description: Group ID }
15051
+ - { name: accountId, in: query, required: true, schema: { type: string }, description: WhatsApp social account ID }
15052
+ requestBody:
15053
+ required: true
15054
+ content:
15055
+ application/json:
15056
+ schema:
15057
+ type: object
15058
+ required: [phoneNumbers]
15059
+ properties:
15060
+ phoneNumbers:
15061
+ type: array
15062
+ items: { type: string }
15063
+ description: Phone numbers to reject
15064
+ responses:
15065
+ '200':
15066
+ description: Requests rejected
15067
+ content:
15068
+ application/json:
15069
+ schema:
15070
+ type: object
15071
+ properties:
15072
+ success: { type: boolean }
15073
+ message: { type: string }
15074
+ '401': { $ref: '#/components/responses/Unauthorized' }
15075
+
14628
15076
  # ─── Contacts ─────────────────────────────────────────────────────
14629
15077
 
14630
15078
  /v1/contacts:
@@ -141,4 +141,17 @@ describe 'PostsApi' do
141
141
  end
142
142
  end
143
143
 
144
+ # unit tests for update_post_metadata
145
+ # Update post metadata
146
+ # Updates metadata of an already-published post on the specified platform without re-uploading the media. Currently only supported for YouTube videos (title, description, tags, category, privacy status). The post must have \"published\" status on the target platform. At least one updatable field is required.
147
+ # @param post_id
148
+ # @param update_post_metadata_request
149
+ # @param [Hash] opts the optional parameters
150
+ # @return [UpdatePostMetadata200Response]
151
+ describe 'update_post_metadata test' do
152
+ it 'should work' do
153
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
154
+ end
155
+ end
156
+
144
157
  end
@@ -45,6 +45,34 @@ describe 'WhatsAppApi' do
45
45
  end
46
46
  end
47
47
 
48
+ # unit tests for add_whats_app_group_participants
49
+ # Add participants
50
+ # Add participants to a WhatsApp group. Maximum 8 participants per request.
51
+ # @param group_id Group ID
52
+ # @param account_id WhatsApp social account ID
53
+ # @param add_whats_app_group_participants_request
54
+ # @param [Hash] opts the optional parameters
55
+ # @return [UnpublishPost200Response]
56
+ describe 'add_whats_app_group_participants test' do
57
+ it 'should work' do
58
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
59
+ end
60
+ end
61
+
62
+ # unit tests for approve_whats_app_group_join_requests
63
+ # Approve join requests
64
+ # Approve pending join requests for a WhatsApp group.
65
+ # @param group_id Group ID
66
+ # @param account_id WhatsApp social account ID
67
+ # @param approve_whats_app_group_join_requests_request
68
+ # @param [Hash] opts the optional parameters
69
+ # @return [UnpublishPost200Response]
70
+ describe 'approve_whats_app_group_join_requests test' do
71
+ it 'should work' do
72
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
73
+ end
74
+ end
75
+
48
76
  # unit tests for bulk_delete_whats_app_contacts
49
77
  # Bulk delete contacts
50
78
  # **Deprecated.** Use `DELETE /v1/contacts/{id}` for individual deletes instead. Permanently delete multiple contacts at once (max 500 per request).
@@ -105,6 +133,31 @@ describe 'WhatsAppApi' do
105
133
  end
106
134
  end
107
135
 
136
+ # unit tests for create_whats_app_group_chat
137
+ # Create group
138
+ # Create a new WhatsApp group chat. Returns the group ID and optionally an invite link.
139
+ # @param create_whats_app_group_chat_request
140
+ # @param [Hash] opts the optional parameters
141
+ # @return [CreateWhatsAppGroupChat201Response]
142
+ describe 'create_whats_app_group_chat test' do
143
+ it 'should work' do
144
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
145
+ end
146
+ end
147
+
148
+ # unit tests for create_whats_app_group_invite_link
149
+ # Create invite link
150
+ # Create a new invite link for a WhatsApp group. The previous link is revoked.
151
+ # @param group_id Group ID
152
+ # @param account_id WhatsApp social account ID
153
+ # @param [Hash] opts the optional parameters
154
+ # @return [CreateWhatsAppGroupInviteLink200Response]
155
+ describe 'create_whats_app_group_invite_link test' do
156
+ it 'should work' do
157
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
158
+ end
159
+ end
160
+
108
161
  # unit tests for create_whats_app_template
109
162
  # Create template
110
163
  # Create a new message template. Supports two modes: **Custom template:** Provide `components` with your own content. Submitted to Meta for review (can take up to 24h). **Library template:** Provide `library_template_name` instead of `components` to use a pre-built template from Meta's template library. Library templates are **pre-approved** (no review wait). You can optionally customize parameters and buttons via `library_template_body_inputs` and `library_template_button_inputs`. Browse available library templates at: https://business.facebook.com/wa/manage/message-templates/
@@ -153,6 +206,19 @@ describe 'WhatsAppApi' do
153
206
  end
154
207
  end
155
208
 
209
+ # unit tests for delete_whats_app_group_chat
210
+ # Delete group
211
+ # Delete a WhatsApp group and remove all participants.
212
+ # @param group_id Group ID
213
+ # @param account_id WhatsApp social account ID
214
+ # @param [Hash] opts the optional parameters
215
+ # @return [UnpublishPost200Response]
216
+ describe 'delete_whats_app_group_chat test' do
217
+ it 'should work' do
218
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
219
+ end
220
+ end
221
+
156
222
  # unit tests for delete_whats_app_template
157
223
  # Delete template
158
224
  # Permanently delete a message template by name.
@@ -262,6 +328,19 @@ describe 'WhatsAppApi' do
262
328
  end
263
329
  end
264
330
 
331
+ # unit tests for get_whats_app_group_chat
332
+ # Get group info
333
+ # Retrieve metadata about a WhatsApp group including subject, description, participants, and settings.
334
+ # @param group_id Group ID
335
+ # @param account_id WhatsApp social account ID
336
+ # @param [Hash] opts the optional parameters
337
+ # @return [GetWhatsAppGroupChat200Response]
338
+ describe 'get_whats_app_group_chat test' do
339
+ it 'should work' do
340
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
341
+ end
342
+ end
343
+
265
344
  # unit tests for get_whats_app_groups
266
345
  # List contact groups
267
346
  # **Deprecated.** Use contact tags via `GET /v1/contacts` for grouping instead. WhatsApp groups have no cross-platform equivalent. List all contact groups for a WhatsApp account with contact counts. Groups are derived from the groups field on contacts, not stored as separate documents.
@@ -311,6 +390,47 @@ describe 'WhatsAppApi' do
311
390
  end
312
391
  end
313
392
 
393
+ # unit tests for list_whats_app_group_chats
394
+ # List active groups
395
+ # List active WhatsApp group chats for a business phone number. These are actual WhatsApp group conversations on the platform.
396
+ # @param account_id WhatsApp social account ID
397
+ # @param [Hash] opts the optional parameters
398
+ # @option opts [Integer] :limit Max groups to return
399
+ # @option opts [String] :after Pagination cursor
400
+ # @return [ListWhatsAppGroupChats200Response]
401
+ describe 'list_whats_app_group_chats test' do
402
+ it 'should work' do
403
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
404
+ end
405
+ end
406
+
407
+ # unit tests for list_whats_app_group_join_requests
408
+ # List join requests
409
+ # List pending join requests for a WhatsApp group (only for groups with approval_required mode).
410
+ # @param group_id Group ID
411
+ # @param account_id WhatsApp social account ID
412
+ # @param [Hash] opts the optional parameters
413
+ # @return [ListWhatsAppGroupJoinRequests200Response]
414
+ describe 'list_whats_app_group_join_requests test' do
415
+ it 'should work' do
416
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
417
+ end
418
+ end
419
+
420
+ # unit tests for reject_whats_app_group_join_requests
421
+ # Reject join requests
422
+ # Reject pending join requests for a WhatsApp group.
423
+ # @param group_id Group ID
424
+ # @param account_id WhatsApp social account ID
425
+ # @param reject_whats_app_group_join_requests_request
426
+ # @param [Hash] opts the optional parameters
427
+ # @return [UnpublishPost200Response]
428
+ describe 'reject_whats_app_group_join_requests test' do
429
+ it 'should work' do
430
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
431
+ end
432
+ end
433
+
314
434
  # unit tests for remove_whats_app_broadcast_recipients
315
435
  # Remove recipients
316
436
  # **Deprecated.** Use `POST /v1/broadcasts/{id}/recipients` with removal flag instead. Remove recipients from a draft broadcast by phone number.
@@ -324,6 +444,20 @@ describe 'WhatsAppApi' do
324
444
  end
325
445
  end
326
446
 
447
+ # unit tests for remove_whats_app_group_participants
448
+ # Remove participants
449
+ # Remove participants from a WhatsApp group.
450
+ # @param group_id Group ID
451
+ # @param account_id WhatsApp social account ID
452
+ # @param remove_whats_app_group_participants_request
453
+ # @param [Hash] opts the optional parameters
454
+ # @return [UnpublishPost200Response]
455
+ describe 'remove_whats_app_group_participants test' do
456
+ it 'should work' do
457
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
458
+ end
459
+ end
460
+
327
461
  # unit tests for rename_whats_app_group
328
462
  # Rename group
329
463
  # **Deprecated.** Use contact tags via `PATCH /v1/contacts/{id}` instead. Rename a contact group. This updates the group name on all contacts that belong to the group.
@@ -410,6 +544,20 @@ describe 'WhatsAppApi' do
410
544
  end
411
545
  end
412
546
 
547
+ # unit tests for update_whats_app_group_chat
548
+ # Update group settings
549
+ # Update the subject, description, or join approval mode of a WhatsApp group.
550
+ # @param group_id Group ID
551
+ # @param account_id WhatsApp social account ID
552
+ # @param update_whats_app_group_chat_request
553
+ # @param [Hash] opts the optional parameters
554
+ # @return [UnpublishPost200Response]
555
+ describe 'update_whats_app_group_chat test' do
556
+ it 'should work' do
557
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
558
+ end
559
+ end
560
+
413
561
  # unit tests for update_whats_app_template
414
562
  # Update template
415
563
  # Update a message template's components. Only certain fields can be updated depending on the template's current approval state. Approved templates can only have components updated.