@homespot-sdk/core 0.0.357 → 0.0.359
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.
- package/dist/property/index.d.ts +2 -2
- package/dist/property/index.d.ts.map +1 -1
- package/dist/property/index.js +1 -1
- package/dist/property/index.js.map +1 -1
- package/dist/property/schemas.gen.d.ts +92 -0
- package/dist/property/schemas.gen.d.ts.map +1 -1
- package/dist/property/schemas.gen.js +99 -0
- package/dist/property/schemas.gen.js.map +1 -1
- package/dist/property/sdk.gen.d.ts +6 -2
- package/dist/property/sdk.gen.d.ts.map +1 -1
- package/dist/property/sdk.gen.js +34 -2
- package/dist/property/sdk.gen.js.map +1 -1
- package/dist/property/transformers.gen.d.ts +5 -1
- package/dist/property/transformers.gen.d.ts.map +1 -1
- package/dist/property/transformers.gen.js +40 -0
- package/dist/property/transformers.gen.js.map +1 -1
- package/dist/property/types.gen.d.ts +86 -0
- package/dist/property/types.gen.d.ts.map +1 -1
- package/dist/property/zod.gen.d.ts +271 -6
- package/dist/property/zod.gen.d.ts.map +1 -1
- package/dist/property/zod.gen.js +98 -0
- package/dist/property/zod.gen.js.map +1 -1
- package/dist/rem/index.d.ts +2 -2
- package/dist/rem/index.d.ts.map +1 -1
- package/dist/rem/index.js +1 -1
- package/dist/rem/index.js.map +1 -1
- package/dist/rem/schemas.gen.d.ts +655 -219
- package/dist/rem/schemas.gen.d.ts.map +1 -1
- package/dist/rem/schemas.gen.js +718 -221
- package/dist/rem/schemas.gen.js.map +1 -1
- package/dist/rem/sdk.gen.d.ts +14 -12
- package/dist/rem/sdk.gen.d.ts.map +1 -1
- package/dist/rem/sdk.gen.js +40 -5
- package/dist/rem/sdk.gen.js.map +1 -1
- package/dist/rem/transformers.gen.d.ts +6 -1
- package/dist/rem/transformers.gen.d.ts.map +1 -1
- package/dist/rem/transformers.gen.js +76 -0
- package/dist/rem/transformers.gen.js.map +1 -1
- package/dist/rem/types.gen.d.ts +361 -126
- package/dist/rem/types.gen.d.ts.map +1 -1
- package/dist/rem/zod.gen.d.ts +1110 -204
- package/dist/rem/zod.gen.d.ts.map +1 -1
- package/dist/rem/zod.gen.js +521 -114
- package/dist/rem/zod.gen.js.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/schemas.gen.d.ts +72 -0
- package/dist/utils/schemas.gen.d.ts.map +1 -1
- package/dist/utils/schemas.gen.js +72 -0
- package/dist/utils/schemas.gen.js.map +1 -1
- package/dist/utils/sdk.gen.d.ts +10 -1
- package/dist/utils/sdk.gen.d.ts.map +1 -1
- package/dist/utils/sdk.gen.js +9 -0
- package/dist/utils/sdk.gen.js.map +1 -1
- package/dist/utils/types.gen.d.ts +73 -0
- package/dist/utils/types.gen.d.ts.map +1 -1
- package/dist/utils/zod.gen.d.ts +157 -0
- package/dist/utils/zod.gen.d.ts.map +1 -1
- package/dist/utils/zod.gen.js +122 -0
- package/dist/utils/zod.gen.js.map +1 -1
- package/package.json +1 -1
package/dist/rem/schemas.gen.js
CHANGED
|
@@ -933,16 +933,20 @@ export const SubscribeRequestSchema = {
|
|
|
933
933
|
},
|
|
934
934
|
name: {
|
|
935
935
|
type: 'string',
|
|
936
|
+
minLength: 1,
|
|
936
937
|
},
|
|
937
938
|
email: {
|
|
938
939
|
type: 'string',
|
|
939
940
|
format: 'email',
|
|
941
|
+
minLength: 1,
|
|
940
942
|
},
|
|
941
943
|
phone: {
|
|
942
944
|
type: 'string',
|
|
945
|
+
minLength: 1,
|
|
943
946
|
},
|
|
944
947
|
subdomain: {
|
|
945
948
|
type: 'string',
|
|
949
|
+
minLength: 1,
|
|
946
950
|
},
|
|
947
951
|
address: {
|
|
948
952
|
$ref: '#/components/schemas/SubscriptionAddressRequest',
|
|
@@ -1018,213 +1022,6 @@ export const SubscriptionCheckoutResponseSchema = {
|
|
|
1018
1022
|
},
|
|
1019
1023
|
},
|
|
1020
1024
|
};
|
|
1021
|
-
export const ProblemDetailSchema = {
|
|
1022
|
-
type: 'object',
|
|
1023
|
-
properties: {
|
|
1024
|
-
type: {
|
|
1025
|
-
type: 'string',
|
|
1026
|
-
format: 'uri',
|
|
1027
|
-
},
|
|
1028
|
-
title: {
|
|
1029
|
-
type: 'string',
|
|
1030
|
-
},
|
|
1031
|
-
status: {
|
|
1032
|
-
type: 'integer',
|
|
1033
|
-
format: 'int32',
|
|
1034
|
-
},
|
|
1035
|
-
detail: {
|
|
1036
|
-
type: 'string',
|
|
1037
|
-
},
|
|
1038
|
-
instance: {
|
|
1039
|
-
type: 'string',
|
|
1040
|
-
format: 'uri',
|
|
1041
|
-
},
|
|
1042
|
-
properties: {
|
|
1043
|
-
type: 'object',
|
|
1044
|
-
additionalProperties: {},
|
|
1045
|
-
},
|
|
1046
|
-
},
|
|
1047
|
-
};
|
|
1048
|
-
export const AgencyRegistrationConflictResponseSchema = {
|
|
1049
|
-
type: 'object',
|
|
1050
|
-
properties: {
|
|
1051
|
-
type: {
|
|
1052
|
-
type: 'string',
|
|
1053
|
-
format: 'uri',
|
|
1054
|
-
},
|
|
1055
|
-
title: {
|
|
1056
|
-
type: 'string',
|
|
1057
|
-
},
|
|
1058
|
-
status: {
|
|
1059
|
-
type: 'integer',
|
|
1060
|
-
format: 'int32',
|
|
1061
|
-
},
|
|
1062
|
-
detail: {
|
|
1063
|
-
type: 'string',
|
|
1064
|
-
},
|
|
1065
|
-
instance: {
|
|
1066
|
-
type: 'string',
|
|
1067
|
-
format: 'uri',
|
|
1068
|
-
},
|
|
1069
|
-
conflicts: {
|
|
1070
|
-
type: 'array',
|
|
1071
|
-
description: "All detected conflicts: NAME is taken, SUBDOMAIN is taken, or OWNER already owns an agency. A retry of the owner's NEW agency is allowed.",
|
|
1072
|
-
items: {
|
|
1073
|
-
type: 'string',
|
|
1074
|
-
enum: ['OWNER', 'NAME', 'SUBDOMAIN'],
|
|
1075
|
-
},
|
|
1076
|
-
uniqueItems: true,
|
|
1077
|
-
},
|
|
1078
|
-
code: {
|
|
1079
|
-
type: 'string',
|
|
1080
|
-
enum: ['AGENCY_REGISTRATION_CONFLICT'],
|
|
1081
|
-
},
|
|
1082
|
-
},
|
|
1083
|
-
required: [
|
|
1084
|
-
'code',
|
|
1085
|
-
'conflicts',
|
|
1086
|
-
'detail',
|
|
1087
|
-
'instance',
|
|
1088
|
-
'status',
|
|
1089
|
-
'title',
|
|
1090
|
-
'type',
|
|
1091
|
-
],
|
|
1092
|
-
};
|
|
1093
|
-
export const ConcurrentModificationResponseSchema = {
|
|
1094
|
-
type: 'object',
|
|
1095
|
-
properties: {
|
|
1096
|
-
type: {
|
|
1097
|
-
type: 'string',
|
|
1098
|
-
format: 'uri',
|
|
1099
|
-
},
|
|
1100
|
-
title: {
|
|
1101
|
-
type: 'string',
|
|
1102
|
-
},
|
|
1103
|
-
status: {
|
|
1104
|
-
type: 'integer',
|
|
1105
|
-
format: 'int32',
|
|
1106
|
-
},
|
|
1107
|
-
detail: {
|
|
1108
|
-
type: 'string',
|
|
1109
|
-
},
|
|
1110
|
-
instance: {
|
|
1111
|
-
type: 'string',
|
|
1112
|
-
format: 'uri',
|
|
1113
|
-
},
|
|
1114
|
-
code: {
|
|
1115
|
-
type: 'string',
|
|
1116
|
-
enum: ['CONCURRENT_MODIFICATION'],
|
|
1117
|
-
},
|
|
1118
|
-
},
|
|
1119
|
-
required: ['code', 'detail', 'instance', 'status', 'title', 'type'],
|
|
1120
|
-
};
|
|
1121
|
-
export const DataIntegrityConflictResponseSchema = {
|
|
1122
|
-
type: 'object',
|
|
1123
|
-
properties: {
|
|
1124
|
-
type: {
|
|
1125
|
-
type: 'string',
|
|
1126
|
-
format: 'uri',
|
|
1127
|
-
},
|
|
1128
|
-
title: {
|
|
1129
|
-
type: 'string',
|
|
1130
|
-
},
|
|
1131
|
-
status: {
|
|
1132
|
-
type: 'integer',
|
|
1133
|
-
format: 'int32',
|
|
1134
|
-
},
|
|
1135
|
-
detail: {
|
|
1136
|
-
type: 'string',
|
|
1137
|
-
},
|
|
1138
|
-
instance: {
|
|
1139
|
-
type: 'string',
|
|
1140
|
-
format: 'uri',
|
|
1141
|
-
},
|
|
1142
|
-
code: {
|
|
1143
|
-
type: 'string',
|
|
1144
|
-
enum: ['DATA_INTEGRITY_CONFLICT'],
|
|
1145
|
-
},
|
|
1146
|
-
},
|
|
1147
|
-
required: ['code', 'detail', 'instance', 'status', 'title', 'type'],
|
|
1148
|
-
};
|
|
1149
|
-
export const SubscriptionConflictResponseSchema = {
|
|
1150
|
-
discriminator: {
|
|
1151
|
-
propertyName: 'code',
|
|
1152
|
-
mapping: {
|
|
1153
|
-
AGENCY_REGISTRATION_CONFLICT: '#/components/schemas/AgencyRegistrationConflictResponse',
|
|
1154
|
-
SUBSCRIPTION_STATE_CONFLICT: '#/components/schemas/SubscriptionStateConflictResponse',
|
|
1155
|
-
CONCURRENT_MODIFICATION: '#/components/schemas/ConcurrentModificationResponse',
|
|
1156
|
-
DATA_INTEGRITY_CONFLICT: '#/components/schemas/DataIntegrityConflictResponse',
|
|
1157
|
-
},
|
|
1158
|
-
},
|
|
1159
|
-
oneOf: [
|
|
1160
|
-
{
|
|
1161
|
-
$ref: '#/components/schemas/AgencyRegistrationConflictResponse',
|
|
1162
|
-
},
|
|
1163
|
-
{
|
|
1164
|
-
$ref: '#/components/schemas/SubscriptionStateConflictResponse',
|
|
1165
|
-
},
|
|
1166
|
-
{
|
|
1167
|
-
$ref: '#/components/schemas/ConcurrentModificationResponse',
|
|
1168
|
-
},
|
|
1169
|
-
{
|
|
1170
|
-
$ref: '#/components/schemas/DataIntegrityConflictResponse',
|
|
1171
|
-
},
|
|
1172
|
-
],
|
|
1173
|
-
};
|
|
1174
|
-
export const SubscriptionStateConflictResponseSchema = {
|
|
1175
|
-
type: 'object',
|
|
1176
|
-
properties: {
|
|
1177
|
-
type: {
|
|
1178
|
-
type: 'string',
|
|
1179
|
-
format: 'uri',
|
|
1180
|
-
},
|
|
1181
|
-
title: {
|
|
1182
|
-
type: 'string',
|
|
1183
|
-
},
|
|
1184
|
-
status: {
|
|
1185
|
-
type: 'integer',
|
|
1186
|
-
format: 'int32',
|
|
1187
|
-
},
|
|
1188
|
-
detail: {
|
|
1189
|
-
type: 'string',
|
|
1190
|
-
},
|
|
1191
|
-
instance: {
|
|
1192
|
-
type: 'string',
|
|
1193
|
-
format: 'uri',
|
|
1194
|
-
},
|
|
1195
|
-
subscriptionId: {
|
|
1196
|
-
type: 'string',
|
|
1197
|
-
format: 'uuid',
|
|
1198
|
-
},
|
|
1199
|
-
subscriptionStatus: {
|
|
1200
|
-
type: 'string',
|
|
1201
|
-
description: 'Subscription lifecycle status. The standard problem status field remains the HTTP status code.',
|
|
1202
|
-
enum: [
|
|
1203
|
-
'PENDING',
|
|
1204
|
-
'TRIALING',
|
|
1205
|
-
'ACTIVE',
|
|
1206
|
-
'PAST_DUE',
|
|
1207
|
-
'CANCELLED',
|
|
1208
|
-
'EXPIRED',
|
|
1209
|
-
'SUPERSEDED',
|
|
1210
|
-
],
|
|
1211
|
-
},
|
|
1212
|
-
code: {
|
|
1213
|
-
type: 'string',
|
|
1214
|
-
enum: ['SUBSCRIPTION_STATE_CONFLICT'],
|
|
1215
|
-
},
|
|
1216
|
-
},
|
|
1217
|
-
required: [
|
|
1218
|
-
'code',
|
|
1219
|
-
'detail',
|
|
1220
|
-
'instance',
|
|
1221
|
-
'status',
|
|
1222
|
-
'subscriptionId',
|
|
1223
|
-
'subscriptionStatus',
|
|
1224
|
-
'title',
|
|
1225
|
-
'type',
|
|
1226
|
-
],
|
|
1227
|
-
};
|
|
1228
1025
|
export const ChangePlanRequestSchema = {
|
|
1229
1026
|
type: 'object',
|
|
1230
1027
|
properties: {
|
|
@@ -1244,12 +1041,10 @@ export const CheckoutRequestSchema = {
|
|
|
1244
1041
|
properties: {
|
|
1245
1042
|
plan: {
|
|
1246
1043
|
type: 'string',
|
|
1247
|
-
description: 'Required only when starting a new subscription',
|
|
1248
1044
|
enum: ['STARTER', 'PRO', 'ENTERPRISE'],
|
|
1249
1045
|
},
|
|
1250
1046
|
billingCycle: {
|
|
1251
1047
|
type: 'string',
|
|
1252
|
-
description: 'Required only when starting a new subscription',
|
|
1253
1048
|
enum: ['MONTHLY', 'ANNUAL'],
|
|
1254
1049
|
},
|
|
1255
1050
|
},
|
|
@@ -1362,11 +1157,33 @@ export const OauthConnectionResponseSchema = {
|
|
|
1362
1157
|
type: 'string',
|
|
1363
1158
|
format: 'date-time',
|
|
1364
1159
|
},
|
|
1160
|
+
canPublish: {
|
|
1161
|
+
type: 'boolean',
|
|
1162
|
+
},
|
|
1163
|
+
canReadComments: {
|
|
1164
|
+
type: 'boolean',
|
|
1165
|
+
},
|
|
1166
|
+
canReply: {
|
|
1167
|
+
type: 'boolean',
|
|
1168
|
+
},
|
|
1169
|
+
canReadStats: {
|
|
1170
|
+
type: 'boolean',
|
|
1171
|
+
description: 'Like and comment counts on a post',
|
|
1172
|
+
},
|
|
1173
|
+
reconnectRequired: {
|
|
1174
|
+
type: 'boolean',
|
|
1175
|
+
description: 'The token is dead, or the grant lacks a scope the connect flow asks for — re-running the connect flow is what fixes it',
|
|
1176
|
+
},
|
|
1365
1177
|
},
|
|
1366
1178
|
required: [
|
|
1367
1179
|
'agencyId',
|
|
1180
|
+
'canPublish',
|
|
1181
|
+
'canReadComments',
|
|
1182
|
+
'canReadStats',
|
|
1183
|
+
'canReply',
|
|
1368
1184
|
'createdAt',
|
|
1369
1185
|
'provider',
|
|
1186
|
+
'reconnectRequired',
|
|
1370
1187
|
'status',
|
|
1371
1188
|
'updatedAt',
|
|
1372
1189
|
'userId',
|
|
@@ -1583,6 +1400,33 @@ export const SendMessageRequestSchema = {
|
|
|
1583
1400
|
},
|
|
1584
1401
|
required: ['text'],
|
|
1585
1402
|
};
|
|
1403
|
+
export const ProblemDetailSchema = {
|
|
1404
|
+
type: 'object',
|
|
1405
|
+
properties: {
|
|
1406
|
+
type: {
|
|
1407
|
+
type: 'string',
|
|
1408
|
+
format: 'uri',
|
|
1409
|
+
},
|
|
1410
|
+
title: {
|
|
1411
|
+
type: 'string',
|
|
1412
|
+
},
|
|
1413
|
+
status: {
|
|
1414
|
+
type: 'integer',
|
|
1415
|
+
format: 'int32',
|
|
1416
|
+
},
|
|
1417
|
+
detail: {
|
|
1418
|
+
type: 'string',
|
|
1419
|
+
},
|
|
1420
|
+
instance: {
|
|
1421
|
+
type: 'string',
|
|
1422
|
+
format: 'uri',
|
|
1423
|
+
},
|
|
1424
|
+
properties: {
|
|
1425
|
+
type: 'object',
|
|
1426
|
+
additionalProperties: {},
|
|
1427
|
+
},
|
|
1428
|
+
},
|
|
1429
|
+
};
|
|
1586
1430
|
export const StartPropertyRegistrationRequestSchema = {
|
|
1587
1431
|
type: 'object',
|
|
1588
1432
|
properties: {
|
|
@@ -1778,6 +1622,172 @@ export const PercentageSchema = {
|
|
|
1778
1622
|
],
|
|
1779
1623
|
required: ['rate'],
|
|
1780
1624
|
};
|
|
1625
|
+
export const FocusRequestSchema = {
|
|
1626
|
+
type: 'object',
|
|
1627
|
+
properties: {
|
|
1628
|
+
x: {
|
|
1629
|
+
type: 'number',
|
|
1630
|
+
format: 'double',
|
|
1631
|
+
},
|
|
1632
|
+
y: {
|
|
1633
|
+
type: 'number',
|
|
1634
|
+
format: 'double',
|
|
1635
|
+
},
|
|
1636
|
+
},
|
|
1637
|
+
required: ['x', 'y'],
|
|
1638
|
+
};
|
|
1639
|
+
export const PhotoSchema = {
|
|
1640
|
+
type: 'object',
|
|
1641
|
+
properties: {
|
|
1642
|
+
photoId: {
|
|
1643
|
+
type: 'integer',
|
|
1644
|
+
format: 'int64',
|
|
1645
|
+
},
|
|
1646
|
+
mode: {
|
|
1647
|
+
type: 'string',
|
|
1648
|
+
enum: ['AUTO', 'CROP', 'FIT'],
|
|
1649
|
+
},
|
|
1650
|
+
focus: {
|
|
1651
|
+
$ref: '#/components/schemas/FocusRequest',
|
|
1652
|
+
},
|
|
1653
|
+
},
|
|
1654
|
+
required: ['photoId'],
|
|
1655
|
+
};
|
|
1656
|
+
export const PublishSocialPostRequestSchema = {
|
|
1657
|
+
type: 'object',
|
|
1658
|
+
properties: {
|
|
1659
|
+
channel: {
|
|
1660
|
+
type: 'string',
|
|
1661
|
+
enum: ['FACEBOOK', 'INSTAGRAM'],
|
|
1662
|
+
},
|
|
1663
|
+
caption: {
|
|
1664
|
+
type: 'string',
|
|
1665
|
+
},
|
|
1666
|
+
ratio: {
|
|
1667
|
+
type: 'string',
|
|
1668
|
+
description: 'Instagram only; defaults to LANDSCAPE',
|
|
1669
|
+
enum: ['LANDSCAPE', 'SQUARE', 'PORTRAIT'],
|
|
1670
|
+
},
|
|
1671
|
+
photos: {
|
|
1672
|
+
type: 'array',
|
|
1673
|
+
description: 'In post order',
|
|
1674
|
+
items: {
|
|
1675
|
+
$ref: '#/components/schemas/Photo',
|
|
1676
|
+
},
|
|
1677
|
+
},
|
|
1678
|
+
templateId: {
|
|
1679
|
+
type: 'string',
|
|
1680
|
+
format: 'uuid',
|
|
1681
|
+
},
|
|
1682
|
+
},
|
|
1683
|
+
required: ['caption', 'channel', 'photos'],
|
|
1684
|
+
};
|
|
1685
|
+
export const FocusViewSchema = {
|
|
1686
|
+
type: 'object',
|
|
1687
|
+
properties: {
|
|
1688
|
+
x: {
|
|
1689
|
+
type: 'number',
|
|
1690
|
+
format: 'double',
|
|
1691
|
+
},
|
|
1692
|
+
y: {
|
|
1693
|
+
type: 'number',
|
|
1694
|
+
format: 'double',
|
|
1695
|
+
},
|
|
1696
|
+
},
|
|
1697
|
+
required: ['x', 'y'],
|
|
1698
|
+
};
|
|
1699
|
+
export const PhotoViewSchema = {
|
|
1700
|
+
type: 'object',
|
|
1701
|
+
properties: {
|
|
1702
|
+
photoId: {
|
|
1703
|
+
type: 'integer',
|
|
1704
|
+
format: 'int64',
|
|
1705
|
+
},
|
|
1706
|
+
mode: {
|
|
1707
|
+
type: 'string',
|
|
1708
|
+
enum: ['AUTO', 'CROP', 'FIT'],
|
|
1709
|
+
},
|
|
1710
|
+
focus: {
|
|
1711
|
+
$ref: '#/components/schemas/FocusView',
|
|
1712
|
+
},
|
|
1713
|
+
},
|
|
1714
|
+
required: ['focus', 'mode', 'photoId'],
|
|
1715
|
+
};
|
|
1716
|
+
export const SocialPostViewSchema = {
|
|
1717
|
+
type: 'object',
|
|
1718
|
+
properties: {
|
|
1719
|
+
id: {
|
|
1720
|
+
type: 'string',
|
|
1721
|
+
format: 'uuid',
|
|
1722
|
+
},
|
|
1723
|
+
channel: {
|
|
1724
|
+
type: 'string',
|
|
1725
|
+
enum: ['FACEBOOK', 'INSTAGRAM'],
|
|
1726
|
+
},
|
|
1727
|
+
status: {
|
|
1728
|
+
type: 'string',
|
|
1729
|
+
enum: ['PUBLISHING', 'PUBLISHED', 'FAILED', 'REMOVED'],
|
|
1730
|
+
},
|
|
1731
|
+
caption: {
|
|
1732
|
+
type: 'string',
|
|
1733
|
+
},
|
|
1734
|
+
ratio: {
|
|
1735
|
+
type: 'string',
|
|
1736
|
+
description: 'Instagram only',
|
|
1737
|
+
enum: ['LANDSCAPE', 'SQUARE', 'PORTRAIT'],
|
|
1738
|
+
},
|
|
1739
|
+
photos: {
|
|
1740
|
+
type: 'array',
|
|
1741
|
+
items: {
|
|
1742
|
+
$ref: '#/components/schemas/PhotoView',
|
|
1743
|
+
},
|
|
1744
|
+
},
|
|
1745
|
+
templateId: {
|
|
1746
|
+
type: 'string',
|
|
1747
|
+
format: 'uuid',
|
|
1748
|
+
},
|
|
1749
|
+
failureReason: {
|
|
1750
|
+
type: 'string',
|
|
1751
|
+
enum: [
|
|
1752
|
+
'RECONNECT_REQUIRED',
|
|
1753
|
+
'PERMISSION_MISSING',
|
|
1754
|
+
'PAGE_PUBLISHING_AUTHORIZATION',
|
|
1755
|
+
'RATE_LIMITED',
|
|
1756
|
+
'BAD_MEDIA',
|
|
1757
|
+
'UNCONFIRMED',
|
|
1758
|
+
'UNKNOWN',
|
|
1759
|
+
],
|
|
1760
|
+
},
|
|
1761
|
+
failureDetail: {
|
|
1762
|
+
type: 'string',
|
|
1763
|
+
},
|
|
1764
|
+
permalink: {
|
|
1765
|
+
type: 'string',
|
|
1766
|
+
description: 'The post on Facebook / Instagram, once published',
|
|
1767
|
+
},
|
|
1768
|
+
publishedAt: {
|
|
1769
|
+
type: 'string',
|
|
1770
|
+
format: 'date-time',
|
|
1771
|
+
},
|
|
1772
|
+
createdBy: {
|
|
1773
|
+
type: 'string',
|
|
1774
|
+
format: 'uuid',
|
|
1775
|
+
},
|
|
1776
|
+
createdAt: {
|
|
1777
|
+
type: 'string',
|
|
1778
|
+
format: 'date-time',
|
|
1779
|
+
},
|
|
1780
|
+
},
|
|
1781
|
+
required: [
|
|
1782
|
+
'caption',
|
|
1783
|
+
'channel',
|
|
1784
|
+
'createdAt',
|
|
1785
|
+
'createdBy',
|
|
1786
|
+
'id',
|
|
1787
|
+
'photos',
|
|
1788
|
+
'status',
|
|
1789
|
+
],
|
|
1790
|
+
};
|
|
1781
1791
|
export const CloseListingRequestSchema = {
|
|
1782
1792
|
type: 'object',
|
|
1783
1793
|
properties: {
|
|
@@ -1847,6 +1857,20 @@ export const IdResponseLongSchema = {
|
|
|
1847
1857
|
},
|
|
1848
1858
|
required: ['id'],
|
|
1849
1859
|
};
|
|
1860
|
+
export const ExternalListingWithdrawRequestSchema = {
|
|
1861
|
+
type: 'object',
|
|
1862
|
+
properties: {
|
|
1863
|
+
platform: {
|
|
1864
|
+
type: 'string',
|
|
1865
|
+
enum: ['SS', 'MY_HOME'],
|
|
1866
|
+
},
|
|
1867
|
+
listingId: {
|
|
1868
|
+
type: 'integer',
|
|
1869
|
+
format: 'int64',
|
|
1870
|
+
},
|
|
1871
|
+
},
|
|
1872
|
+
required: ['listingId', 'platform'],
|
|
1873
|
+
};
|
|
1850
1874
|
export const ExternalListingPublishRequestSchema = {
|
|
1851
1875
|
type: 'object',
|
|
1852
1876
|
properties: {
|
|
@@ -3144,22 +3168,200 @@ export const TaskContentPropertySchema = {
|
|
|
3144
3168
|
},
|
|
3145
3169
|
},
|
|
3146
3170
|
],
|
|
3147
|
-
required: ['id', 'type'],
|
|
3171
|
+
required: ['id', 'type'],
|
|
3172
|
+
};
|
|
3173
|
+
export const StageCardsResponseSchema = {
|
|
3174
|
+
type: 'object',
|
|
3175
|
+
properties: {
|
|
3176
|
+
members: {
|
|
3177
|
+
type: 'array',
|
|
3178
|
+
items: {
|
|
3179
|
+
$ref: '#/components/schemas/MemberPeekResponse',
|
|
3180
|
+
},
|
|
3181
|
+
},
|
|
3182
|
+
data: {
|
|
3183
|
+
$ref: '#/components/schemas/CursorPageTaskCardResponse',
|
|
3184
|
+
},
|
|
3185
|
+
},
|
|
3186
|
+
required: ['data', 'members'],
|
|
3187
|
+
};
|
|
3188
|
+
export const SubscriptionResponseSchema = {
|
|
3189
|
+
type: 'object',
|
|
3190
|
+
properties: {
|
|
3191
|
+
subscriptionId: {
|
|
3192
|
+
type: 'string',
|
|
3193
|
+
format: 'uuid',
|
|
3194
|
+
},
|
|
3195
|
+
plan: {
|
|
3196
|
+
type: 'string',
|
|
3197
|
+
enum: ['STARTER', 'PRO', 'ENTERPRISE'],
|
|
3198
|
+
},
|
|
3199
|
+
billingCycle: {
|
|
3200
|
+
type: 'string',
|
|
3201
|
+
enum: ['MONTHLY', 'ANNUAL'],
|
|
3202
|
+
},
|
|
3203
|
+
priceMinorUnits: {
|
|
3204
|
+
type: 'integer',
|
|
3205
|
+
format: 'int64',
|
|
3206
|
+
description: 'Per-cycle price in minor units (tetri)',
|
|
3207
|
+
},
|
|
3208
|
+
currency: {
|
|
3209
|
+
type: 'string',
|
|
3210
|
+
},
|
|
3211
|
+
seats: {
|
|
3212
|
+
type: 'integer',
|
|
3213
|
+
format: 'int32',
|
|
3214
|
+
},
|
|
3215
|
+
monthlyContactLimit: {
|
|
3216
|
+
type: 'integer',
|
|
3217
|
+
format: 'int32',
|
|
3218
|
+
},
|
|
3219
|
+
trialDays: {
|
|
3220
|
+
type: 'integer',
|
|
3221
|
+
format: 'int32',
|
|
3222
|
+
},
|
|
3223
|
+
status: {
|
|
3224
|
+
type: 'string',
|
|
3225
|
+
enum: [
|
|
3226
|
+
'PENDING',
|
|
3227
|
+
'TRIALING',
|
|
3228
|
+
'ACTIVE',
|
|
3229
|
+
'PAST_DUE',
|
|
3230
|
+
'CANCELLED',
|
|
3231
|
+
'EXPIRED',
|
|
3232
|
+
'SUPERSEDED',
|
|
3233
|
+
],
|
|
3234
|
+
},
|
|
3235
|
+
live: {
|
|
3236
|
+
type: 'boolean',
|
|
3237
|
+
description: 'Whether the agency is currently entitled to the workspace',
|
|
3238
|
+
},
|
|
3239
|
+
trialEndsAt: {
|
|
3240
|
+
type: 'string',
|
|
3241
|
+
format: 'date-time',
|
|
3242
|
+
},
|
|
3243
|
+
paidThroughAt: {
|
|
3244
|
+
type: 'string',
|
|
3245
|
+
format: 'date-time',
|
|
3246
|
+
},
|
|
3247
|
+
accessEndsAt: {
|
|
3248
|
+
type: 'string',
|
|
3249
|
+
format: 'date-time',
|
|
3250
|
+
description: 'When the current entitlement ends, before grace; null while pending or once expired',
|
|
3251
|
+
},
|
|
3252
|
+
pastDueSince: {
|
|
3253
|
+
type: 'string',
|
|
3254
|
+
format: 'date-time',
|
|
3255
|
+
},
|
|
3256
|
+
lastChargedAt: {
|
|
3257
|
+
type: 'string',
|
|
3258
|
+
format: 'date-time',
|
|
3259
|
+
},
|
|
3260
|
+
createdAt: {
|
|
3261
|
+
type: 'string',
|
|
3262
|
+
format: 'date-time',
|
|
3263
|
+
},
|
|
3264
|
+
activatedAt: {
|
|
3265
|
+
type: 'string',
|
|
3266
|
+
format: 'date-time',
|
|
3267
|
+
},
|
|
3268
|
+
cancelledAt: {
|
|
3269
|
+
type: 'string',
|
|
3270
|
+
format: 'date-time',
|
|
3271
|
+
},
|
|
3272
|
+
checkoutExpiresAt: {
|
|
3273
|
+
type: 'string',
|
|
3274
|
+
format: 'date-time',
|
|
3275
|
+
description: 'When the most recently issued checkout link stops being payable',
|
|
3276
|
+
},
|
|
3277
|
+
},
|
|
3278
|
+
required: [
|
|
3279
|
+
'billingCycle',
|
|
3280
|
+
'createdAt',
|
|
3281
|
+
'currency',
|
|
3282
|
+
'live',
|
|
3283
|
+
'monthlyContactLimit',
|
|
3284
|
+
'plan',
|
|
3285
|
+
'priceMinorUnits',
|
|
3286
|
+
'seats',
|
|
3287
|
+
'status',
|
|
3288
|
+
'subscriptionId',
|
|
3289
|
+
'trialDays',
|
|
3290
|
+
],
|
|
3148
3291
|
};
|
|
3149
|
-
export const
|
|
3292
|
+
export const PaymentResponseSchema = {
|
|
3150
3293
|
type: 'object',
|
|
3151
3294
|
properties: {
|
|
3152
|
-
|
|
3153
|
-
type: '
|
|
3154
|
-
|
|
3155
|
-
$ref: '#/components/schemas/MemberPeekResponse',
|
|
3156
|
-
},
|
|
3295
|
+
id: {
|
|
3296
|
+
type: 'string',
|
|
3297
|
+
format: 'uuid',
|
|
3157
3298
|
},
|
|
3158
|
-
|
|
3159
|
-
|
|
3299
|
+
subscriptionId: {
|
|
3300
|
+
type: 'string',
|
|
3301
|
+
format: 'uuid',
|
|
3302
|
+
},
|
|
3303
|
+
flittPaymentId: {
|
|
3304
|
+
type: 'string',
|
|
3305
|
+
},
|
|
3306
|
+
flittOrderId: {
|
|
3307
|
+
type: 'string',
|
|
3308
|
+
},
|
|
3309
|
+
orderStatus: {
|
|
3310
|
+
type: 'string',
|
|
3311
|
+
description: "Flitt's verdict: approved / declined / reversed / expired …",
|
|
3312
|
+
},
|
|
3313
|
+
tranType: {
|
|
3314
|
+
type: 'string',
|
|
3315
|
+
},
|
|
3316
|
+
outcome: {
|
|
3317
|
+
type: 'string',
|
|
3318
|
+
description: 'What the platform did with it',
|
|
3319
|
+
enum: [
|
|
3320
|
+
'APPLIED',
|
|
3321
|
+
'TRIAL_STARTED',
|
|
3322
|
+
'DUPLICATE',
|
|
3323
|
+
'NOT_APPLIED_CANCELLED',
|
|
3324
|
+
'NOT_APPLIED_SUPERSEDED',
|
|
3325
|
+
'REJECTED_AMOUNT',
|
|
3326
|
+
'REJECTED_CURRENCY',
|
|
3327
|
+
'IGNORED_TRANSACTION_TYPE',
|
|
3328
|
+
'DECLINED',
|
|
3329
|
+
'REVERSED',
|
|
3330
|
+
'REVERSAL_IGNORED',
|
|
3331
|
+
'RECORDED',
|
|
3332
|
+
],
|
|
3333
|
+
},
|
|
3334
|
+
amountMinorUnits: {
|
|
3335
|
+
type: 'integer',
|
|
3336
|
+
format: 'int64',
|
|
3337
|
+
},
|
|
3338
|
+
currency: {
|
|
3339
|
+
type: 'string',
|
|
3340
|
+
},
|
|
3341
|
+
responseCode: {
|
|
3342
|
+
type: 'string',
|
|
3343
|
+
},
|
|
3344
|
+
responseDescription: {
|
|
3345
|
+
type: 'string',
|
|
3346
|
+
},
|
|
3347
|
+
orderTime: {
|
|
3348
|
+
type: 'string',
|
|
3349
|
+
format: 'date-time',
|
|
3350
|
+
},
|
|
3351
|
+
receivedAt: {
|
|
3352
|
+
type: 'string',
|
|
3353
|
+
format: 'date-time',
|
|
3160
3354
|
},
|
|
3161
3355
|
},
|
|
3162
|
-
required: [
|
|
3356
|
+
required: [
|
|
3357
|
+
'flittOrderId',
|
|
3358
|
+
'flittPaymentId',
|
|
3359
|
+
'id',
|
|
3360
|
+
'orderStatus',
|
|
3361
|
+
'outcome',
|
|
3362
|
+
'receivedAt',
|
|
3363
|
+
'subscriptionId',
|
|
3364
|
+
],
|
|
3163
3365
|
};
|
|
3164
3366
|
export const BucketSchema = {
|
|
3165
3367
|
type: 'object',
|
|
@@ -4285,7 +4487,14 @@ export const PlatformListingResponseSchema = {
|
|
|
4285
4487
|
},
|
|
4286
4488
|
status: {
|
|
4287
4489
|
type: 'string',
|
|
4288
|
-
enum: [
|
|
4490
|
+
enum: [
|
|
4491
|
+
'PENDING',
|
|
4492
|
+
'SYNDICATED',
|
|
4493
|
+
'FAILED',
|
|
4494
|
+
'EXPIRED',
|
|
4495
|
+
'WITHDRAWING',
|
|
4496
|
+
'WITHDRAWN',
|
|
4497
|
+
],
|
|
4289
4498
|
},
|
|
4290
4499
|
listedAt: {
|
|
4291
4500
|
type: 'string',
|
|
@@ -4299,6 +4508,9 @@ export const PlatformListingResponseSchema = {
|
|
|
4299
4508
|
type: 'string',
|
|
4300
4509
|
format: 'date',
|
|
4301
4510
|
},
|
|
4511
|
+
failureReason: {
|
|
4512
|
+
type: 'string',
|
|
4513
|
+
},
|
|
4302
4514
|
boost: {
|
|
4303
4515
|
$ref: '#/components/schemas/BoostResponse',
|
|
4304
4516
|
},
|
|
@@ -4378,7 +4590,7 @@ export const PropertyListingResponseSchema = {
|
|
|
4378
4590
|
},
|
|
4379
4591
|
isProcessing: {
|
|
4380
4592
|
type: 'boolean',
|
|
4381
|
-
description: 'True while an external-portal placement
|
|
4593
|
+
description: 'True while an external-portal placement, a boost or a social post is in flight — poll the property page until false. Creating the Homespot listing itself is synchronous, so it never sets this.',
|
|
4382
4594
|
},
|
|
4383
4595
|
price: {
|
|
4384
4596
|
type: 'number',
|
|
@@ -4402,6 +4614,13 @@ export const PropertyListingResponseSchema = {
|
|
|
4402
4614
|
$ref: '#/components/schemas/PlatformListingResponse',
|
|
4403
4615
|
},
|
|
4404
4616
|
},
|
|
4617
|
+
socialPosts: {
|
|
4618
|
+
type: 'array',
|
|
4619
|
+
description: 'Facebook / Instagram posts of this listing, newest first',
|
|
4620
|
+
items: {
|
|
4621
|
+
$ref: '#/components/schemas/SocialPostResponse',
|
|
4622
|
+
},
|
|
4623
|
+
},
|
|
4405
4624
|
createdAt: {
|
|
4406
4625
|
type: 'string',
|
|
4407
4626
|
format: 'date-time',
|
|
@@ -4421,6 +4640,7 @@ export const PropertyListingResponseSchema = {
|
|
|
4421
4640
|
'platformListings',
|
|
4422
4641
|
'price',
|
|
4423
4642
|
'publicId',
|
|
4643
|
+
'socialPosts',
|
|
4424
4644
|
],
|
|
4425
4645
|
};
|
|
4426
4646
|
export const PropertyPageResponseSchema = {
|
|
@@ -4510,6 +4730,84 @@ export const PropertyPageResponseSchema = {
|
|
|
4510
4730
|
'updatedAt',
|
|
4511
4731
|
],
|
|
4512
4732
|
};
|
|
4733
|
+
export const SocialPostResponseSchema = {
|
|
4734
|
+
type: 'object',
|
|
4735
|
+
properties: {
|
|
4736
|
+
postId: {
|
|
4737
|
+
type: 'string',
|
|
4738
|
+
format: 'uuid',
|
|
4739
|
+
description: 'For retrying a failed post, or reading it in full',
|
|
4740
|
+
},
|
|
4741
|
+
channel: {
|
|
4742
|
+
type: 'string',
|
|
4743
|
+
enum: ['FACEBOOK', 'INSTAGRAM'],
|
|
4744
|
+
},
|
|
4745
|
+
status: {
|
|
4746
|
+
type: 'string',
|
|
4747
|
+
enum: ['PUBLISHING', 'PUBLISHED', 'FAILED', 'REMOVED'],
|
|
4748
|
+
},
|
|
4749
|
+
caption: {
|
|
4750
|
+
type: 'string',
|
|
4751
|
+
description: 'Exactly as published',
|
|
4752
|
+
},
|
|
4753
|
+
thumbnailUrl: {
|
|
4754
|
+
type: 'string',
|
|
4755
|
+
description: "The post's first photo, as uploaded to the gallery (not the Instagram crop)",
|
|
4756
|
+
},
|
|
4757
|
+
permalink: {
|
|
4758
|
+
type: 'string',
|
|
4759
|
+
description: 'The post on Facebook / Instagram, once published',
|
|
4760
|
+
},
|
|
4761
|
+
publishedAt: {
|
|
4762
|
+
type: 'string',
|
|
4763
|
+
format: 'date-time',
|
|
4764
|
+
},
|
|
4765
|
+
createdBy: {
|
|
4766
|
+
$ref: '#/components/schemas/MemberPeekResponse',
|
|
4767
|
+
description: 'The member who created the post, also after they left the agency',
|
|
4768
|
+
},
|
|
4769
|
+
failureReason: {
|
|
4770
|
+
type: 'string',
|
|
4771
|
+
enum: [
|
|
4772
|
+
'RECONNECT_REQUIRED',
|
|
4773
|
+
'PERMISSION_MISSING',
|
|
4774
|
+
'PAGE_PUBLISHING_AUTHORIZATION',
|
|
4775
|
+
'RATE_LIMITED',
|
|
4776
|
+
'BAD_MEDIA',
|
|
4777
|
+
'UNCONFIRMED',
|
|
4778
|
+
'UNKNOWN',
|
|
4779
|
+
],
|
|
4780
|
+
},
|
|
4781
|
+
stats: {
|
|
4782
|
+
$ref: '#/components/schemas/SocialPostStats',
|
|
4783
|
+
description: "The post's public counts as last read from Facebook / Instagram; null until the first read",
|
|
4784
|
+
},
|
|
4785
|
+
},
|
|
4786
|
+
required: ['caption', 'channel', 'createdBy', 'postId', 'status'],
|
|
4787
|
+
};
|
|
4788
|
+
export const SocialPostStatsSchema = {
|
|
4789
|
+
type: 'object',
|
|
4790
|
+
properties: {
|
|
4791
|
+
likes: {
|
|
4792
|
+
type: 'integer',
|
|
4793
|
+
format: 'int32',
|
|
4794
|
+
},
|
|
4795
|
+
comments: {
|
|
4796
|
+
type: 'integer',
|
|
4797
|
+
format: 'int32',
|
|
4798
|
+
},
|
|
4799
|
+
shares: {
|
|
4800
|
+
type: 'integer',
|
|
4801
|
+
format: 'int32',
|
|
4802
|
+
},
|
|
4803
|
+
fetchedAt: {
|
|
4804
|
+
type: 'string',
|
|
4805
|
+
format: 'date-time',
|
|
4806
|
+
description: 'When the counts were read — show how old they are',
|
|
4807
|
+
},
|
|
4808
|
+
},
|
|
4809
|
+
required: ['comments', 'fetchedAt', 'likes', 'shares'],
|
|
4810
|
+
};
|
|
4513
4811
|
export const ListingOwnerContactResponseSchema = {
|
|
4514
4812
|
type: 'object',
|
|
4515
4813
|
properties: {
|
|
@@ -4554,6 +4852,25 @@ export const AgentCommentedSchema = {
|
|
|
4554
4852
|
},
|
|
4555
4853
|
required: ['kind'],
|
|
4556
4854
|
};
|
|
4855
|
+
export const ChannelReauthRequiredSchema = {
|
|
4856
|
+
properties: {
|
|
4857
|
+
connectionId: {
|
|
4858
|
+
$ref: '#/components/schemas/ConnectionId',
|
|
4859
|
+
},
|
|
4860
|
+
channelType: {
|
|
4861
|
+
type: 'string',
|
|
4862
|
+
enum: ['FACEBOOK', 'INSTAGRAM', 'WHATSAPP', 'TIKTOK'],
|
|
4863
|
+
},
|
|
4864
|
+
displayName: {
|
|
4865
|
+
type: 'string',
|
|
4866
|
+
},
|
|
4867
|
+
kind: {
|
|
4868
|
+
type: 'string',
|
|
4869
|
+
enum: ['CHANNEL_REAUTH_REQUIRED'],
|
|
4870
|
+
},
|
|
4871
|
+
},
|
|
4872
|
+
required: ['kind'],
|
|
4873
|
+
};
|
|
4557
4874
|
export const CommentIdSchema = {
|
|
4558
4875
|
type: 'object',
|
|
4559
4876
|
properties: {
|
|
@@ -4563,6 +4880,15 @@ export const CommentIdSchema = {
|
|
|
4563
4880
|
},
|
|
4564
4881
|
},
|
|
4565
4882
|
};
|
|
4883
|
+
export const ConnectionIdSchema = {
|
|
4884
|
+
type: 'object',
|
|
4885
|
+
properties: {
|
|
4886
|
+
value: {
|
|
4887
|
+
type: 'string',
|
|
4888
|
+
format: 'uuid',
|
|
4889
|
+
},
|
|
4890
|
+
},
|
|
4891
|
+
};
|
|
4566
4892
|
export const ContactAssignedSchema = {
|
|
4567
4893
|
properties: {
|
|
4568
4894
|
contactId: {
|
|
@@ -4734,6 +5060,8 @@ export const NotificationContentSchema = {
|
|
|
4734
5060
|
SUBSCRIPTION_ENDING: '#/components/schemas/SubscriptionEnding',
|
|
4735
5061
|
SUBSCRIPTION_EXPIRED: '#/components/schemas/SubscriptionExpired',
|
|
4736
5062
|
SUBSCRIPTION_PAYMENT_REVERSED: '#/components/schemas/SubscriptionPaymentReversed',
|
|
5063
|
+
CHANNEL_REAUTH_REQUIRED: '#/components/schemas/ChannelReauthRequired',
|
|
5064
|
+
SOCIAL_POST_FAILED: '#/components/schemas/SocialPostFailed',
|
|
4737
5065
|
},
|
|
4738
5066
|
},
|
|
4739
5067
|
required: ['kind'],
|
|
@@ -4776,6 +5104,8 @@ export const NotificationViewSchema = {
|
|
|
4776
5104
|
'SUBSCRIPTION_ENDING',
|
|
4777
5105
|
'SUBSCRIPTION_EXPIRED',
|
|
4778
5106
|
'SUBSCRIPTION_PAYMENT_REVERSED',
|
|
5107
|
+
'CHANNEL_REAUTH_REQUIRED',
|
|
5108
|
+
'SOCIAL_POST_FAILED',
|
|
4779
5109
|
],
|
|
4780
5110
|
},
|
|
4781
5111
|
targetId: {
|
|
@@ -4786,6 +5116,9 @@ export const NotificationViewSchema = {
|
|
|
4786
5116
|
{
|
|
4787
5117
|
$ref: '#/components/schemas/AgentCommented',
|
|
4788
5118
|
},
|
|
5119
|
+
{
|
|
5120
|
+
$ref: '#/components/schemas/ChannelReauthRequired',
|
|
5121
|
+
},
|
|
4789
5122
|
{
|
|
4790
5123
|
$ref: '#/components/schemas/ContactAssigned',
|
|
4791
5124
|
},
|
|
@@ -4798,6 +5131,9 @@ export const NotificationViewSchema = {
|
|
|
4798
5131
|
{
|
|
4799
5132
|
$ref: '#/components/schemas/NewSeekerRating',
|
|
4800
5133
|
},
|
|
5134
|
+
{
|
|
5135
|
+
$ref: '#/components/schemas/SocialPostFailed',
|
|
5136
|
+
},
|
|
4801
5137
|
{
|
|
4802
5138
|
$ref: '#/components/schemas/SubscriptionEnding',
|
|
4803
5139
|
},
|
|
@@ -4834,6 +5170,56 @@ export const PropertyIdSchema = {
|
|
|
4834
5170
|
},
|
|
4835
5171
|
},
|
|
4836
5172
|
};
|
|
5173
|
+
export const SocialPostFailedSchema = {
|
|
5174
|
+
properties: {
|
|
5175
|
+
postId: {
|
|
5176
|
+
$ref: '#/components/schemas/SocialPostId',
|
|
5177
|
+
},
|
|
5178
|
+
contactId: {
|
|
5179
|
+
$ref: '#/components/schemas/ContactId',
|
|
5180
|
+
},
|
|
5181
|
+
propertyId: {
|
|
5182
|
+
$ref: '#/components/schemas/PropertyId',
|
|
5183
|
+
},
|
|
5184
|
+
listingId: {
|
|
5185
|
+
type: 'integer',
|
|
5186
|
+
format: 'int64',
|
|
5187
|
+
},
|
|
5188
|
+
propertyTitle: {
|
|
5189
|
+
type: 'string',
|
|
5190
|
+
},
|
|
5191
|
+
channel: {
|
|
5192
|
+
type: 'string',
|
|
5193
|
+
enum: ['FACEBOOK', 'INSTAGRAM'],
|
|
5194
|
+
},
|
|
5195
|
+
reason: {
|
|
5196
|
+
type: 'string',
|
|
5197
|
+
enum: [
|
|
5198
|
+
'RECONNECT_REQUIRED',
|
|
5199
|
+
'PERMISSION_MISSING',
|
|
5200
|
+
'PAGE_PUBLISHING_AUTHORIZATION',
|
|
5201
|
+
'RATE_LIMITED',
|
|
5202
|
+
'BAD_MEDIA',
|
|
5203
|
+
'UNCONFIRMED',
|
|
5204
|
+
'UNKNOWN',
|
|
5205
|
+
],
|
|
5206
|
+
},
|
|
5207
|
+
kind: {
|
|
5208
|
+
type: 'string',
|
|
5209
|
+
enum: ['SOCIAL_POST_FAILED'],
|
|
5210
|
+
},
|
|
5211
|
+
},
|
|
5212
|
+
required: ['kind'],
|
|
5213
|
+
};
|
|
5214
|
+
export const SocialPostIdSchema = {
|
|
5215
|
+
type: 'object',
|
|
5216
|
+
properties: {
|
|
5217
|
+
value: {
|
|
5218
|
+
type: 'string',
|
|
5219
|
+
format: 'uuid',
|
|
5220
|
+
},
|
|
5221
|
+
},
|
|
5222
|
+
};
|
|
4837
5223
|
export const SubscriptionEndingSchema = {
|
|
4838
5224
|
properties: {
|
|
4839
5225
|
subscriptionId: {
|
|
@@ -5374,6 +5760,13 @@ export const ListingGridResponseSchema = {
|
|
|
5374
5760
|
$ref: '#/components/schemas/PlatformView',
|
|
5375
5761
|
},
|
|
5376
5762
|
},
|
|
5763
|
+
socialPosts: {
|
|
5764
|
+
type: 'array',
|
|
5765
|
+
description: 'Where the listing is posted on Facebook / Instagram: the latest published post per channel',
|
|
5766
|
+
items: {
|
|
5767
|
+
$ref: '#/components/schemas/SocialPostLink',
|
|
5768
|
+
},
|
|
5769
|
+
},
|
|
5377
5770
|
createdAt: {
|
|
5378
5771
|
type: 'string',
|
|
5379
5772
|
format: 'date-time',
|
|
@@ -5394,6 +5787,7 @@ export const ListingGridResponseSchema = {
|
|
|
5394
5787
|
'propertyId',
|
|
5395
5788
|
'propertyState',
|
|
5396
5789
|
'propertyType',
|
|
5790
|
+
'socialPosts',
|
|
5397
5791
|
'title',
|
|
5398
5792
|
'updatedAt',
|
|
5399
5793
|
],
|
|
@@ -5437,6 +5831,20 @@ export const PlatformViewSchema = {
|
|
|
5437
5831
|
},
|
|
5438
5832
|
},
|
|
5439
5833
|
};
|
|
5834
|
+
export const SocialPostLinkSchema = {
|
|
5835
|
+
type: 'object',
|
|
5836
|
+
properties: {
|
|
5837
|
+
channel: {
|
|
5838
|
+
type: 'string',
|
|
5839
|
+
enum: ['FACEBOOK', 'INSTAGRAM'],
|
|
5840
|
+
},
|
|
5841
|
+
permalink: {
|
|
5842
|
+
type: 'string',
|
|
5843
|
+
description: 'Opens the post on Facebook / Instagram',
|
|
5844
|
+
},
|
|
5845
|
+
},
|
|
5846
|
+
required: ['channel', 'permalink'],
|
|
5847
|
+
};
|
|
5440
5848
|
export const GroupCountSchema = {
|
|
5441
5849
|
type: 'object',
|
|
5442
5850
|
properties: {
|
|
@@ -5888,6 +6296,95 @@ export const CursorPageMessageViewSchema = {
|
|
|
5888
6296
|
},
|
|
5889
6297
|
},
|
|
5890
6298
|
};
|
|
6299
|
+
export const ComposerLimitsSchema = {
|
|
6300
|
+
type: 'object',
|
|
6301
|
+
properties: {
|
|
6302
|
+
maxPhotos: {
|
|
6303
|
+
type: 'integer',
|
|
6304
|
+
format: 'int32',
|
|
6305
|
+
},
|
|
6306
|
+
maxCaptionLength: {
|
|
6307
|
+
type: 'integer',
|
|
6308
|
+
format: 'int32',
|
|
6309
|
+
description: 'In Unicode code points: an emoji counts once, as [...text].length counts in JavaScript (text.length counts it twice)',
|
|
6310
|
+
},
|
|
6311
|
+
},
|
|
6312
|
+
required: ['maxCaptionLength', 'maxPhotos'],
|
|
6313
|
+
};
|
|
6314
|
+
export const ComposerPhotoSchema = {
|
|
6315
|
+
type: 'object',
|
|
6316
|
+
properties: {
|
|
6317
|
+
photoId: {
|
|
6318
|
+
type: 'integer',
|
|
6319
|
+
format: 'int64',
|
|
6320
|
+
description: 'What the publish request sends',
|
|
6321
|
+
},
|
|
6322
|
+
url: {
|
|
6323
|
+
type: 'string',
|
|
6324
|
+
},
|
|
6325
|
+
width: {
|
|
6326
|
+
type: 'integer',
|
|
6327
|
+
format: 'int32',
|
|
6328
|
+
description: 'As the photo is shown, in pixels',
|
|
6329
|
+
},
|
|
6330
|
+
height: {
|
|
6331
|
+
type: 'integer',
|
|
6332
|
+
format: 'int32',
|
|
6333
|
+
description: 'As the photo is shown, in pixels',
|
|
6334
|
+
},
|
|
6335
|
+
selectedByDefault: {
|
|
6336
|
+
type: 'boolean',
|
|
6337
|
+
},
|
|
6338
|
+
},
|
|
6339
|
+
required: ['height', 'photoId', 'selectedByDefault', 'url', 'width'],
|
|
6340
|
+
};
|
|
6341
|
+
export const ComposerPreviewSchema = {
|
|
6342
|
+
type: 'object',
|
|
6343
|
+
properties: {
|
|
6344
|
+
channel: {
|
|
6345
|
+
type: 'string',
|
|
6346
|
+
enum: ['FACEBOOK', 'INSTAGRAM'],
|
|
6347
|
+
},
|
|
6348
|
+
caption: {
|
|
6349
|
+
type: 'string',
|
|
6350
|
+
description: 'The built-in Georgian template filled in from the listing; a line with nothing to fill it is left out',
|
|
6351
|
+
},
|
|
6352
|
+
templateId: {
|
|
6353
|
+
type: 'string',
|
|
6354
|
+
format: 'uuid',
|
|
6355
|
+
description: 'The template the text came from, sent back on publish; null for the built-in one',
|
|
6356
|
+
},
|
|
6357
|
+
limits: {
|
|
6358
|
+
$ref: '#/components/schemas/ComposerLimits',
|
|
6359
|
+
},
|
|
6360
|
+
ratios: {
|
|
6361
|
+
type: 'array',
|
|
6362
|
+
description: "The shapes the agent can pick; empty on Facebook, which keeps each photo's own",
|
|
6363
|
+
items: {
|
|
6364
|
+
type: 'string',
|
|
6365
|
+
enum: ['LANDSCAPE', 'SQUARE', 'PORTRAIT'],
|
|
6366
|
+
},
|
|
6367
|
+
},
|
|
6368
|
+
defaultRatio: {
|
|
6369
|
+
type: 'string',
|
|
6370
|
+
description: 'Instagram only',
|
|
6371
|
+
enum: ['LANDSCAPE', 'SQUARE', 'PORTRAIT'],
|
|
6372
|
+
},
|
|
6373
|
+
photos: {
|
|
6374
|
+
type: 'array',
|
|
6375
|
+
description: 'The whole gallery, in gallery order',
|
|
6376
|
+
items: {
|
|
6377
|
+
$ref: '#/components/schemas/ComposerPhoto',
|
|
6378
|
+
},
|
|
6379
|
+
},
|
|
6380
|
+
access: {
|
|
6381
|
+
type: 'string',
|
|
6382
|
+
description: 'Whether the agency can post to the channel now; publishing refuses anything but ALLOWED',
|
|
6383
|
+
enum: ['ALLOWED', 'NOT_CONNECTED', 'RECONNECT_REQUIRED'],
|
|
6384
|
+
},
|
|
6385
|
+
},
|
|
6386
|
+
required: ['access', 'caption', 'channel', 'limits', 'photos', 'ratios'],
|
|
6387
|
+
};
|
|
5891
6388
|
export const ContactGridResponseSchema = {
|
|
5892
6389
|
type: 'object',
|
|
5893
6390
|
properties: {
|