@vindentech/api-client 0.3.0-next.17 → 0.3.0-next.19
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/generated/_all.d.ts +2 -0
- package/dist/generated/_all.d.ts.map +1 -1
- package/dist/generated/_all.js +2 -0
- package/dist/generated/_all.js.map +1 -1
- package/dist/generated/_permissions.d.ts +64 -1
- package/dist/generated/_permissions.d.ts.map +1 -1
- package/dist/generated/_permissions.js +16 -0
- package/dist/generated/_permissions.js.map +1 -1
- package/dist/generated/index.schemas.d.ts +559 -19
- package/dist/generated/index.schemas.d.ts.map +1 -1
- package/dist/generated/index.schemas.js +174 -4
- package/dist/generated/index.schemas.js.map +1 -1
- package/dist/generated/me-notification-preferences/me-notification-preferences.d.ts +22 -1
- package/dist/generated/me-notification-preferences/me-notification-preferences.d.ts.map +1 -1
- package/dist/generated/me-notification-preferences/me-notification-preferences.js +11 -0
- package/dist/generated/me-notification-preferences/me-notification-preferences.js.map +1 -1
- package/dist/generated/notification-debug/notification-debug.d.ts +34 -0
- package/dist/generated/notification-debug/notification-debug.d.ts.map +1 -0
- package/dist/generated/notification-debug/notification-debug.js +13 -0
- package/dist/generated/notification-debug/notification-debug.js.map +1 -0
- package/dist/generated/notification-dispatches/notification-dispatches.d.ts +51 -1
- package/dist/generated/notification-dispatches/notification-dispatches.d.ts.map +1 -1
- package/dist/generated/notification-dispatches/notification-dispatches.js +20 -0
- package/dist/generated/notification-dispatches/notification-dispatches.js.map +1 -1
- package/dist/generated/notification-preferences/notification-preferences.d.ts +26 -1
- package/dist/generated/notification-preferences/notification-preferences.d.ts.map +1 -1
- package/dist/generated/notification-preferences/notification-preferences.js +11 -0
- package/dist/generated/notification-preferences/notification-preferences.js.map +1 -1
- package/dist/generated/notification-requests/notification-requests.d.ts +22 -1
- package/dist/generated/notification-requests/notification-requests.d.ts.map +1 -1
- package/dist/generated/notification-requests/notification-requests.js +9 -0
- package/dist/generated/notification-requests/notification-requests.js.map +1 -1
- package/dist/generated/notification-settings/notification-settings.d.ts +36 -1
- package/dist/generated/notification-settings/notification-settings.d.ts.map +1 -1
- package/dist/generated/notification-settings/notification-settings.js +23 -0
- package/dist/generated/notification-settings/notification-settings.js.map +1 -1
- package/dist/generated/orders/orders.d.ts +15 -1
- package/dist/generated/orders/orders.d.ts.map +1 -1
- package/dist/generated/orders/orders.js +12 -0
- package/dist/generated/orders/orders.js.map +1 -1
- package/dist/generated/pickup-label/pickup-label.d.ts +23 -0
- package/dist/generated/pickup-label/pickup-label.d.ts.map +1 -0
- package/dist/generated/pickup-label/pickup-label.js +12 -0
- package/dist/generated/pickup-label/pickup-label.js.map +1 -0
- package/dist/generated/sender-identities/sender-identities.d.ts +93 -1
- package/dist/generated/sender-identities/sender-identities.d.ts.map +1 -1
- package/dist/generated/sender-identities/sender-identities.js +40 -0
- package/dist/generated/sender-identities/sender-identities.js.map +1 -1
- package/dist/generated/service-points/service-points.d.ts +20 -9
- package/dist/generated/service-points/service-points.d.ts.map +1 -1
- package/dist/generated/service-points/service-points.js.map +1 -1
- package/dist/generated/suppressions/suppressions.d.ts +55 -1
- package/dist/generated/suppressions/suppressions.d.ts.map +1 -1
- package/dist/generated/suppressions/suppressions.js +22 -0
- package/dist/generated/suppressions/suppressions.js.map +1 -1
- package/package.json +1 -1
|
@@ -581,6 +581,60 @@ export interface OrderTransitionResultDto {
|
|
|
581
581
|
newStatus: OrderTransitionResultDtoNewStatus;
|
|
582
582
|
transitionedAt: string;
|
|
583
583
|
}
|
|
584
|
+
export interface ReceiveAtWarehouseDto {
|
|
585
|
+
/** The container the collected goods were unloaded onto at the warehouse. */
|
|
586
|
+
containerId: string;
|
|
587
|
+
}
|
|
588
|
+
/**
|
|
589
|
+
* Always RECEIVED.
|
|
590
|
+
*/
|
|
591
|
+
export type ReceivedAtWarehousePodDtoStatus = typeof ReceivedAtWarehousePodDtoStatus[keyof typeof ReceivedAtWarehousePodDtoStatus];
|
|
592
|
+
export declare const ReceivedAtWarehousePodDtoStatus: {
|
|
593
|
+
readonly RECEIVED: "RECEIVED";
|
|
594
|
+
};
|
|
595
|
+
export interface ReceivedAtWarehousePodDto {
|
|
596
|
+
podId: string;
|
|
597
|
+
/** Always RECEIVED. */
|
|
598
|
+
status: ReceivedAtWarehousePodDtoStatus;
|
|
599
|
+
/** The MOVE movement appended for this pod. */
|
|
600
|
+
movementId: string;
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Always IN_TRANSIT.
|
|
604
|
+
*/
|
|
605
|
+
export type ReceiveAtWarehouseResultDtoOldStatus = typeof ReceiveAtWarehouseResultDtoOldStatus[keyof typeof ReceiveAtWarehouseResultDtoOldStatus];
|
|
606
|
+
export declare const ReceiveAtWarehouseResultDtoOldStatus: {
|
|
607
|
+
readonly IN_TRANSIT: "IN_TRANSIT";
|
|
608
|
+
};
|
|
609
|
+
/**
|
|
610
|
+
* Always RECEIVED.
|
|
611
|
+
*/
|
|
612
|
+
export type ReceiveAtWarehouseResultDtoNewStatus = typeof ReceiveAtWarehouseResultDtoNewStatus[keyof typeof ReceiveAtWarehouseResultDtoNewStatus];
|
|
613
|
+
export declare const ReceiveAtWarehouseResultDtoNewStatus: {
|
|
614
|
+
readonly RECEIVED: "RECEIVED";
|
|
615
|
+
};
|
|
616
|
+
export interface ReceiveAtWarehouseResultDto {
|
|
617
|
+
salesOrderId: string;
|
|
618
|
+
/** Always IN_TRANSIT. */
|
|
619
|
+
oldStatus: ReceiveAtWarehouseResultDtoOldStatus;
|
|
620
|
+
/** Always RECEIVED. */
|
|
621
|
+
newStatus: ReceiveAtWarehouseResultDtoNewStatus;
|
|
622
|
+
/** ISO-8601 receipt timestamp. */
|
|
623
|
+
receivedAt: string;
|
|
624
|
+
/** The receiving container. */
|
|
625
|
+
containerId: string;
|
|
626
|
+
/**
|
|
627
|
+
* The container's current position, or null when it is unplaced.
|
|
628
|
+
* @nullable
|
|
629
|
+
*/
|
|
630
|
+
positionId: string | null;
|
|
631
|
+
/** The order's warehouse after the command — backfilled from the container when the order had none. */
|
|
632
|
+
warehouseId: string;
|
|
633
|
+
/** Every IDENTIFIED pod that was moved onto the container. */
|
|
634
|
+
placedPods: ReceivedAtWarehousePodDto[];
|
|
635
|
+
/** True when this response is an idempotent replay. */
|
|
636
|
+
idempotent: boolean;
|
|
637
|
+
}
|
|
584
638
|
export interface DeliverAllDto {
|
|
585
639
|
/** An existing file_asset id (kind POD) to link to the leg as proof_of_delivery. */
|
|
586
640
|
proofOfDeliveryFileId?: string;
|
|
@@ -1594,6 +1648,77 @@ export interface UpdateIdentityNumberDto {
|
|
|
1594
1648
|
/** Swedish personal identity number — YYMMDDNNNN, YYMMDD-NNNN, YYMMDD+NNNN, YYYYMMDDNNNN or YYYYMMDD-NNNN, with a valid Luhn check digit. Stored digits-only. Never returned by any endpoint. */
|
|
1595
1649
|
personalIdentityNumber: string;
|
|
1596
1650
|
}
|
|
1651
|
+
export interface ServicePointAddressDto {
|
|
1652
|
+
/** @nullable */
|
|
1653
|
+
street: string | null;
|
|
1654
|
+
/** @nullable */
|
|
1655
|
+
postalCode: string | null;
|
|
1656
|
+
/** @nullable */
|
|
1657
|
+
city: string | null;
|
|
1658
|
+
/** @nullable */
|
|
1659
|
+
municipality: string | null;
|
|
1660
|
+
/** ISO 3166-1 alpha-2 */
|
|
1661
|
+
countryCode: string;
|
|
1662
|
+
/**
|
|
1663
|
+
* Where to find the point once on site (e.g. which part of a building).
|
|
1664
|
+
* @nullable
|
|
1665
|
+
*/
|
|
1666
|
+
specificLocation: string | null;
|
|
1667
|
+
/** @nullable */
|
|
1668
|
+
latitude: number | null;
|
|
1669
|
+
/** @nullable */
|
|
1670
|
+
longitude: number | null;
|
|
1671
|
+
}
|
|
1672
|
+
export interface ServicePointOpeningHoursDto {
|
|
1673
|
+
/** Provider-supplied day name. */
|
|
1674
|
+
dayOfWeek: string;
|
|
1675
|
+
/**
|
|
1676
|
+
* Local time, provider-formatted.
|
|
1677
|
+
* @nullable
|
|
1678
|
+
*/
|
|
1679
|
+
opens: string | null;
|
|
1680
|
+
/**
|
|
1681
|
+
* Local time, provider-formatted.
|
|
1682
|
+
* @nullable
|
|
1683
|
+
*/
|
|
1684
|
+
closes: string | null;
|
|
1685
|
+
open24h: boolean;
|
|
1686
|
+
closed: boolean;
|
|
1687
|
+
}
|
|
1688
|
+
export type ServicePointDtoProvider = typeof ServicePointDtoProvider[keyof typeof ServicePointDtoProvider];
|
|
1689
|
+
export declare const ServicePointDtoProvider: {
|
|
1690
|
+
readonly POSTI: "POSTI";
|
|
1691
|
+
};
|
|
1692
|
+
export type ServicePointDtoType = typeof ServicePointDtoType[keyof typeof ServicePointDtoType];
|
|
1693
|
+
export declare const ServicePointDtoType: {
|
|
1694
|
+
readonly PARCEL_LOCKER: "PARCEL_LOCKER";
|
|
1695
|
+
readonly PICKUP_POINT: "PICKUP_POINT";
|
|
1696
|
+
};
|
|
1697
|
+
export interface ServicePointDto {
|
|
1698
|
+
/** Provider-scoped opaque id. This is the value to send back as the cart's servicePointId. */
|
|
1699
|
+
id: string;
|
|
1700
|
+
provider: ServicePointDtoProvider;
|
|
1701
|
+
/** Display name for the picker. */
|
|
1702
|
+
name: string;
|
|
1703
|
+
type: ServicePointDtoType;
|
|
1704
|
+
/**
|
|
1705
|
+
* Host business the point sits inside, when it is not standalone.
|
|
1706
|
+
* @nullable
|
|
1707
|
+
*/
|
|
1708
|
+
careOf: string | null;
|
|
1709
|
+
/**
|
|
1710
|
+
* Provider routing code for this point — what a shipping/label call needs to address a parcel here.
|
|
1711
|
+
* @nullable
|
|
1712
|
+
*/
|
|
1713
|
+
routingServiceCode: string | null;
|
|
1714
|
+
/**
|
|
1715
|
+
* Distance from the searched location, when the provider reports one.
|
|
1716
|
+
* @nullable
|
|
1717
|
+
*/
|
|
1718
|
+
distanceInMeters: number | null;
|
|
1719
|
+
address: ServicePointAddressDto;
|
|
1720
|
+
openingHours: ServicePointOpeningHoursDto[];
|
|
1721
|
+
}
|
|
1597
1722
|
export interface AnonymousSessionDto {
|
|
1598
1723
|
/** Opaque bearer token for the anonymous session. Send it as the X-Session-Token header on guest-capable endpoints. Shown once — it is stored only as a hash. */
|
|
1599
1724
|
sessionToken: string;
|
|
@@ -5366,6 +5491,45 @@ export interface UnidentifyResultDto {
|
|
|
5366
5491
|
/** True when this response replays a previous run of the key. */
|
|
5367
5492
|
idempotent: boolean;
|
|
5368
5493
|
}
|
|
5494
|
+
export interface PickupLabelProductDto {
|
|
5495
|
+
productId: string;
|
|
5496
|
+
/**
|
|
5497
|
+
* Display name (placeholder_name ?? name).
|
|
5498
|
+
* @nullable
|
|
5499
|
+
*/
|
|
5500
|
+
name: string | null;
|
|
5501
|
+
/** @nullable */
|
|
5502
|
+
primaryImageStorageKey: string | null;
|
|
5503
|
+
/**
|
|
5504
|
+
* The product_image row backing primaryImageStorageKey, when one exists.
|
|
5505
|
+
* @nullable
|
|
5506
|
+
*/
|
|
5507
|
+
productImageId: string | null;
|
|
5508
|
+
}
|
|
5509
|
+
/**
|
|
5510
|
+
* Routing verdict for the scanned label. `returning` is the only outcome carrying data.
|
|
5511
|
+
*/
|
|
5512
|
+
export type PickupLabelLookupDtoOutcome = typeof PickupLabelLookupDtoOutcome[keyof typeof PickupLabelLookupDtoOutcome];
|
|
5513
|
+
export declare const PickupLabelLookupDtoOutcome: {
|
|
5514
|
+
readonly not_found: "not_found";
|
|
5515
|
+
readonly returning: "returning";
|
|
5516
|
+
readonly label_in_use: "label_in_use";
|
|
5517
|
+
readonly other_customer: "other_customer";
|
|
5518
|
+
};
|
|
5519
|
+
/**
|
|
5520
|
+
* @nullable
|
|
5521
|
+
*/
|
|
5522
|
+
export type PickupLabelLookupDtoProduct = PickupLabelProductDto | null;
|
|
5523
|
+
export interface PickupLabelLookupDto {
|
|
5524
|
+
/** Routing verdict for the scanned label. `returning` is the only outcome carrying data. */
|
|
5525
|
+
outcome: PickupLabelLookupDtoOutcome;
|
|
5526
|
+
/** @nullable */
|
|
5527
|
+
product: PickupLabelLookupDtoProduct;
|
|
5528
|
+
/** @nullable */
|
|
5529
|
+
itemId: string | null;
|
|
5530
|
+
/** @nullable */
|
|
5531
|
+
podId: string | null;
|
|
5532
|
+
}
|
|
5369
5533
|
export interface CreateDamageReportDto {
|
|
5370
5534
|
/** The item the condition lives on (G1). */
|
|
5371
5535
|
itemId: string;
|
|
@@ -8042,6 +8206,44 @@ export interface PreferenceDto {
|
|
|
8042
8206
|
source: string;
|
|
8043
8207
|
updatedAt: string;
|
|
8044
8208
|
}
|
|
8209
|
+
export interface PreferenceSubjectDto {
|
|
8210
|
+
/** The subject's Keycloak sub. Mutually exclusive with `address`. */
|
|
8211
|
+
userSub?: string;
|
|
8212
|
+
/** The subject's email or phone. Mutually exclusive with `userSub`. */
|
|
8213
|
+
address?: string;
|
|
8214
|
+
}
|
|
8215
|
+
export type UpsertPreferenceDtoCategory = typeof UpsertPreferenceDtoCategory[keyof typeof UpsertPreferenceDtoCategory];
|
|
8216
|
+
export declare const UpsertPreferenceDtoCategory: {
|
|
8217
|
+
readonly marketing: "marketing";
|
|
8218
|
+
readonly operational: "operational";
|
|
8219
|
+
readonly transactional: "transactional";
|
|
8220
|
+
readonly billing: "billing";
|
|
8221
|
+
readonly security: "security";
|
|
8222
|
+
readonly system: "system";
|
|
8223
|
+
};
|
|
8224
|
+
/**
|
|
8225
|
+
* `null` applies the choice to every channel for the category.
|
|
8226
|
+
* @nullable
|
|
8227
|
+
*/
|
|
8228
|
+
export type UpsertPreferenceDtoChannel = typeof UpsertPreferenceDtoChannel[keyof typeof UpsertPreferenceDtoChannel] | null;
|
|
8229
|
+
export declare const UpsertPreferenceDtoChannel: {
|
|
8230
|
+
readonly email: "email";
|
|
8231
|
+
readonly sms: "sms";
|
|
8232
|
+
readonly push: "push";
|
|
8233
|
+
readonly webhook: "webhook";
|
|
8234
|
+
};
|
|
8235
|
+
export interface UpsertPreferenceDto {
|
|
8236
|
+
/** Staff surface only. On `/v1/me` the subject is the caller's JWT `sub` and this field is rejected. */
|
|
8237
|
+
subject?: PreferenceSubjectDto;
|
|
8238
|
+
category: UpsertPreferenceDtoCategory;
|
|
8239
|
+
/**
|
|
8240
|
+
* `null` applies the choice to every channel for the category.
|
|
8241
|
+
* @nullable
|
|
8242
|
+
*/
|
|
8243
|
+
channel: UpsertPreferenceDtoChannel;
|
|
8244
|
+
/** `false` is the opt-out. `true` is an explicit restored opt-in, which is kept as a row so the trail shows the choice was reversed. */
|
|
8245
|
+
isEnabled: boolean;
|
|
8246
|
+
}
|
|
8045
8247
|
export type AddressVerdictDtoCategory = typeof AddressVerdictDtoCategory[keyof typeof AddressVerdictDtoCategory];
|
|
8046
8248
|
export declare const AddressVerdictDtoCategory: {
|
|
8047
8249
|
readonly marketing: "marketing";
|
|
@@ -8142,6 +8344,28 @@ export interface PaginatedSuppressionsDto {
|
|
|
8142
8344
|
/** Effective rows skipped applied. */
|
|
8143
8345
|
offset: number;
|
|
8144
8346
|
}
|
|
8347
|
+
export type CreateSuppressionDtoChannel = typeof CreateSuppressionDtoChannel[keyof typeof CreateSuppressionDtoChannel];
|
|
8348
|
+
export declare const CreateSuppressionDtoChannel: {
|
|
8349
|
+
readonly email: "email";
|
|
8350
|
+
readonly sms: "sms";
|
|
8351
|
+
readonly push: "push";
|
|
8352
|
+
readonly webhook: "webhook";
|
|
8353
|
+
};
|
|
8354
|
+
export interface CreateSuppressionDto {
|
|
8355
|
+
channel: CreateSuppressionDtoChannel;
|
|
8356
|
+
/** Email or E.164 phone; normalized server-side. */
|
|
8357
|
+
address: string;
|
|
8358
|
+
/** When the block lapses. Omit for a permanent block. */
|
|
8359
|
+
expiresAt?: string;
|
|
8360
|
+
/** Why this address is being blocked. Recorded in the admin action. */
|
|
8361
|
+
note?: string;
|
|
8362
|
+
}
|
|
8363
|
+
export interface ReleaseSuppressionDto {
|
|
8364
|
+
/** Why the block is being lifted. Recorded in the admin action. */
|
|
8365
|
+
reason: string;
|
|
8366
|
+
/** Required to release a hard_bounce / complaint / sms_stop / provider_suppression row. Recorded in the admin action. */
|
|
8367
|
+
acknowledgeReputationRisk?: boolean;
|
|
8368
|
+
}
|
|
8145
8369
|
export type NotificationDispatchDtoChannel = typeof NotificationDispatchDtoChannel[keyof typeof NotificationDispatchDtoChannel];
|
|
8146
8370
|
export declare const NotificationDispatchDtoChannel: {
|
|
8147
8371
|
readonly email: "email";
|
|
@@ -8403,6 +8627,55 @@ export interface NotificationDispatchDetailDto {
|
|
|
8403
8627
|
bodyRetained: boolean;
|
|
8404
8628
|
deliveryEvents: DeliveryEventDto[];
|
|
8405
8629
|
}
|
|
8630
|
+
/**
|
|
8631
|
+
* Transient `failed` only. Any other status is refused.
|
|
8632
|
+
*/
|
|
8633
|
+
export type ResendBatchFilterDtoStatus = typeof ResendBatchFilterDtoStatus[keyof typeof ResendBatchFilterDtoStatus];
|
|
8634
|
+
export declare const ResendBatchFilterDtoStatus: {
|
|
8635
|
+
readonly failed: "failed";
|
|
8636
|
+
};
|
|
8637
|
+
export interface ResendBatchFilterDto {
|
|
8638
|
+
/** Transient `failed` only. Any other status is refused. */
|
|
8639
|
+
status: ResendBatchFilterDtoStatus;
|
|
8640
|
+
/** Narrow to one event. */
|
|
8641
|
+
eventKey?: string;
|
|
8642
|
+
/** Required. The window is what makes the count and the resend partition-pruned. */
|
|
8643
|
+
createdFrom: string;
|
|
8644
|
+
createdTo: string;
|
|
8645
|
+
}
|
|
8646
|
+
export interface ResendBatchDto {
|
|
8647
|
+
filter: ResendBatchFilterDto;
|
|
8648
|
+
/** The count the operator was shown. The server re-counts and refuses the batch if the number moved — a bulk send against a number nobody saw is the failure mode this exists to prevent. */
|
|
8649
|
+
expectedCount: number;
|
|
8650
|
+
/** Explicit confirmation (04 §11). Anything but `true` is refused. */
|
|
8651
|
+
confirm: boolean;
|
|
8652
|
+
}
|
|
8653
|
+
export interface ResendBatchResultDto {
|
|
8654
|
+
/** New dispatch rows created. */
|
|
8655
|
+
created: number;
|
|
8656
|
+
/** How many of those landed terminal because the re-run gate blocked them (now-suppressed or opted-out addresses). They are created and auditable, but nothing will be sent. */
|
|
8657
|
+
skippedByGate: number;
|
|
8658
|
+
}
|
|
8659
|
+
/**
|
|
8660
|
+
* What the re-run send-time gate decided. `suppressed` / `skipped_opt_out` mean the resend landed as a terminal row and no message will go out — the UI cannot punch through a hard block.
|
|
8661
|
+
*/
|
|
8662
|
+
export type ResendResultDtoGateOutcome = typeof ResendResultDtoGateOutcome[keyof typeof ResendResultDtoGateOutcome];
|
|
8663
|
+
export declare const ResendResultDtoGateOutcome: {
|
|
8664
|
+
readonly queued: "queued";
|
|
8665
|
+
readonly suppressed: "suppressed";
|
|
8666
|
+
readonly skipped_opt_out: "skipped_opt_out";
|
|
8667
|
+
};
|
|
8668
|
+
export interface ResendResultDto {
|
|
8669
|
+
/** The NEW dispatch. The original is never mutated. */
|
|
8670
|
+
notificationDispatchId: string;
|
|
8671
|
+
/** What the re-run send-time gate decided. `suppressed` / `skipped_opt_out` mean the resend landed as a terminal row and no message will go out — the UI cannot punch through a hard block. */
|
|
8672
|
+
gateOutcome: ResendResultDtoGateOutcome;
|
|
8673
|
+
/**
|
|
8674
|
+
* Why the gate blocked it, in the vocabulary the dispatch row records.
|
|
8675
|
+
* @nullable
|
|
8676
|
+
*/
|
|
8677
|
+
gateReason: string | null;
|
|
8678
|
+
}
|
|
8406
8679
|
export type DispatchStatusCountDtoStatus = typeof DispatchStatusCountDtoStatus[keyof typeof DispatchStatusCountDtoStatus];
|
|
8407
8680
|
export declare const DispatchStatusCountDtoStatus: {
|
|
8408
8681
|
readonly queued: "queued";
|
|
@@ -8458,6 +8731,10 @@ export interface NotificationRequestDto {
|
|
|
8458
8731
|
/** Total dispatches fanned out from this request. */
|
|
8459
8732
|
dispatchCount: number;
|
|
8460
8733
|
}
|
|
8734
|
+
export interface ReprocessResultDto {
|
|
8735
|
+
/** The outbox key of the re-emitted event. A reprocess puts the original event back on the pipeline rather than writing a request row: Phase A creates the new request when it consumes the event, so this key — not a request id — is what correlates the command to the fan-out it caused. The original request is never mutated. */
|
|
8736
|
+
outboxEventKey: string;
|
|
8737
|
+
}
|
|
8461
8738
|
export interface HealthRateWindowDto {
|
|
8462
8739
|
numerator: number;
|
|
8463
8740
|
denominator: number;
|
|
@@ -8494,6 +8771,10 @@ export interface NotificationSettingsDto {
|
|
|
8494
8771
|
/** @nullable */
|
|
8495
8772
|
smsSpendCeiling: number | null;
|
|
8496
8773
|
}
|
|
8774
|
+
export interface SendPauseDto {
|
|
8775
|
+
/** Why sending is being paused or resumed. Recorded in the admin action. */
|
|
8776
|
+
reason: string;
|
|
8777
|
+
}
|
|
8497
8778
|
export type SenderIdentityDtoChannel = typeof SenderIdentityDtoChannel[keyof typeof SenderIdentityDtoChannel];
|
|
8498
8779
|
export declare const SenderIdentityDtoChannel: {
|
|
8499
8780
|
readonly email: "email";
|
|
@@ -8573,6 +8854,257 @@ export interface SenderIdentityDetailDto {
|
|
|
8573
8854
|
/** DKIM/DNS records to publish for an email identity. Empty until the SES read lands with the verify command in the write slice. */
|
|
8574
8855
|
dnsRecords: SenderDnsRecordDto[];
|
|
8575
8856
|
}
|
|
8857
|
+
export type CreateSenderIdentityDtoChannel = typeof CreateSenderIdentityDtoChannel[keyof typeof CreateSenderIdentityDtoChannel];
|
|
8858
|
+
export declare const CreateSenderIdentityDtoChannel: {
|
|
8859
|
+
readonly email: "email";
|
|
8860
|
+
readonly sms: "sms";
|
|
8861
|
+
readonly push: "push";
|
|
8862
|
+
readonly webhook: "webhook";
|
|
8863
|
+
};
|
|
8864
|
+
export type CreateSenderIdentityDtoProvider = typeof CreateSenderIdentityDtoProvider[keyof typeof CreateSenderIdentityDtoProvider];
|
|
8865
|
+
export declare const CreateSenderIdentityDtoProvider: {
|
|
8866
|
+
readonly ses: "ses";
|
|
8867
|
+
readonly aws_eum_sms: "aws_eum_sms";
|
|
8868
|
+
readonly apns: "apns";
|
|
8869
|
+
readonly fcm: "fcm";
|
|
8870
|
+
};
|
|
8871
|
+
export interface CreateSenderIdentityDto {
|
|
8872
|
+
channel: CreateSenderIdentityDtoChannel;
|
|
8873
|
+
provider: CreateSenderIdentityDtoProvider;
|
|
8874
|
+
/** Email address or domain for SES; sender ID / origination number for SMS. */
|
|
8875
|
+
identityValue: string;
|
|
8876
|
+
/** The From name recipients see. */
|
|
8877
|
+
displayName?: string;
|
|
8878
|
+
/** SES configuration-set name / EUM config set or pool ARN. An opaque pointer to a Pulumi-provisioned resource — never a credential. May be filled in later by platform tooling. */
|
|
8879
|
+
providerConfigRef?: string;
|
|
8880
|
+
/** SES identity ARN / EUM pool or sender-ID ARN. Same rules as `providerConfigRef`. */
|
|
8881
|
+
providerIdentityArn?: string;
|
|
8882
|
+
}
|
|
8883
|
+
export interface UpdateSenderIdentityDto {
|
|
8884
|
+
/** @nullable */
|
|
8885
|
+
displayName?: string | null;
|
|
8886
|
+
/** Make this the channel's default. The swap is atomic — the partial UNIQUE admits one default per channel, so the previous default is demoted in the same transaction. Passing `false` on the current default is refused: a channel with enabled rules and no default has no sender. */
|
|
8887
|
+
isDefault?: boolean;
|
|
8888
|
+
}
|
|
8889
|
+
/**
|
|
8890
|
+
* The event payload, exactly as the producer would emit it.
|
|
8891
|
+
*/
|
|
8892
|
+
export type SimulateDtoPayload = {
|
|
8893
|
+
[key: string]: unknown;
|
|
8894
|
+
};
|
|
8895
|
+
export interface SimulateDto {
|
|
8896
|
+
eventKey: string;
|
|
8897
|
+
/** Pin a contract version. Defaults to the event's active version. */
|
|
8898
|
+
eventVersion?: number;
|
|
8899
|
+
/** The event payload, exactly as the producer would emit it. */
|
|
8900
|
+
payload: SimulateDtoPayload;
|
|
8901
|
+
/** The tenant to simulate against. Must be the tenant this host resolves to — enterprise tenants have their own hostname and their own database, so simulating another tenant means calling that tenant's API, not passing its id here. */
|
|
8902
|
+
tenantId?: string;
|
|
8903
|
+
}
|
|
8904
|
+
export interface SimulationContractValidationDto {
|
|
8905
|
+
valid: boolean;
|
|
8906
|
+
/** One line per offending instance path. */
|
|
8907
|
+
errors: string[];
|
|
8908
|
+
}
|
|
8909
|
+
export type SimulationMatchedRuleDtoChannel = typeof SimulationMatchedRuleDtoChannel[keyof typeof SimulationMatchedRuleDtoChannel];
|
|
8910
|
+
export declare const SimulationMatchedRuleDtoChannel: {
|
|
8911
|
+
readonly email: "email";
|
|
8912
|
+
readonly sms: "sms";
|
|
8913
|
+
readonly push: "push";
|
|
8914
|
+
readonly webhook: "webhook";
|
|
8915
|
+
};
|
|
8916
|
+
export type SimulationMatchedRuleDtoCategory = typeof SimulationMatchedRuleDtoCategory[keyof typeof SimulationMatchedRuleDtoCategory];
|
|
8917
|
+
export declare const SimulationMatchedRuleDtoCategory: {
|
|
8918
|
+
readonly marketing: "marketing";
|
|
8919
|
+
readonly operational: "operational";
|
|
8920
|
+
readonly transactional: "transactional";
|
|
8921
|
+
readonly billing: "billing";
|
|
8922
|
+
readonly security: "security";
|
|
8923
|
+
readonly system: "system";
|
|
8924
|
+
};
|
|
8925
|
+
export interface SimulationMatchedRuleDto {
|
|
8926
|
+
ruleId: string;
|
|
8927
|
+
channel: SimulationMatchedRuleDtoChannel;
|
|
8928
|
+
category: SimulationMatchedRuleDtoCategory;
|
|
8929
|
+
/** Whether fan-out would act on this rule. */
|
|
8930
|
+
fired: boolean;
|
|
8931
|
+
/**
|
|
8932
|
+
* Why it did not fire. `rule_disabled` is the only reason in v1.
|
|
8933
|
+
* @nullable
|
|
8934
|
+
*/
|
|
8935
|
+
skipReason: string | null;
|
|
8936
|
+
}
|
|
8937
|
+
export type SimulationRecipientDtoDelivery = typeof SimulationRecipientDtoDelivery[keyof typeof SimulationRecipientDtoDelivery];
|
|
8938
|
+
export declare const SimulationRecipientDtoDelivery: {
|
|
8939
|
+
readonly to: "to";
|
|
8940
|
+
readonly cc: "cc";
|
|
8941
|
+
readonly bcc: "bcc";
|
|
8942
|
+
};
|
|
8943
|
+
/**
|
|
8944
|
+
* The `resolution_reason` snapshot: spec index, kind, and the role/path it named.
|
|
8945
|
+
*/
|
|
8946
|
+
export type SimulationRecipientDtoResolutionReason = {
|
|
8947
|
+
[key: string]: unknown;
|
|
8948
|
+
};
|
|
8949
|
+
export interface SimulationRecipientDto {
|
|
8950
|
+
ruleId: string;
|
|
8951
|
+
/** Normalized, as the dispatch row would record it. */
|
|
8952
|
+
address: string;
|
|
8953
|
+
/** messaging.recipient_kind — which spec produced it. */
|
|
8954
|
+
kind: string;
|
|
8955
|
+
delivery: SimulationRecipientDtoDelivery;
|
|
8956
|
+
/** The `resolution_reason` snapshot: spec index, kind, and the role/path it named. */
|
|
8957
|
+
resolutionReason: SimulationRecipientDtoResolutionReason;
|
|
8958
|
+
/**
|
|
8959
|
+
* `unresolvable_recipient` / `invalid_recipient` when the spec produced nothing usable. Fan-out writes a terminal `failed` dispatch for these rather than dropping them.
|
|
8960
|
+
* @nullable
|
|
8961
|
+
*/
|
|
8962
|
+
error: string | null;
|
|
8963
|
+
}
|
|
8964
|
+
export type SimulationPolicyDecisionDtoCategory = typeof SimulationPolicyDecisionDtoCategory[keyof typeof SimulationPolicyDecisionDtoCategory];
|
|
8965
|
+
export declare const SimulationPolicyDecisionDtoCategory: {
|
|
8966
|
+
readonly marketing: "marketing";
|
|
8967
|
+
readonly operational: "operational";
|
|
8968
|
+
readonly transactional: "transactional";
|
|
8969
|
+
readonly billing: "billing";
|
|
8970
|
+
readonly security: "security";
|
|
8971
|
+
readonly system: "system";
|
|
8972
|
+
};
|
|
8973
|
+
export type SimulationPolicyDecisionDtoChannel = typeof SimulationPolicyDecisionDtoChannel[keyof typeof SimulationPolicyDecisionDtoChannel];
|
|
8974
|
+
export declare const SimulationPolicyDecisionDtoChannel: {
|
|
8975
|
+
readonly email: "email";
|
|
8976
|
+
readonly sms: "sms";
|
|
8977
|
+
readonly push: "push";
|
|
8978
|
+
readonly webhook: "webhook";
|
|
8979
|
+
};
|
|
8980
|
+
export type SimulationPolicyDecisionDtoVerdict = typeof SimulationPolicyDecisionDtoVerdict[keyof typeof SimulationPolicyDecisionDtoVerdict];
|
|
8981
|
+
export declare const SimulationPolicyDecisionDtoVerdict: {
|
|
8982
|
+
readonly send: "send";
|
|
8983
|
+
readonly suppressed: "suppressed";
|
|
8984
|
+
readonly skipped_opt_out: "skipped_opt_out";
|
|
8985
|
+
};
|
|
8986
|
+
/**
|
|
8987
|
+
* The matrix rule that decided it.
|
|
8988
|
+
*/
|
|
8989
|
+
export type SimulationPolicyDecisionDtoMatrixRule = typeof SimulationPolicyDecisionDtoMatrixRule[keyof typeof SimulationPolicyDecisionDtoMatrixRule];
|
|
8990
|
+
export declare const SimulationPolicyDecisionDtoMatrixRule: {
|
|
8991
|
+
readonly hard_bounce_always_wins: "hard_bounce_always_wins";
|
|
8992
|
+
readonly complaint_always_wins: "complaint_always_wins";
|
|
8993
|
+
readonly sms_stop_legal_hard_block: "sms_stop_legal_hard_block";
|
|
8994
|
+
readonly manual_suppression: "manual_suppression";
|
|
8995
|
+
readonly provider_suppression: "provider_suppression";
|
|
8996
|
+
readonly preference_opt_out: "preference_opt_out";
|
|
8997
|
+
readonly billing_category_opt_out_ignored: "billing_category_opt_out_ignored";
|
|
8998
|
+
readonly category_not_preference_suppressible: "category_not_preference_suppressible";
|
|
8999
|
+
readonly no_block: "no_block";
|
|
9000
|
+
};
|
|
9001
|
+
export interface SimulationPolicyDecisionDto {
|
|
9002
|
+
address: string;
|
|
9003
|
+
category: SimulationPolicyDecisionDtoCategory;
|
|
9004
|
+
channel: SimulationPolicyDecisionDtoChannel;
|
|
9005
|
+
verdict: SimulationPolicyDecisionDtoVerdict;
|
|
9006
|
+
/** The matrix rule that decided it. */
|
|
9007
|
+
matrixRule: SimulationPolicyDecisionDtoMatrixRule;
|
|
9008
|
+
/**
|
|
9009
|
+
* The suppression or preference row behind the verdict.
|
|
9010
|
+
* @nullable
|
|
9011
|
+
*/
|
|
9012
|
+
recordId: string | null;
|
|
9013
|
+
}
|
|
9014
|
+
export type SimulationTemplateCandidateDtoScope = typeof SimulationTemplateCandidateDtoScope[keyof typeof SimulationTemplateCandidateDtoScope];
|
|
9015
|
+
export declare const SimulationTemplateCandidateDtoScope: {
|
|
9016
|
+
readonly bound: "bound";
|
|
9017
|
+
readonly org_override: "org_override";
|
|
9018
|
+
readonly tenant_default: "tenant_default";
|
|
9019
|
+
readonly system: "system";
|
|
9020
|
+
};
|
|
9021
|
+
export interface SimulationTemplateCandidateDto {
|
|
9022
|
+
scope: SimulationTemplateCandidateDtoScope;
|
|
9023
|
+
notificationTemplateId: string;
|
|
9024
|
+
notificationTemplateVersionId: string;
|
|
9025
|
+
locale: string;
|
|
9026
|
+
/**
|
|
9027
|
+
* Lower is a better locale match; null means the locale is not an acceptable fallback.
|
|
9028
|
+
* @nullable
|
|
9029
|
+
*/
|
|
9030
|
+
localeRank: number | null;
|
|
9031
|
+
chosen: boolean;
|
|
9032
|
+
}
|
|
9033
|
+
export interface SimulationTemplateResolutionDto {
|
|
9034
|
+
ruleId: string;
|
|
9035
|
+
/** @nullable */
|
|
9036
|
+
notificationTemplateId: string | null;
|
|
9037
|
+
/** @nullable */
|
|
9038
|
+
notificationTemplateVersionId: string | null;
|
|
9039
|
+
/** @nullable */
|
|
9040
|
+
locale: string | null;
|
|
9041
|
+
/** Every published candidate considered, in precedence order — bound, then org override, tenant default, system — with the winner marked. The answer to "why that template?". */
|
|
9042
|
+
fallbackChain: SimulationTemplateCandidateDto[];
|
|
9043
|
+
}
|
|
9044
|
+
export interface SimulationRenderedPreviewDto {
|
|
9045
|
+
ruleId: string;
|
|
9046
|
+
subject: string;
|
|
9047
|
+
html: string;
|
|
9048
|
+
text: string;
|
|
9049
|
+
/** @nullable */
|
|
9050
|
+
smsSegments: number | null;
|
|
9051
|
+
sanitizationWarnings: SanitizationWarningDto[];
|
|
9052
|
+
/** Non-fatal field render errors. */
|
|
9053
|
+
renderErrors: string[];
|
|
9054
|
+
}
|
|
9055
|
+
export type SimulationVerdictDtoChannel = typeof SimulationVerdictDtoChannel[keyof typeof SimulationVerdictDtoChannel];
|
|
9056
|
+
export declare const SimulationVerdictDtoChannel: {
|
|
9057
|
+
readonly email: "email";
|
|
9058
|
+
readonly sms: "sms";
|
|
9059
|
+
readonly push: "push";
|
|
9060
|
+
readonly webhook: "webhook";
|
|
9061
|
+
};
|
|
9062
|
+
export type SimulationVerdictDtoWouldWriteStatus = typeof SimulationVerdictDtoWouldWriteStatus[keyof typeof SimulationVerdictDtoWouldWriteStatus];
|
|
9063
|
+
export declare const SimulationVerdictDtoWouldWriteStatus: {
|
|
9064
|
+
readonly queued: "queued";
|
|
9065
|
+
readonly rendering: "rendering";
|
|
9066
|
+
readonly render_failed: "render_failed";
|
|
9067
|
+
readonly suppressed: "suppressed";
|
|
9068
|
+
readonly skipped_opt_out: "skipped_opt_out";
|
|
9069
|
+
readonly skipped_disabled: "skipped_disabled";
|
|
9070
|
+
readonly skipped_cost_capped: "skipped_cost_capped";
|
|
9071
|
+
readonly sent: "sent";
|
|
9072
|
+
readonly delivered: "delivered";
|
|
9073
|
+
readonly opened: "opened";
|
|
9074
|
+
readonly clicked: "clicked";
|
|
9075
|
+
readonly soft_bounced: "soft_bounced";
|
|
9076
|
+
readonly hard_bounced: "hard_bounced";
|
|
9077
|
+
readonly complaint: "complaint";
|
|
9078
|
+
readonly failed: "failed";
|
|
9079
|
+
readonly dead_lettered: "dead_lettered";
|
|
9080
|
+
readonly permanently_failed: "permanently_failed";
|
|
9081
|
+
};
|
|
9082
|
+
export interface SimulationVerdictDto {
|
|
9083
|
+
ruleId: string;
|
|
9084
|
+
address: string;
|
|
9085
|
+
channel: SimulationVerdictDtoChannel;
|
|
9086
|
+
wouldWriteStatus: SimulationVerdictDtoWouldWriteStatus;
|
|
9087
|
+
/**
|
|
9088
|
+
* The `error_message` the row would carry, when the status is not `queued`.
|
|
9089
|
+
* @nullable
|
|
9090
|
+
*/
|
|
9091
|
+
detail: string | null;
|
|
9092
|
+
}
|
|
9093
|
+
export interface SimulationResultDto {
|
|
9094
|
+
eventKey: string;
|
|
9095
|
+
eventVersion: number;
|
|
9096
|
+
contractValidation: SimulationContractValidationDto;
|
|
9097
|
+
matchedRules: SimulationMatchedRuleDto[];
|
|
9098
|
+
resolvedRecipients: SimulationRecipientDto[];
|
|
9099
|
+
/** After (address, channel) dedup, keeping the strongest delivery level — the set fan-out would actually create rows for. */
|
|
9100
|
+
dedupedRecipients: SimulationRecipientDto[];
|
|
9101
|
+
policyDecisions: SimulationPolicyDecisionDto[];
|
|
9102
|
+
templateResolution: SimulationTemplateResolutionDto[];
|
|
9103
|
+
renderedPreview: SimulationRenderedPreviewDto[];
|
|
9104
|
+
verdicts: SimulationVerdictDto[];
|
|
9105
|
+
/** True when this tenant's sending is paused. Phase A still fans out; Phase B would park every `queued` row until the pause lifts — so the verdicts above are what WOULD be written, not what would be delivered today. */
|
|
9106
|
+
sendingPaused: boolean;
|
|
9107
|
+
}
|
|
8576
9108
|
export type OrdersControllerListV1Params = {
|
|
8577
9109
|
/**
|
|
8578
9110
|
* Max rows to return (1–100).
|
|
@@ -8764,6 +9296,33 @@ export type CarriersControllerListMethodsV1Params = {
|
|
|
8764
9296
|
*/
|
|
8765
9297
|
isActive?: boolean;
|
|
8766
9298
|
};
|
|
9299
|
+
export type ServicePointsControllerListV1Params = {
|
|
9300
|
+
/**
|
|
9301
|
+
* Postal code to search near.
|
|
9302
|
+
*/
|
|
9303
|
+
zipCode: string;
|
|
9304
|
+
/**
|
|
9305
|
+
* ISO 3166-1 alpha-2
|
|
9306
|
+
*/
|
|
9307
|
+
countryCode: string;
|
|
9308
|
+
/**
|
|
9309
|
+
* Defaults to POSTI, the only provider wired today.
|
|
9310
|
+
*/
|
|
9311
|
+
provider?: ServicePointsControllerListV1Provider;
|
|
9312
|
+
/**
|
|
9313
|
+
* Narrow to one kind of service point. Omit for both.
|
|
9314
|
+
*/
|
|
9315
|
+
type?: ServicePointsControllerListV1Type;
|
|
9316
|
+
};
|
|
9317
|
+
export type ServicePointsControllerListV1Provider = typeof ServicePointsControllerListV1Provider[keyof typeof ServicePointsControllerListV1Provider];
|
|
9318
|
+
export declare const ServicePointsControllerListV1Provider: {
|
|
9319
|
+
readonly POSTI: "POSTI";
|
|
9320
|
+
};
|
|
9321
|
+
export type ServicePointsControllerListV1Type = typeof ServicePointsControllerListV1Type[keyof typeof ServicePointsControllerListV1Type];
|
|
9322
|
+
export declare const ServicePointsControllerListV1Type: {
|
|
9323
|
+
readonly PARCEL_LOCKER: "PARCEL_LOCKER";
|
|
9324
|
+
readonly PICKUP_POINT: "PICKUP_POINT";
|
|
9325
|
+
};
|
|
8767
9326
|
export type CheckoutControllerAvailableServicesV1Params = {
|
|
8768
9327
|
/**
|
|
8769
9328
|
* Recipient zip code — resolves the service zone
|
|
@@ -9318,25 +9877,6 @@ export declare const LookupsControllerListV1Kind: {
|
|
|
9318
9877
|
readonly 'transport-slot-kind': "transport-slot-kind";
|
|
9319
9878
|
readonly 'organization-type': "organization-type";
|
|
9320
9879
|
};
|
|
9321
|
-
export type ServicePointsControllerListV1Params = {
|
|
9322
|
-
/**
|
|
9323
|
-
* Postal code to search near.
|
|
9324
|
-
*/
|
|
9325
|
-
zipCode?: string;
|
|
9326
|
-
/**
|
|
9327
|
-
* ISO 3166-1 alpha-2
|
|
9328
|
-
*/
|
|
9329
|
-
countryCode?: string;
|
|
9330
|
-
provider?: ServicePointsControllerListV1Provider;
|
|
9331
|
-
/**
|
|
9332
|
-
* Provider-specific service-point type filter.
|
|
9333
|
-
*/
|
|
9334
|
-
type?: string;
|
|
9335
|
-
};
|
|
9336
|
-
export type ServicePointsControllerListV1Provider = typeof ServicePointsControllerListV1Provider[keyof typeof ServicePointsControllerListV1Provider];
|
|
9337
|
-
export declare const ServicePointsControllerListV1Provider: {
|
|
9338
|
-
readonly POSTI: "POSTI";
|
|
9339
|
-
};
|
|
9340
9880
|
export type IntegrationsControllerGetByIdV1200 = StripeAccountDto | FortnoxAccountDto;
|
|
9341
9881
|
export type BillingAccountsControllerListAccountsV1Params = {
|
|
9342
9882
|
/**
|