@celigo/api-specs 0.2.158 → 0.2.160
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/ai-agent.yml +40 -2
- package/dist/editransaction.yml +543 -25
- package/dist/export.yml +69 -17
- package/dist/flow.yml +18 -10
- package/dist/httpconnector.yml +40 -2
- package/dist/httpconnectorresource.yml +40 -2
- package/dist/import.yml +40 -2
- package/dist/lookupcache.yml +20 -2
- package/dist/processor.yml +5 -1
- package/dist/tool.yml +40 -2
- package/dist/tradingpartnerconnector.yml +40 -2
- package/package.json +1 -1
- package/schemas.json +2 -2
|
@@ -488,6 +488,10 @@ components:
|
|
|
488
488
|
- Items that don't match are completely skipped
|
|
489
489
|
- No partial processing is performed
|
|
490
490
|
|
|
491
|
+
Send the whole object. A rules array sent alone as the `filter` value is not
|
|
492
|
+
stored, and a full update of an export that carries one removes the filter the
|
|
493
|
+
export had, with no error.
|
|
494
|
+
|
|
491
495
|
**Implementation approaches**
|
|
492
496
|
|
|
493
497
|
There are two distinct filtering mechanisms available:
|
|
@@ -638,6 +642,8 @@ components:
|
|
|
638
642
|
**Using `extract` to access record fields:**
|
|
639
643
|
- Retrieves values from the current record being processed
|
|
640
644
|
- Can access nested properties using dot notation (e.g., `"customer.email"`)
|
|
645
|
+
- Paths are relative to the record itself: `["extract", "record.status"]`
|
|
646
|
+
matches nothing
|
|
641
647
|
- In a record filter, must be wrapped in a type conversion (`string`, `number`,
|
|
642
648
|
`boolean` or `epochtime`): a bare `["extract", ...]` operand is refused with 422
|
|
643
649
|
"Field operation extract must be called by a Type Conversion Operation but was called
|
|
@@ -648,9 +654,17 @@ components:
|
|
|
648
654
|
- Retrieves values from the integration's configuration settings
|
|
649
655
|
- Supports different scopes with prefix notation:
|
|
650
656
|
- `flow.settingName`: Access flow-level settings
|
|
651
|
-
- `
|
|
652
|
-
- `
|
|
657
|
+
- `flowGrouping.settingName`: Access the flow group's settings
|
|
658
|
+
- `export.settingName`: Access the export's (or lookup's) own settings
|
|
659
|
+
- `import.settingName`: Access the import's own settings
|
|
653
660
|
- `integration.settingName`: Access integration-level settings
|
|
661
|
+
- `connection.settingName`, `iClient.settingName`: Access the step's
|
|
662
|
+
connection and iClient settings
|
|
663
|
+
- A scope whose resource has no settings can be absent; a rule that reads
|
|
664
|
+
it matches nothing
|
|
665
|
+
- Must be wrapped in a type conversion like `extract`: a bare
|
|
666
|
+
`["settings", ...]` operand is refused with 422 "Field operation settings
|
|
667
|
+
must be called by a Type Conversion Operation"
|
|
654
668
|
- Useful for dynamic filtering based on configuration
|
|
655
669
|
|
|
656
670
|
**Field Transformations**
|
|
@@ -660,6 +674,24 @@ components:
|
|
|
660
674
|
- `"floor"`: Round number down to the nearest integer
|
|
661
675
|
- `"abs"`: Get absolute value of a number
|
|
662
676
|
|
|
677
|
+
**Arithmetic** (number operands)
|
|
678
|
+
- `"add"`, `"subtract"`, `"multiply"`, `"divide"`, `"modulo"`: for example
|
|
679
|
+
`["subtract", ["number", ["extract", "total"]], ["number", ["extract", "discount"]]]`.
|
|
680
|
+
`mod` is not an operator (422 "Invalid operation: mod.").
|
|
681
|
+
|
|
682
|
+
**Dates**
|
|
683
|
+
- `epochtime` reads ISO 8601 strings and epoch-millisecond numbers. An empty
|
|
684
|
+
string, a string that isn't a date, or epoch milliseconds sent as a string
|
|
685
|
+
fail it with "Invalid date. Cannot convert given string or number to date
|
|
686
|
+
time.", followed by `; record=` and the record as JSON: in a run that record fails (`FILTER_EVALUATION_FAILED`, source
|
|
687
|
+
`output_filter` on an export), and `POST /v1/processors/filter` and an
|
|
688
|
+
export preview refuse the whole call with 422. `and` and `or` evaluate
|
|
689
|
+
every operand, so a `notempty` test beside it doesn't prevent the failure.
|
|
690
|
+
A missing or null field doesn't match.
|
|
691
|
+
- `datetime`, `date` and `timestamp` are not type conversions: 422
|
|
692
|
+
"Invalid operation: <name>."
|
|
693
|
+
- `number` reads a missing or empty field as 0.
|
|
694
|
+
|
|
663
695
|
**Handlebars operands**
|
|
664
696
|
- An operand can also be a string holding exactly one Handlebars expression, such as
|
|
665
697
|
`"{{record.status}}"` or `"{{lowercase record.code}}"`, on either side of the
|
|
@@ -671,6 +703,12 @@ components:
|
|
|
671
703
|
with 422 "invalid datetime format".
|
|
672
704
|
- A string with text around the expression, or with more than one expression, is
|
|
673
705
|
compared as a literal.
|
|
706
|
+
- `["number", "{{timestamp \"x\"}}"]` is the current time in epoch milliseconds,
|
|
707
|
+
so `["greaterthanequals", ["epochtime", ["extract", "created"]], ["subtract",
|
|
708
|
+
["number", "{{timestamp \"x\"}}"], 604800000]]` keeps records created in the
|
|
709
|
+
last 7 days.
|
|
710
|
+
- An unknown helper fails the rule with 422 "Failed to evaluate handlebars
|
|
711
|
+
expression".
|
|
674
712
|
|
|
675
713
|
Choose the type conversion that matches the comparison — `number` for numeric
|
|
676
714
|
comparisons, `epochtime` for dates, `string` for text. For example:
|
package/package.json
CHANGED