late-sdk 0.0.75 → 0.0.77
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 +28 -1
- data/docs/ActivateSequence200Response.md +20 -0
- data/docs/AddBroadcastRecipients200Response.md +22 -0
- data/docs/BroadcastsApi.md +56 -48
- data/docs/CancelBroadcast200Response.md +20 -0
- data/docs/CancelBroadcast200ResponseBroadcast.md +20 -0
- data/docs/CreateSequenceRequestStepsInner.md +1 -1
- data/docs/EnrollContacts200Response.md +22 -0
- data/docs/GetBroadcast200Response.md +20 -0
- data/docs/GetBroadcast200ResponseBroadcast.md +54 -0
- data/docs/{CreateSequenceRequestStepsInnerMessage.md → GetBroadcast200ResponseBroadcastMessage.md} +2 -2
- data/docs/GetBroadcast200ResponseBroadcastSegmentFilters.md +18 -0
- data/docs/GetSequence200Response.md +20 -0
- data/docs/GetSequence200ResponseSequence.md +44 -0
- data/docs/GetSequence200ResponseSequenceStepsInner.md +24 -0
- data/docs/GetSequence200ResponseSequenceStepsInnerTemplate.md +22 -0
- data/docs/ListBroadcastRecipients200Response.md +22 -0
- data/docs/ListBroadcastRecipients200ResponseRecipientsInner.md +38 -0
- data/docs/ListBroadcasts200Response.md +22 -0
- data/docs/ListBroadcasts200ResponseBroadcastsInner.md +50 -0
- data/docs/ListSequenceEnrollments200Response.md +22 -0
- data/docs/ListSequenceEnrollments200ResponseEnrollmentsInner.md +40 -0
- data/docs/ListSequences200Response.md +22 -0
- data/docs/ListSequences200ResponseSequencesInner.md +46 -0
- data/docs/ScheduleBroadcast200Response.md +20 -0
- data/docs/ScheduleBroadcast200ResponseBroadcast.md +22 -0
- data/docs/SendBroadcast200Response.md +26 -0
- data/docs/SequencesApi.md +49 -42
- data/docs/UpdateBroadcast200Response.md +20 -0
- data/docs/UpdateBroadcast200ResponseBroadcast.md +26 -0
- data/docs/UpdateSequence200Response.md +20 -0
- data/docs/UpdateSequence200ResponseSequence.md +32 -0
- data/lib/late-sdk/api/broadcasts_api.rb +40 -40
- data/lib/late-sdk/api/sequences_api.rb +35 -35
- data/lib/late-sdk/models/activate_sequence200_response.rb +156 -0
- data/lib/late-sdk/models/add_broadcast_recipients200_response.rb +167 -0
- data/lib/late-sdk/models/cancel_broadcast200_response.rb +156 -0
- data/lib/late-sdk/models/cancel_broadcast200_response_broadcast.rb +156 -0
- data/lib/late-sdk/models/create_sequence_request_steps_inner.rb +1 -1
- data/lib/late-sdk/models/enroll_contacts200_response.rb +167 -0
- data/lib/late-sdk/models/get_broadcast200_response.rb +156 -0
- data/lib/late-sdk/models/get_broadcast200_response_broadcast.rb +343 -0
- data/lib/late-sdk/models/{create_sequence_request_steps_inner_message.rb → get_broadcast200_response_broadcast_message.rb} +3 -3
- data/lib/late-sdk/models/get_broadcast200_response_broadcast_segment_filters.rb +149 -0
- data/lib/late-sdk/models/get_sequence200_response.rb +156 -0
- data/lib/late-sdk/models/get_sequence200_response_sequence.rb +300 -0
- data/lib/late-sdk/models/get_sequence200_response_sequence_steps_inner.rb +174 -0
- data/lib/late-sdk/models/get_sequence200_response_sequence_steps_inner_template.rb +165 -0
- data/lib/late-sdk/models/list_broadcast_recipients200_response.rb +167 -0
- data/lib/late-sdk/models/list_broadcast_recipients200_response_recipients_inner.rb +271 -0
- data/lib/late-sdk/models/list_broadcasts200_response.rb +167 -0
- data/lib/late-sdk/models/list_broadcasts200_response_broadcasts_inner.rb +327 -0
- data/lib/late-sdk/models/list_sequence_enrollments200_response.rb +167 -0
- data/lib/late-sdk/models/list_sequence_enrollments200_response_enrollments_inner.rb +280 -0
- data/lib/late-sdk/models/list_sequences200_response.rb +167 -0
- data/lib/late-sdk/models/list_sequences200_response_sequences_inner.rb +309 -0
- data/lib/late-sdk/models/schedule_broadcast200_response.rb +156 -0
- data/lib/late-sdk/models/schedule_broadcast200_response_broadcast.rb +165 -0
- data/lib/late-sdk/models/send_broadcast200_response.rb +221 -0
- data/lib/late-sdk/models/update_broadcast200_response.rb +156 -0
- data/lib/late-sdk/models/update_broadcast200_response_broadcast.rb +183 -0
- data/lib/late-sdk/models/update_sequence200_response.rb +156 -0
- data/lib/late-sdk/models/update_sequence200_response_sequence.rb +212 -0
- data/lib/late-sdk/version.rb +1 -1
- data/lib/late-sdk.rb +28 -1
- data/openapi.yaml +318 -15
- data/spec/api/broadcasts_api_spec.rb +8 -8
- data/spec/api/sequences_api_spec.rb +7 -7
- data/spec/models/activate_sequence200_response_spec.rb +42 -0
- data/spec/models/add_broadcast_recipients200_response_spec.rb +48 -0
- data/spec/models/cancel_broadcast200_response_broadcast_spec.rb +42 -0
- data/spec/models/cancel_broadcast200_response_spec.rb +42 -0
- data/spec/models/enroll_contacts200_response_spec.rb +48 -0
- data/spec/models/{create_sequence_request_steps_inner_message_spec.rb → get_broadcast200_response_broadcast_message_spec.rb} +6 -6
- data/spec/models/get_broadcast200_response_broadcast_segment_filters_spec.rb +36 -0
- data/spec/models/get_broadcast200_response_broadcast_spec.rb +148 -0
- data/spec/models/get_broadcast200_response_spec.rb +42 -0
- data/spec/models/get_sequence200_response_sequence_spec.rb +118 -0
- data/spec/models/get_sequence200_response_sequence_steps_inner_spec.rb +54 -0
- data/spec/models/get_sequence200_response_sequence_steps_inner_template_spec.rb +48 -0
- data/spec/models/get_sequence200_response_spec.rb +42 -0
- data/spec/models/list_broadcast_recipients200_response_recipients_inner_spec.rb +100 -0
- data/spec/models/list_broadcast_recipients200_response_spec.rb +48 -0
- data/spec/models/list_broadcasts200_response_broadcasts_inner_spec.rb +136 -0
- data/spec/models/list_broadcasts200_response_spec.rb +48 -0
- data/spec/models/list_sequence_enrollments200_response_enrollments_inner_spec.rb +106 -0
- data/spec/models/list_sequence_enrollments200_response_spec.rb +48 -0
- data/spec/models/list_sequences200_response_sequences_inner_spec.rb +124 -0
- data/spec/models/list_sequences200_response_spec.rb +48 -0
- data/spec/models/schedule_broadcast200_response_broadcast_spec.rb +48 -0
- data/spec/models/schedule_broadcast200_response_spec.rb +42 -0
- data/spec/models/send_broadcast200_response_spec.rb +64 -0
- data/spec/models/update_broadcast200_response_broadcast_spec.rb +60 -0
- data/spec/models/update_broadcast200_response_spec.rb +42 -0
- data/spec/models/update_sequence200_response_sequence_spec.rb +78 -0
- data/spec/models/update_sequence200_response_spec.rb +42 -0
- data/zernio-sdk-0.0.77.gem +0 -0
- metadata +114 -6
- data/zernio-sdk-0.0.75.gem +0 -0
data/openapi.yaml
CHANGED
|
@@ -14826,7 +14826,43 @@ paths:
|
|
|
14826
14826
|
- { name: limit, in: query, schema: { type: integer, default: 50 } }
|
|
14827
14827
|
- { name: skip, in: query, schema: { type: integer, default: 0 } }
|
|
14828
14828
|
responses:
|
|
14829
|
-
'200':
|
|
14829
|
+
'200':
|
|
14830
|
+
description: Broadcasts list
|
|
14831
|
+
content:
|
|
14832
|
+
application/json:
|
|
14833
|
+
schema:
|
|
14834
|
+
type: object
|
|
14835
|
+
properties:
|
|
14836
|
+
success: { type: boolean }
|
|
14837
|
+
broadcasts:
|
|
14838
|
+
type: array
|
|
14839
|
+
items:
|
|
14840
|
+
type: object
|
|
14841
|
+
properties:
|
|
14842
|
+
id: { type: string }
|
|
14843
|
+
name: { type: string }
|
|
14844
|
+
description: { type: string }
|
|
14845
|
+
platform: { type: string }
|
|
14846
|
+
accountId: { type: string }
|
|
14847
|
+
accountName: { type: string, description: Display name of the sending account }
|
|
14848
|
+
status: { type: string, enum: [draft, scheduled, sending, completed, failed, cancelled] }
|
|
14849
|
+
messagePreview: { type: string, description: Template name or message text snippet }
|
|
14850
|
+
scheduledAt: { type: string, format: date-time }
|
|
14851
|
+
startedAt: { type: string, format: date-time }
|
|
14852
|
+
completedAt: { type: string, format: date-time }
|
|
14853
|
+
recipientCount: { type: integer }
|
|
14854
|
+
sentCount: { type: integer }
|
|
14855
|
+
deliveredCount: { type: integer }
|
|
14856
|
+
readCount: { type: integer }
|
|
14857
|
+
failedCount: { type: integer }
|
|
14858
|
+
createdAt: { type: string, format: date-time }
|
|
14859
|
+
pagination:
|
|
14860
|
+
type: object
|
|
14861
|
+
properties:
|
|
14862
|
+
total: { type: integer }
|
|
14863
|
+
limit: { type: integer }
|
|
14864
|
+
skip: { type: integer }
|
|
14865
|
+
hasMore: { type: boolean }
|
|
14830
14866
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
14831
14867
|
post:
|
|
14832
14868
|
operationId: createBroadcast
|
|
@@ -14874,7 +14910,36 @@ paths:
|
|
|
14874
14910
|
parameters:
|
|
14875
14911
|
- { name: broadcastId, in: path, required: true, schema: { type: string } }
|
|
14876
14912
|
responses:
|
|
14877
|
-
'200':
|
|
14913
|
+
'200':
|
|
14914
|
+
description: Broadcast details with stats
|
|
14915
|
+
content:
|
|
14916
|
+
application/json:
|
|
14917
|
+
schema:
|
|
14918
|
+
type: object
|
|
14919
|
+
properties:
|
|
14920
|
+
success: { type: boolean }
|
|
14921
|
+
broadcast:
|
|
14922
|
+
type: object
|
|
14923
|
+
properties:
|
|
14924
|
+
id: { type: string }
|
|
14925
|
+
name: { type: string }
|
|
14926
|
+
description: { type: string }
|
|
14927
|
+
platform: { type: string }
|
|
14928
|
+
accountId: { type: string }
|
|
14929
|
+
message: { type: object, properties: { text: { type: string } } }
|
|
14930
|
+
template: { type: object, properties: { name: { type: string }, language: { type: string } } }
|
|
14931
|
+
segmentFilters: { type: object, properties: { tags: { type: array, items: { type: string } } } }
|
|
14932
|
+
status: { type: string, enum: [draft, scheduled, sending, completed, failed, cancelled] }
|
|
14933
|
+
scheduledAt: { type: string, format: date-time }
|
|
14934
|
+
startedAt: { type: string, format: date-time }
|
|
14935
|
+
completedAt: { type: string, format: date-time }
|
|
14936
|
+
recipientCount: { type: integer }
|
|
14937
|
+
sentCount: { type: integer }
|
|
14938
|
+
deliveredCount: { type: integer }
|
|
14939
|
+
readCount: { type: integer }
|
|
14940
|
+
failedCount: { type: integer }
|
|
14941
|
+
createdAt: { type: string, format: date-time }
|
|
14942
|
+
updatedAt: { type: string, format: date-time }
|
|
14878
14943
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
14879
14944
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
14880
14945
|
patch:
|
|
@@ -14884,7 +14949,22 @@ paths:
|
|
|
14884
14949
|
parameters:
|
|
14885
14950
|
- { name: broadcastId, in: path, required: true, schema: { type: string } }
|
|
14886
14951
|
responses:
|
|
14887
|
-
'200':
|
|
14952
|
+
'200':
|
|
14953
|
+
description: Broadcast updated
|
|
14954
|
+
content:
|
|
14955
|
+
application/json:
|
|
14956
|
+
schema:
|
|
14957
|
+
type: object
|
|
14958
|
+
properties:
|
|
14959
|
+
success: { type: boolean }
|
|
14960
|
+
broadcast:
|
|
14961
|
+
type: object
|
|
14962
|
+
properties:
|
|
14963
|
+
id: { type: string }
|
|
14964
|
+
name: { type: string }
|
|
14965
|
+
description: { type: string }
|
|
14966
|
+
status: { type: string }
|
|
14967
|
+
updatedAt: { type: string, format: date-time }
|
|
14888
14968
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
14889
14969
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
14890
14970
|
delete:
|
|
@@ -14906,7 +14986,18 @@ paths:
|
|
|
14906
14986
|
parameters:
|
|
14907
14987
|
- { name: broadcastId, in: path, required: true, schema: { type: string } }
|
|
14908
14988
|
responses:
|
|
14909
|
-
'200':
|
|
14989
|
+
'200':
|
|
14990
|
+
description: Broadcast sending started
|
|
14991
|
+
content:
|
|
14992
|
+
application/json:
|
|
14993
|
+
schema:
|
|
14994
|
+
type: object
|
|
14995
|
+
properties:
|
|
14996
|
+
success: { type: boolean }
|
|
14997
|
+
status: { type: string, enum: [sending, completed, failed], description: Current broadcast status after processing first batch }
|
|
14998
|
+
sent: { type: integer, description: Recipients sent in this batch }
|
|
14999
|
+
failed: { type: integer, description: Recipients failed in this batch }
|
|
15000
|
+
recipientCount: { type: integer, description: Total recipient count }
|
|
14910
15001
|
'400': { description: Invalid status or no recipients }
|
|
14911
15002
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
14912
15003
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
@@ -14928,7 +15019,20 @@ paths:
|
|
|
14928
15019
|
properties:
|
|
14929
15020
|
scheduledAt: { type: string, format: date-time }
|
|
14930
15021
|
responses:
|
|
14931
|
-
'200':
|
|
15022
|
+
'200':
|
|
15023
|
+
description: Broadcast scheduled
|
|
15024
|
+
content:
|
|
15025
|
+
application/json:
|
|
15026
|
+
schema:
|
|
15027
|
+
type: object
|
|
15028
|
+
properties:
|
|
15029
|
+
success: { type: boolean }
|
|
15030
|
+
broadcast:
|
|
15031
|
+
type: object
|
|
15032
|
+
properties:
|
|
15033
|
+
id: { type: string }
|
|
15034
|
+
status: { type: string }
|
|
15035
|
+
scheduledAt: { type: string, format: date-time }
|
|
14932
15036
|
'400': { description: Invalid date or status }
|
|
14933
15037
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
14934
15038
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
@@ -14941,7 +15045,19 @@ paths:
|
|
|
14941
15045
|
parameters:
|
|
14942
15046
|
- { name: broadcastId, in: path, required: true, schema: { type: string } }
|
|
14943
15047
|
responses:
|
|
14944
|
-
'200':
|
|
15048
|
+
'200':
|
|
15049
|
+
description: Broadcast cancelled
|
|
15050
|
+
content:
|
|
15051
|
+
application/json:
|
|
15052
|
+
schema:
|
|
15053
|
+
type: object
|
|
15054
|
+
properties:
|
|
15055
|
+
success: { type: boolean }
|
|
15056
|
+
broadcast:
|
|
15057
|
+
type: object
|
|
15058
|
+
properties:
|
|
15059
|
+
id: { type: string }
|
|
15060
|
+
status: { type: string }
|
|
14945
15061
|
'400': { description: Cannot cancel in current status }
|
|
14946
15062
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
14947
15063
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
@@ -14957,7 +15073,37 @@ paths:
|
|
|
14957
15073
|
- { name: limit, in: query, schema: { type: integer, default: 50 } }
|
|
14958
15074
|
- { name: skip, in: query, schema: { type: integer, default: 0 } }
|
|
14959
15075
|
responses:
|
|
14960
|
-
'200':
|
|
15076
|
+
'200':
|
|
15077
|
+
description: Recipients list with delivery status
|
|
15078
|
+
content:
|
|
15079
|
+
application/json:
|
|
15080
|
+
schema:
|
|
15081
|
+
type: object
|
|
15082
|
+
properties:
|
|
15083
|
+
success: { type: boolean }
|
|
15084
|
+
recipients:
|
|
15085
|
+
type: array
|
|
15086
|
+
items:
|
|
15087
|
+
type: object
|
|
15088
|
+
properties:
|
|
15089
|
+
id: { type: string }
|
|
15090
|
+
contactId: { type: string }
|
|
15091
|
+
channelId: { type: string }
|
|
15092
|
+
platformIdentifier: { type: string }
|
|
15093
|
+
contactName: { type: string }
|
|
15094
|
+
status: { type: string, enum: [pending, sent, delivered, read, failed] }
|
|
15095
|
+
messageId: { type: string }
|
|
15096
|
+
error: { type: string }
|
|
15097
|
+
sentAt: { type: string, format: date-time }
|
|
15098
|
+
deliveredAt: { type: string, format: date-time }
|
|
15099
|
+
readAt: { type: string, format: date-time }
|
|
15100
|
+
pagination:
|
|
15101
|
+
type: object
|
|
15102
|
+
properties:
|
|
15103
|
+
total: { type: integer }
|
|
15104
|
+
limit: { type: integer }
|
|
15105
|
+
skip: { type: integer }
|
|
15106
|
+
hasMore: { type: boolean }
|
|
14961
15107
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
14962
15108
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
14963
15109
|
post:
|
|
@@ -14977,7 +15123,16 @@ paths:
|
|
|
14977
15123
|
phones: { type: array, items: { type: string }, description: Raw phone numbers (auto-creates contacts). Useful for WhatsApp/Telegram manual entry }
|
|
14978
15124
|
useSegment: { type: boolean, description: Auto-populate from broadcast segment filters }
|
|
14979
15125
|
responses:
|
|
14980
|
-
'200':
|
|
15126
|
+
'200':
|
|
15127
|
+
description: Recipients added
|
|
15128
|
+
content:
|
|
15129
|
+
application/json:
|
|
15130
|
+
schema:
|
|
15131
|
+
type: object
|
|
15132
|
+
properties:
|
|
15133
|
+
success: { type: boolean }
|
|
15134
|
+
added: { type: integer, description: Number of recipients successfully added }
|
|
15135
|
+
skipped: { type: integer, description: Number skipped (duplicates or missing channels) }
|
|
14981
15136
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
14982
15137
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
14983
15138
|
|
|
@@ -14994,7 +15149,41 @@ paths:
|
|
|
14994
15149
|
- { name: limit, in: query, schema: { type: integer, default: 50 } }
|
|
14995
15150
|
- { name: skip, in: query, schema: { type: integer, default: 0 } }
|
|
14996
15151
|
responses:
|
|
14997
|
-
'200':
|
|
15152
|
+
'200':
|
|
15153
|
+
description: Sequences list
|
|
15154
|
+
content:
|
|
15155
|
+
application/json:
|
|
15156
|
+
schema:
|
|
15157
|
+
type: object
|
|
15158
|
+
properties:
|
|
15159
|
+
success: { type: boolean }
|
|
15160
|
+
sequences:
|
|
15161
|
+
type: array
|
|
15162
|
+
items:
|
|
15163
|
+
type: object
|
|
15164
|
+
properties:
|
|
15165
|
+
id: { type: string }
|
|
15166
|
+
name: { type: string }
|
|
15167
|
+
description: { type: string }
|
|
15168
|
+
platform: { type: string }
|
|
15169
|
+
accountId: { type: string }
|
|
15170
|
+
accountName: { type: string, description: Display name of the sending account }
|
|
15171
|
+
messagePreview: { type: string, description: First step template name or message text snippet }
|
|
15172
|
+
status: { type: string, enum: [draft, active, paused] }
|
|
15173
|
+
stepsCount: { type: integer }
|
|
15174
|
+
exitOnReply: { type: boolean }
|
|
15175
|
+
exitOnUnsubscribe: { type: boolean }
|
|
15176
|
+
totalEnrolled: { type: integer }
|
|
15177
|
+
totalCompleted: { type: integer }
|
|
15178
|
+
totalExited: { type: integer }
|
|
15179
|
+
createdAt: { type: string, format: date-time }
|
|
15180
|
+
pagination:
|
|
15181
|
+
type: object
|
|
15182
|
+
properties:
|
|
15183
|
+
total: { type: integer }
|
|
15184
|
+
limit: { type: integer }
|
|
15185
|
+
skip: { type: integer }
|
|
15186
|
+
hasMore: { type: boolean }
|
|
14998
15187
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
14999
15188
|
post:
|
|
15000
15189
|
operationId: createSequence
|
|
@@ -15049,7 +15238,39 @@ paths:
|
|
|
15049
15238
|
parameters:
|
|
15050
15239
|
- { name: sequenceId, in: path, required: true, schema: { type: string } }
|
|
15051
15240
|
responses:
|
|
15052
|
-
'200':
|
|
15241
|
+
'200':
|
|
15242
|
+
description: Sequence details with steps
|
|
15243
|
+
content:
|
|
15244
|
+
application/json:
|
|
15245
|
+
schema:
|
|
15246
|
+
type: object
|
|
15247
|
+
properties:
|
|
15248
|
+
success: { type: boolean }
|
|
15249
|
+
sequence:
|
|
15250
|
+
type: object
|
|
15251
|
+
properties:
|
|
15252
|
+
id: { type: string }
|
|
15253
|
+
name: { type: string }
|
|
15254
|
+
description: { type: string }
|
|
15255
|
+
platform: { type: string }
|
|
15256
|
+
accountId: { type: string }
|
|
15257
|
+
status: { type: string, enum: [draft, active, paused] }
|
|
15258
|
+
steps:
|
|
15259
|
+
type: array
|
|
15260
|
+
items:
|
|
15261
|
+
type: object
|
|
15262
|
+
properties:
|
|
15263
|
+
order: { type: integer }
|
|
15264
|
+
delayMinutes: { type: integer }
|
|
15265
|
+
message: { type: object, properties: { text: { type: string } } }
|
|
15266
|
+
template: { type: object, properties: { name: { type: string }, language: { type: string }, variableMapping: { type: object } } }
|
|
15267
|
+
exitOnReply: { type: boolean }
|
|
15268
|
+
exitOnUnsubscribe: { type: boolean }
|
|
15269
|
+
totalEnrolled: { type: integer }
|
|
15270
|
+
totalCompleted: { type: integer }
|
|
15271
|
+
totalExited: { type: integer }
|
|
15272
|
+
createdAt: { type: string, format: date-time }
|
|
15273
|
+
updatedAt: { type: string, format: date-time }
|
|
15053
15274
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
15054
15275
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
15055
15276
|
patch:
|
|
@@ -15059,7 +15280,25 @@ paths:
|
|
|
15059
15280
|
parameters:
|
|
15060
15281
|
- { name: sequenceId, in: path, required: true, schema: { type: string } }
|
|
15061
15282
|
responses:
|
|
15062
|
-
'200':
|
|
15283
|
+
'200':
|
|
15284
|
+
description: Sequence updated
|
|
15285
|
+
content:
|
|
15286
|
+
application/json:
|
|
15287
|
+
schema:
|
|
15288
|
+
type: object
|
|
15289
|
+
properties:
|
|
15290
|
+
success: { type: boolean }
|
|
15291
|
+
sequence:
|
|
15292
|
+
type: object
|
|
15293
|
+
properties:
|
|
15294
|
+
id: { type: string }
|
|
15295
|
+
name: { type: string }
|
|
15296
|
+
description: { type: string }
|
|
15297
|
+
status: { type: string }
|
|
15298
|
+
steps: { type: array, items: { type: object } }
|
|
15299
|
+
exitOnReply: { type: boolean }
|
|
15300
|
+
exitOnUnsubscribe: { type: boolean }
|
|
15301
|
+
updatedAt: { type: string, format: date-time }
|
|
15063
15302
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
15064
15303
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
15065
15304
|
delete:
|
|
@@ -15081,7 +15320,19 @@ paths:
|
|
|
15081
15320
|
parameters:
|
|
15082
15321
|
- { name: sequenceId, in: path, required: true, schema: { type: string } }
|
|
15083
15322
|
responses:
|
|
15084
|
-
'200':
|
|
15323
|
+
'200':
|
|
15324
|
+
description: Sequence activated
|
|
15325
|
+
content:
|
|
15326
|
+
application/json:
|
|
15327
|
+
schema:
|
|
15328
|
+
type: object
|
|
15329
|
+
properties:
|
|
15330
|
+
success: { type: boolean }
|
|
15331
|
+
sequence:
|
|
15332
|
+
type: object
|
|
15333
|
+
properties:
|
|
15334
|
+
id: { type: string }
|
|
15335
|
+
status: { type: string }
|
|
15085
15336
|
'400': { description: Invalid status or no steps }
|
|
15086
15337
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
15087
15338
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
@@ -15094,7 +15345,19 @@ paths:
|
|
|
15094
15345
|
parameters:
|
|
15095
15346
|
- { name: sequenceId, in: path, required: true, schema: { type: string } }
|
|
15096
15347
|
responses:
|
|
15097
|
-
'200':
|
|
15348
|
+
'200':
|
|
15349
|
+
description: Sequence paused
|
|
15350
|
+
content:
|
|
15351
|
+
application/json:
|
|
15352
|
+
schema:
|
|
15353
|
+
type: object
|
|
15354
|
+
properties:
|
|
15355
|
+
success: { type: boolean }
|
|
15356
|
+
sequence:
|
|
15357
|
+
type: object
|
|
15358
|
+
properties:
|
|
15359
|
+
id: { type: string }
|
|
15360
|
+
status: { type: string }
|
|
15098
15361
|
'400': { description: Sequence is not active }
|
|
15099
15362
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
15100
15363
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
@@ -15117,7 +15380,16 @@ paths:
|
|
|
15117
15380
|
contactIds: { type: array, items: { type: string } }
|
|
15118
15381
|
channelIds: { type: array, items: { type: string }, description: Optional. Auto-detected if not provided. }
|
|
15119
15382
|
responses:
|
|
15120
|
-
'200':
|
|
15383
|
+
'200':
|
|
15384
|
+
description: Enrollment results
|
|
15385
|
+
content:
|
|
15386
|
+
application/json:
|
|
15387
|
+
schema:
|
|
15388
|
+
type: object
|
|
15389
|
+
properties:
|
|
15390
|
+
success: { type: boolean }
|
|
15391
|
+
enrolled: { type: integer, description: Number of contacts successfully enrolled }
|
|
15392
|
+
skipped: { type: integer, description: Number skipped (already enrolled or missing channel) }
|
|
15121
15393
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
15122
15394
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
15123
15395
|
|
|
@@ -15145,7 +15417,38 @@ paths:
|
|
|
15145
15417
|
- { name: limit, in: query, schema: { type: integer, default: 50 } }
|
|
15146
15418
|
- { name: skip, in: query, schema: { type: integer, default: 0 } }
|
|
15147
15419
|
responses:
|
|
15148
|
-
'200':
|
|
15420
|
+
'200':
|
|
15421
|
+
description: Enrollments list with progress
|
|
15422
|
+
content:
|
|
15423
|
+
application/json:
|
|
15424
|
+
schema:
|
|
15425
|
+
type: object
|
|
15426
|
+
properties:
|
|
15427
|
+
success: { type: boolean }
|
|
15428
|
+
enrollments:
|
|
15429
|
+
type: array
|
|
15430
|
+
items:
|
|
15431
|
+
type: object
|
|
15432
|
+
properties:
|
|
15433
|
+
id: { type: string }
|
|
15434
|
+
contactId: { type: string }
|
|
15435
|
+
channelId: { type: string }
|
|
15436
|
+
platformIdentifier: { type: string }
|
|
15437
|
+
contactName: { type: string }
|
|
15438
|
+
currentStepIndex: { type: integer }
|
|
15439
|
+
status: { type: string, enum: [active, completed, exited, paused] }
|
|
15440
|
+
exitReason: { type: string }
|
|
15441
|
+
nextStepAt: { type: string, format: date-time }
|
|
15442
|
+
stepsSent: { type: integer }
|
|
15443
|
+
lastStepSentAt: { type: string, format: date-time }
|
|
15444
|
+
createdAt: { type: string, format: date-time }
|
|
15445
|
+
pagination:
|
|
15446
|
+
type: object
|
|
15447
|
+
properties:
|
|
15448
|
+
total: { type: integer }
|
|
15449
|
+
limit: { type: integer }
|
|
15450
|
+
skip: { type: integer }
|
|
15451
|
+
hasMore: { type: boolean }
|
|
15149
15452
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
15150
15453
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
15151
15454
|
|
|
@@ -37,7 +37,7 @@ describe 'BroadcastsApi' do
|
|
|
37
37
|
# @param broadcast_id
|
|
38
38
|
# @param add_broadcast_recipients_request
|
|
39
39
|
# @param [Hash] opts the optional parameters
|
|
40
|
-
# @return [
|
|
40
|
+
# @return [AddBroadcastRecipients200Response]
|
|
41
41
|
describe 'add_broadcast_recipients test' do
|
|
42
42
|
it 'should work' do
|
|
43
43
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -48,7 +48,7 @@ describe 'BroadcastsApi' do
|
|
|
48
48
|
# Cancel a broadcast
|
|
49
49
|
# @param broadcast_id
|
|
50
50
|
# @param [Hash] opts the optional parameters
|
|
51
|
-
# @return [
|
|
51
|
+
# @return [CancelBroadcast200Response]
|
|
52
52
|
describe 'cancel_broadcast test' do
|
|
53
53
|
it 'should work' do
|
|
54
54
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -81,7 +81,7 @@ describe 'BroadcastsApi' do
|
|
|
81
81
|
# Get broadcast details
|
|
82
82
|
# @param broadcast_id
|
|
83
83
|
# @param [Hash] opts the optional parameters
|
|
84
|
-
# @return [
|
|
84
|
+
# @return [GetBroadcast200Response]
|
|
85
85
|
describe 'get_broadcast test' do
|
|
86
86
|
it 'should work' do
|
|
87
87
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -95,7 +95,7 @@ describe 'BroadcastsApi' do
|
|
|
95
95
|
# @option opts [String] :status
|
|
96
96
|
# @option opts [Integer] :limit
|
|
97
97
|
# @option opts [Integer] :skip
|
|
98
|
-
# @return [
|
|
98
|
+
# @return [ListBroadcastRecipients200Response]
|
|
99
99
|
describe 'list_broadcast_recipients test' do
|
|
100
100
|
it 'should work' do
|
|
101
101
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -110,7 +110,7 @@ describe 'BroadcastsApi' do
|
|
|
110
110
|
# @option opts [String] :platform
|
|
111
111
|
# @option opts [Integer] :limit
|
|
112
112
|
# @option opts [Integer] :skip
|
|
113
|
-
# @return [
|
|
113
|
+
# @return [ListBroadcasts200Response]
|
|
114
114
|
describe 'list_broadcasts test' do
|
|
115
115
|
it 'should work' do
|
|
116
116
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -122,7 +122,7 @@ describe 'BroadcastsApi' do
|
|
|
122
122
|
# @param broadcast_id
|
|
123
123
|
# @param schedule_broadcast_request
|
|
124
124
|
# @param [Hash] opts the optional parameters
|
|
125
|
-
# @return [
|
|
125
|
+
# @return [ScheduleBroadcast200Response]
|
|
126
126
|
describe 'schedule_broadcast test' do
|
|
127
127
|
it 'should work' do
|
|
128
128
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -133,7 +133,7 @@ describe 'BroadcastsApi' do
|
|
|
133
133
|
# Trigger immediate send
|
|
134
134
|
# @param broadcast_id
|
|
135
135
|
# @param [Hash] opts the optional parameters
|
|
136
|
-
# @return [
|
|
136
|
+
# @return [SendBroadcast200Response]
|
|
137
137
|
describe 'send_broadcast test' do
|
|
138
138
|
it 'should work' do
|
|
139
139
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -144,7 +144,7 @@ describe 'BroadcastsApi' do
|
|
|
144
144
|
# Update a broadcast
|
|
145
145
|
# @param broadcast_id
|
|
146
146
|
# @param [Hash] opts the optional parameters
|
|
147
|
-
# @return [
|
|
147
|
+
# @return [UpdateBroadcast200Response]
|
|
148
148
|
describe 'update_broadcast test' do
|
|
149
149
|
it 'should work' do
|
|
150
150
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -36,7 +36,7 @@ describe 'SequencesApi' do
|
|
|
36
36
|
# Activate a sequence
|
|
37
37
|
# @param sequence_id
|
|
38
38
|
# @param [Hash] opts the optional parameters
|
|
39
|
-
# @return [
|
|
39
|
+
# @return [ActivateSequence200Response]
|
|
40
40
|
describe 'activate_sequence test' do
|
|
41
41
|
it 'should work' do
|
|
42
42
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -70,7 +70,7 @@ describe 'SequencesApi' do
|
|
|
70
70
|
# @param sequence_id
|
|
71
71
|
# @param enroll_contacts_request
|
|
72
72
|
# @param [Hash] opts the optional parameters
|
|
73
|
-
# @return [
|
|
73
|
+
# @return [EnrollContacts200Response]
|
|
74
74
|
describe 'enroll_contacts test' do
|
|
75
75
|
it 'should work' do
|
|
76
76
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -81,7 +81,7 @@ describe 'SequencesApi' do
|
|
|
81
81
|
# Get sequence with steps
|
|
82
82
|
# @param sequence_id
|
|
83
83
|
# @param [Hash] opts the optional parameters
|
|
84
|
-
# @return [
|
|
84
|
+
# @return [GetSequence200Response]
|
|
85
85
|
describe 'get_sequence test' do
|
|
86
86
|
it 'should work' do
|
|
87
87
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -95,7 +95,7 @@ describe 'SequencesApi' do
|
|
|
95
95
|
# @option opts [String] :status
|
|
96
96
|
# @option opts [Integer] :limit
|
|
97
97
|
# @option opts [Integer] :skip
|
|
98
|
-
# @return [
|
|
98
|
+
# @return [ListSequenceEnrollments200Response]
|
|
99
99
|
describe 'list_sequence_enrollments test' do
|
|
100
100
|
it 'should work' do
|
|
101
101
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -109,7 +109,7 @@ describe 'SequencesApi' do
|
|
|
109
109
|
# @option opts [String] :status
|
|
110
110
|
# @option opts [Integer] :limit
|
|
111
111
|
# @option opts [Integer] :skip
|
|
112
|
-
# @return [
|
|
112
|
+
# @return [ListSequences200Response]
|
|
113
113
|
describe 'list_sequences test' do
|
|
114
114
|
it 'should work' do
|
|
115
115
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -120,7 +120,7 @@ describe 'SequencesApi' do
|
|
|
120
120
|
# Pause a sequence
|
|
121
121
|
# @param sequence_id
|
|
122
122
|
# @param [Hash] opts the optional parameters
|
|
123
|
-
# @return [
|
|
123
|
+
# @return [ActivateSequence200Response]
|
|
124
124
|
describe 'pause_sequence test' do
|
|
125
125
|
it 'should work' do
|
|
126
126
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -143,7 +143,7 @@ describe 'SequencesApi' do
|
|
|
143
143
|
# Update a sequence
|
|
144
144
|
# @param sequence_id
|
|
145
145
|
# @param [Hash] opts the optional parameters
|
|
146
|
-
# @return [
|
|
146
|
+
# @return [UpdateSequence200Response]
|
|
147
147
|
describe 'update_sequence test' do
|
|
148
148
|
it 'should work' do
|
|
149
149
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.1
|
|
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 Late::ActivateSequence200Response
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Late::ActivateSequence200Response do
|
|
21
|
+
#let(:instance) { Late::ActivateSequence200Response.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of ActivateSequence200Response' do
|
|
24
|
+
it 'should create an instance of ActivateSequence200Response' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Late::ActivateSequence200Response)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "success"' 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 "sequence"' 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
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.1
|
|
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 Late::AddBroadcastRecipients200Response
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Late::AddBroadcastRecipients200Response do
|
|
21
|
+
#let(:instance) { Late::AddBroadcastRecipients200Response.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of AddBroadcastRecipients200Response' do
|
|
24
|
+
it 'should create an instance of AddBroadcastRecipients200Response' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Late::AddBroadcastRecipients200Response)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "success"' 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 "added"' 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 "skipped"' 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
|
+
end
|