@celigo/api-specs 0.2.111 → 0.2.112
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/import.yml +83 -0
- package/dist/tool.yml +83 -0
- package/package.json +1 -1
- package/schemas.json +2 -2
package/dist/import.yml
CHANGED
|
@@ -3943,6 +3943,15 @@ components:
|
|
|
3943
3943
|
- DO NOT use `jsonSerialize` here — search expressions take
|
|
3944
3944
|
scalar literals, not serialized JSON. Use `{{{id}}}` or
|
|
3945
3945
|
`{{{[Field Name]}}}` directly.
|
|
3946
|
+
- |-
|
|
3947
|
+
## Body-level only
|
|
3948
|
+
|
|
3949
|
+
This lookup identifies the record being imported, so bare
|
|
3950
|
+
body fields are the right paths here. A per-field lookup
|
|
3951
|
+
attached to a sublist row (`lookups[]` referenced from
|
|
3952
|
+
`mapping.lists[].fields[].lookupName`) is different: its
|
|
3953
|
+
expression addresses the current line with
|
|
3954
|
+
`<array>[*].<field>` — see `lookups[].expression`.
|
|
3946
3955
|
hooks:
|
|
3947
3956
|
type: object
|
|
3948
3957
|
description: |
|
|
@@ -4288,6 +4297,13 @@ components:
|
|
|
4288
4297
|
scalar extracts tag along.
|
|
4289
4298
|
If no child uses `[*]` and none set `extract` at all (every child is a `hardCodedValue`),
|
|
4290
4299
|
the sublist renders a single static line.
|
|
4300
|
+
- |-
|
|
4301
|
+
A row that resolves its value through `lookupName`
|
|
4302
|
+
(typically `extract: ""`) is driven by the sibling
|
|
4303
|
+
rows' `[*]` extracts, and the lookup's `expression`
|
|
4304
|
+
addresses the current line with the same
|
|
4305
|
+
`<array>[*].<field>` path — see
|
|
4306
|
+
`netsuite_da.lookups[].expression`.
|
|
4291
4307
|
generate:
|
|
4292
4308
|
type: string
|
|
4293
4309
|
description: NetSuite sublist field ID to write to.
|
|
@@ -4524,10 +4540,69 @@ components:
|
|
|
4524
4540
|
- internalid
|
|
4525
4541
|
expression:
|
|
4526
4542
|
type: string
|
|
4543
|
+
x-celigo-agent:
|
|
4544
|
+
- handlebars
|
|
4527
4545
|
description: |-
|
|
4528
4546
|
Optional advanced-search expression (NetSuite saved-search
|
|
4529
4547
|
DSL) for multi-criterion lookups. When present, supersedes
|
|
4530
4548
|
`searchField` / `operator` — those fields are ignored.
|
|
4549
|
+
Handlebars inside the expression is rendered against the
|
|
4550
|
+
whole source record before the search runs; a lookup on a
|
|
4551
|
+
sublist row reaches the current line through
|
|
4552
|
+
`<array>[*].<field>` (for example `line_items[*].sku`).
|
|
4553
|
+
x-celigo-ai-guidance:
|
|
4554
|
+
- |-
|
|
4555
|
+
## Evaluation context — the whole source record, no `record.` prefix
|
|
4556
|
+
|
|
4557
|
+
The expression's Handlebars renders against the incoming
|
|
4558
|
+
source record as the context root (the record is NOT
|
|
4559
|
+
wrapped under `record`), then the rendered JSON array is
|
|
4560
|
+
sent to NetSuite as the search criteria. Body-level fields
|
|
4561
|
+
are addressed bare: `{{{id}}}`, `{{{email}}}`.
|
|
4562
|
+
- |-
|
|
4563
|
+
## Sublist-row lookups address the line with `<array>[*].<field>`
|
|
4564
|
+
|
|
4565
|
+
A lookup referenced from a sublist mapping row
|
|
4566
|
+
(`mapping.lists[].fields[].lookupName`) still receives the
|
|
4567
|
+
whole record; the current line's fields are reached with the
|
|
4568
|
+
same bracket-star path the sublist extracts use —
|
|
4569
|
+
`{{{line_items[*].sku}}}` resolves the line's item (one line
|
|
4570
|
+
per sublist row). A bare line field (`{{sku}}`,
|
|
4571
|
+
`{{#contains sku "_"}}`) is undefined at the record root: a
|
|
4572
|
+
helper that receives it fails every record with
|
|
4573
|
+
`INVALID_HANDLE_BAR_EXPRESSION` — `Could not compile handle
|
|
4574
|
+
bar "<expression>" because "Cannot call method "indexOf" of
|
|
4575
|
+
undefined"` — before anything reaches NetSuite. When an
|
|
4576
|
+
audit diff shows `<array>[*].` removed from the expression
|
|
4577
|
+
right before such errors began, that edit is the cause; do
|
|
4578
|
+
not look for a line missing the field.
|
|
4579
|
+
- |-
|
|
4580
|
+
## Rendered unmatched
|
|
4581
|
+
|
|
4582
|
+
A rendered value NetSuite does not match fails the record
|
|
4583
|
+
with `VALUE_LOOKUP_FAILED` — `Could not find a match for
|
|
4584
|
+
"<rendered criteria>" for the record type "<recordType>"`
|
|
4585
|
+
— quoting the criteria exactly as rendered, so the message
|
|
4586
|
+
shows what the expression produced for that line. With
|
|
4587
|
+
`allowFailures: true` the `default` value is used instead
|
|
4588
|
+
and no error is raised. Give every branch an output.
|
|
4589
|
+
- |-
|
|
4590
|
+
## The mapping preview cannot evaluate `[*]` inside a block-helper argument
|
|
4591
|
+
|
|
4592
|
+
`PUT /v1/netsuiteDA/previewImportMappingFields` (the mapping
|
|
4593
|
+
editor's Preview) evaluates lookups for real — resolved
|
|
4594
|
+
internal ids appear in `nlobjSublistIds`, misses and
|
|
4595
|
+
compile errors in `data.mappingErrors[]` — and handles
|
|
4596
|
+
`[*]` in plain substitutions and inside a branch's output.
|
|
4597
|
+
It does NOT apply the per-line evaluation to `[*]` used as a
|
|
4598
|
+
block-helper ARGUMENT (`{{#if line_items[*].x}}`,
|
|
4599
|
+
`{{#contains line_items[*].sku "_"}}`): the sublist comes
|
|
4600
|
+
back EMPTY with no error, whatever the expression would do
|
|
4601
|
+
in a run. An empty preview is therefore no evidence about
|
|
4602
|
+
such an expression — never report it as "renders nothing"
|
|
4603
|
+
or as invalid on that basis; validate it with a run.
|
|
4604
|
+
`<array>.@index.<field>` is likewise not evaluable in the
|
|
4605
|
+
preview (the record is dropped with no error).
|
|
4531
4606
|
operator:
|
|
4532
4607
|
type: string
|
|
4533
4608
|
description: |-
|
|
@@ -4585,6 +4660,14 @@ components:
|
|
|
4585
4660
|
TWO locations: `netsuite_da.lookups` and top-level `lookups`.
|
|
4586
4661
|
Both arrays must hold byte-for-byte identical content — the
|
|
4587
4662
|
MappingsAgent writes both on every save.
|
|
4663
|
+
- |-
|
|
4664
|
+
## One context for body and sublist lookups
|
|
4665
|
+
Every lookup's `expression` renders against the whole source
|
|
4666
|
+
record. A lookup referenced from a sublist row
|
|
4667
|
+
(`mapping.lists[].fields[].lookupName`) is evaluated once per
|
|
4668
|
+
line and addresses the current line with `<array>[*].<field>`
|
|
4669
|
+
— never a bare line field. See `expression` for the failure
|
|
4670
|
+
modes and the preview caveat.
|
|
4588
4671
|
x-celigo-agent:
|
|
4589
4672
|
- lookup
|
|
4590
4673
|
rawOverride:
|
package/dist/tool.yml
CHANGED
|
@@ -15522,6 +15522,15 @@ components:
|
|
|
15522
15522
|
- DO NOT use `jsonSerialize` here — search expressions take
|
|
15523
15523
|
scalar literals, not serialized JSON. Use `{{{id}}}` or
|
|
15524
15524
|
`{{{[Field Name]}}}` directly.
|
|
15525
|
+
- |-
|
|
15526
|
+
## Body-level only
|
|
15527
|
+
|
|
15528
|
+
This lookup identifies the record being imported, so bare
|
|
15529
|
+
body fields are the right paths here. A per-field lookup
|
|
15530
|
+
attached to a sublist row (`lookups[]` referenced from
|
|
15531
|
+
`mapping.lists[].fields[].lookupName`) is different: its
|
|
15532
|
+
expression addresses the current line with
|
|
15533
|
+
`<array>[*].<field>` — see `lookups[].expression`.
|
|
15525
15534
|
hooks:
|
|
15526
15535
|
type: object
|
|
15527
15536
|
description: |
|
|
@@ -15867,6 +15876,13 @@ components:
|
|
|
15867
15876
|
scalar extracts tag along.
|
|
15868
15877
|
If no child uses `[*]` and none set `extract` at all (every child is a `hardCodedValue`),
|
|
15869
15878
|
the sublist renders a single static line.
|
|
15879
|
+
- |-
|
|
15880
|
+
A row that resolves its value through `lookupName`
|
|
15881
|
+
(typically `extract: ""`) is driven by the sibling
|
|
15882
|
+
rows' `[*]` extracts, and the lookup's `expression`
|
|
15883
|
+
addresses the current line with the same
|
|
15884
|
+
`<array>[*].<field>` path — see
|
|
15885
|
+
`netsuite_da.lookups[].expression`.
|
|
15870
15886
|
generate:
|
|
15871
15887
|
type: string
|
|
15872
15888
|
description: NetSuite sublist field ID to write to.
|
|
@@ -16103,10 +16119,69 @@ components:
|
|
|
16103
16119
|
- internalid
|
|
16104
16120
|
expression:
|
|
16105
16121
|
type: string
|
|
16122
|
+
x-celigo-agent:
|
|
16123
|
+
- handlebars
|
|
16106
16124
|
description: |-
|
|
16107
16125
|
Optional advanced-search expression (NetSuite saved-search
|
|
16108
16126
|
DSL) for multi-criterion lookups. When present, supersedes
|
|
16109
16127
|
`searchField` / `operator` — those fields are ignored.
|
|
16128
|
+
Handlebars inside the expression is rendered against the
|
|
16129
|
+
whole source record before the search runs; a lookup on a
|
|
16130
|
+
sublist row reaches the current line through
|
|
16131
|
+
`<array>[*].<field>` (for example `line_items[*].sku`).
|
|
16132
|
+
x-celigo-ai-guidance:
|
|
16133
|
+
- |-
|
|
16134
|
+
## Evaluation context — the whole source record, no `record.` prefix
|
|
16135
|
+
|
|
16136
|
+
The expression's Handlebars renders against the incoming
|
|
16137
|
+
source record as the context root (the record is NOT
|
|
16138
|
+
wrapped under `record`), then the rendered JSON array is
|
|
16139
|
+
sent to NetSuite as the search criteria. Body-level fields
|
|
16140
|
+
are addressed bare: `{{{id}}}`, `{{{email}}}`.
|
|
16141
|
+
- |-
|
|
16142
|
+
## Sublist-row lookups address the line with `<array>[*].<field>`
|
|
16143
|
+
|
|
16144
|
+
A lookup referenced from a sublist mapping row
|
|
16145
|
+
(`mapping.lists[].fields[].lookupName`) still receives the
|
|
16146
|
+
whole record; the current line's fields are reached with the
|
|
16147
|
+
same bracket-star path the sublist extracts use —
|
|
16148
|
+
`{{{line_items[*].sku}}}` resolves the line's item (one line
|
|
16149
|
+
per sublist row). A bare line field (`{{sku}}`,
|
|
16150
|
+
`{{#contains sku "_"}}`) is undefined at the record root: a
|
|
16151
|
+
helper that receives it fails every record with
|
|
16152
|
+
`INVALID_HANDLE_BAR_EXPRESSION` — `Could not compile handle
|
|
16153
|
+
bar "<expression>" because "Cannot call method "indexOf" of
|
|
16154
|
+
undefined"` — before anything reaches NetSuite. When an
|
|
16155
|
+
audit diff shows `<array>[*].` removed from the expression
|
|
16156
|
+
right before such errors began, that edit is the cause; do
|
|
16157
|
+
not look for a line missing the field.
|
|
16158
|
+
- |-
|
|
16159
|
+
## Rendered unmatched
|
|
16160
|
+
|
|
16161
|
+
A rendered value NetSuite does not match fails the record
|
|
16162
|
+
with `VALUE_LOOKUP_FAILED` — `Could not find a match for
|
|
16163
|
+
"<rendered criteria>" for the record type "<recordType>"`
|
|
16164
|
+
— quoting the criteria exactly as rendered, so the message
|
|
16165
|
+
shows what the expression produced for that line. With
|
|
16166
|
+
`allowFailures: true` the `default` value is used instead
|
|
16167
|
+
and no error is raised. Give every branch an output.
|
|
16168
|
+
- |-
|
|
16169
|
+
## The mapping preview cannot evaluate `[*]` inside a block-helper argument
|
|
16170
|
+
|
|
16171
|
+
`PUT /v1/netsuiteDA/previewImportMappingFields` (the mapping
|
|
16172
|
+
editor's Preview) evaluates lookups for real — resolved
|
|
16173
|
+
internal ids appear in `nlobjSublistIds`, misses and
|
|
16174
|
+
compile errors in `data.mappingErrors[]` — and handles
|
|
16175
|
+
`[*]` in plain substitutions and inside a branch's output.
|
|
16176
|
+
It does NOT apply the per-line evaluation to `[*]` used as a
|
|
16177
|
+
block-helper ARGUMENT (`{{#if line_items[*].x}}`,
|
|
16178
|
+
`{{#contains line_items[*].sku "_"}}`): the sublist comes
|
|
16179
|
+
back EMPTY with no error, whatever the expression would do
|
|
16180
|
+
in a run. An empty preview is therefore no evidence about
|
|
16181
|
+
such an expression — never report it as "renders nothing"
|
|
16182
|
+
or as invalid on that basis; validate it with a run.
|
|
16183
|
+
`<array>.@index.<field>` is likewise not evaluable in the
|
|
16184
|
+
preview (the record is dropped with no error).
|
|
16110
16185
|
operator:
|
|
16111
16186
|
type: string
|
|
16112
16187
|
description: |-
|
|
@@ -16164,6 +16239,14 @@ components:
|
|
|
16164
16239
|
TWO locations: `netsuite_da.lookups` and top-level `lookups`.
|
|
16165
16240
|
Both arrays must hold byte-for-byte identical content — the
|
|
16166
16241
|
MappingsAgent writes both on every save.
|
|
16242
|
+
- |-
|
|
16243
|
+
## One context for body and sublist lookups
|
|
16244
|
+
Every lookup's `expression` renders against the whole source
|
|
16245
|
+
record. A lookup referenced from a sublist row
|
|
16246
|
+
(`mapping.lists[].fields[].lookupName`) is evaluated once per
|
|
16247
|
+
line and addresses the current line with `<array>[*].<field>`
|
|
16248
|
+
— never a bare line field. See `expression` for the failure
|
|
16249
|
+
modes and the preview caveat.
|
|
16167
16250
|
x-celigo-agent:
|
|
16168
16251
|
- lookup
|
|
16169
16252
|
rawOverride:
|
package/package.json
CHANGED