@cxtms/cx-schema 1.9.254 → 1.9.255

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cxtms/cx-schema",
3
- "version": "1.9.254",
3
+ "version": "1.9.255",
4
4
  "description": "Schema validation package for CXTMS YAML modules",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "title": "Transmission Tasks",
4
- "description": "Create, update, and delete transmission records linked to orders",
4
+ "description": "Create, update, and delete transmission records linked to orders or addressed to contacts",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "task": {
@@ -55,7 +55,11 @@
55
55
  "orderIds": {
56
56
  "type": ["array", "string"],
57
57
  "items": { "type": ["integer", "string"] },
58
- "description": "Order IDs to link (required for Create, at least one)"
58
+ "description": "Optional order IDs to link"
59
+ },
60
+ "contactId": {
61
+ "type": ["integer", "string", "null"],
62
+ "description": "Partner contact used for delivery and channel defaults"
59
63
  },
60
64
  "channel": {
61
65
  "type": "string",
@@ -145,7 +149,31 @@
145
149
  },
146
150
  "payloadRef": {
147
151
  "type": ["string", "null"],
148
- "description": "Reference to stored payload (e.g. blob URI)"
152
+ "description": "Reference to a stored payload; mutually exclusive with payload"
153
+ },
154
+ "payload": {
155
+ "description": "JSON, text, or binary/base64 payload uploaded to storage"
156
+ },
157
+ "payloadContentType": {
158
+ "type": ["string", "null"],
159
+ "description": "Content type override for payload"
160
+ },
161
+ "attachments": {
162
+ "type": ["array", "string", "null"],
163
+ "description": "Attachment inputs; each uses exactly one source",
164
+ "items": {
165
+ "type": "object",
166
+ "properties": {
167
+ "attachmentId": { "type": ["integer", "string", "null"] },
168
+ "attachmentGuid": { "type": ["string", "null"], "format": "uuid" },
169
+ "url": { "type": ["string", "null"] },
170
+ "data": { "description": "Raw bytes or base64 data" },
171
+ "fileName": { "type": ["string", "null"] },
172
+ "contentType": { "type": ["string", "null"] },
173
+ "metadata": { "type": ["object", "string", "null"] }
174
+ },
175
+ "additionalProperties": false
176
+ }
149
177
  },
150
178
  "scheduledAt": {
151
179
  "type": ["string", "null"],
@@ -479,11 +479,11 @@ Output `result`: `{ added, updated, skipped, failed, total, errors[] }`.
479
479
 
480
480
  | Task | Description |
481
481
  |------|-------------|
482
- | `Transmission/Create` | Create transmission record linked to orders |
482
+ | `Transmission/Create` | Create a transmission, optionally linked to orders or addressed to a contact |
483
483
  | `Transmission/Update` | Update transmission fields (dynamic) |
484
484
  | `Transmission/Delete` | Delete transmission record |
485
485
 
486
- Records inbound/outbound message transmissions (EDI, API, Email, Webhook) linked to orders.
486
+ Records inbound/outbound message transmissions (EDI, API, Email, Webhook). Contact-addressed outbound records can carry stored payloads and attachments and are queued for delivery.
487
487
 
488
488
  ```yaml
489
489
  - task: "Transmission/Create@1"
@@ -492,14 +492,10 @@ Records inbound/outbound message transmissions (EDI, API, Email, Webhook) linked
492
492
  organizationId: "{{ int organizationId }}"
493
493
  transmission:
494
494
  orderIds: "{{ orderIds }}"
495
- channel: "EDI"
496
- direction: "Outbound"
495
+ contactId: "{{ int partnerContactId }}"
497
496
  messageType: "214"
498
- sender: "{{ senderISA }}"
499
- receiver: "{{ receiverISA }}"
500
- status: "Pending"
501
- endpoint: "{{ endpoint }}"
502
- protocol: "SFTP"
497
+ payload: "{{ orderPayload }}"
498
+ payloadContentType: "application/json"
503
499
  outputs:
504
500
  - name: transmission
505
501
  mapping: "transmission"
@@ -527,12 +523,14 @@ Records inbound/outbound message transmissions (EDI, API, Email, Webhook) linked
527
523
  mapping: "success"
528
524
  ```
529
525
 
530
- **Create inputs:** `organizationId` (int, required), `transmission` object — `orderIds` (required, at least one), `channel`, `direction` (Inbound/Outbound), `messageType`, `sender`, `receiver`, `status`, `endpoint`, `protocol`, `correlationId` (auto-generated if omitted), `parentId`, `httpStatus`, `byteSize`, `retryCount`, `maxRetries`, `nextRetryAt`, `errorCode`, `errorMessage`, `customValues`, `headers`, `payloadRef`, `scheduledAt`, `startedAt`, `completedAt`, `durationMs`.
526
+ **Create inputs:** `organizationId` (int, required), `transmission` object — optional `orderIds`; `contactId`; `channel` (required without `contactId`); `direction` (Inbound/Outbound, defaults to Outbound); `messageType`, `sender`, `receiver`, `status`, `endpoint`, `protocol`, `correlationId` (auto-generated if omitted), `parentId`, `httpStatus`, `byteSize`, `retryCount`, `maxRetries`, `nextRetryAt`, `errorCode`, `errorMessage`, `customValues`, `headers`, `payloadRef`, `payload`, `payloadContentType`, `attachments`, `scheduledAt`, `startedAt`, `completedAt`, `durationMs`. `payload` and `payloadRef` are mutually exclusive. Each attachment uses exactly one of `attachmentId`, `attachmentGuid`, `url`, or `data`; URL/data entries require `fileName`.
531
527
 
532
528
  **Create outputs:** `transmission` (full TransmissionDto).
533
529
  **Update inputs:** `organizationId`, `transmissionId`, `transmission` (dynamic partial fields).
534
530
  **Delete outputs:** `success` (boolean).
535
531
 
532
+ Contact-addressed transmissions with a supported transport are queued through the outbox. Transmission entity triggers expose decoded `entity.payload` (within the server preload limit) and `entity.attachments` with download URLs.
533
+
536
534
  **Status enum:** Pending, InProgress, Sent, Received, Delivered, Acknowledged, Rejected, Error, RetryScheduled, Cancelled, Expired, Accepted.
537
535
 
538
536
  ## Accounting Transaction (Additional)