@celigo/api-specs 0.2.177 → 0.2.178
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 +9 -2
- package/dist/processor.yml +8 -0
- package/dist/tool.yml +9 -2
- package/package.json +1 -1
- package/schemas.json +1 -1
package/dist/import.yml
CHANGED
|
@@ -1811,7 +1811,7 @@ components:
|
|
|
1811
1811
|
Use separate array elements per operation rather than `{{#if}}` conditionals inside a single URI.
|
|
1812
1812
|
URI templates render strictly: a path that is undefined on the record — such as `record.<field>` on a grouped record, whose root is `rows` — fails the request instead of rendering empty.
|
|
1813
1813
|
A field the record lacks, or a `{{lookup.<name>}}` whose lookup found nothing, fails that record before anything is sent, with `handlebars_template_parse_error` (source `application`, classification `parse`): `Failed to generate request url from template: <URL>. Details: "<field>" not defined in the model.` That is missing data, not template syntax, and a retry of the same record fails the same way: send records that may lack the destination id through a composite UPDATE/CREATE import (`existingExtract`), or skip them with `ignoreMissing` and `ignoreExtract`.
|
|
1814
|
-
A field that holds an empty string
|
|
1814
|
+
A field that holds an empty string renders empty, and the request is sent without the value. A field that holds null renders the text `null` (a URI of `/orders/{{record.id}}` is sent as `/orders/null`), and a field under an object that is null fails the record like a missing one (`"<field>" not defined in null`).
|
|
1815
1815
|
x-celigo-ai-guidance:
|
|
1816
1816
|
- '**CRITICAL: This MUST be an array of strings, NOT an object.**'
|
|
1817
1817
|
- |-
|
|
@@ -1998,7 +1998,14 @@ components:
|
|
|
1998
1998
|
(``"{{record.name}}"``): double braces JSON-escape the value at run time, with no HTML
|
|
1999
1999
|
escaping. Triple braces insert the raw text, so a value holding a double quote,
|
|
2000
2000
|
backslash, newline or tab fails that record with 422 ``invalid_json`` before anything
|
|
2001
|
-
is sent.
|
|
2001
|
+
is sent. Double braces write a null value -- a null field, or any field under an
|
|
2002
|
+
object that is null -- as the text ``null``, so ``"{{record.customer.name}}"`` sends
|
|
2003
|
+
the string "null" (triple braces rendered ``{{{record.customer.name}}}`` empty,
|
|
2004
|
+
whether ``customer`` or its ``name`` was null). Guard a nullable field with
|
|
2005
|
+
``{{#if record.customer.name}}{{record.customer.name}}{{/if}}`` or
|
|
2006
|
+
``{{#if record.customer}}{{record.customer.name}}{{/if}}``: both render empty for a
|
|
2007
|
+
null field and for a null object. The Handlebars processor renders the unguarded null
|
|
2008
|
+
empty, so judge it by an import preview or a run.
|
|
2002
2009
|
- |-
|
|
2003
2010
|
Every request context carries two data roots: ``data`` — the list of records in
|
|
2004
2011
|
the request, always present (Pattern B) — and ONE shape-specific root that follows
|
package/dist/processor.yml
CHANGED
|
@@ -1177,6 +1177,14 @@ paths:
|
|
|
1177
1177
|
(`"data": {"record": {...}}`). Double braces HTML-escape the value (`&` renders as `&`);
|
|
1178
1178
|
triple braces insert it unchanged. A `timestamp` with no time zone renders in UTC.
|
|
1179
1179
|
|
|
1180
|
+
A null value, or a field under an object that is null, renders empty here. An HTTP import
|
|
1181
|
+
escapes values its own way, at run time and in the import preview: in its JSON body a
|
|
1182
|
+
double-brace value that is null, or under a null object, is written as the text `null`
|
|
1183
|
+
(triple braces rendered `{{{record.customer.name}}}` empty, whether `customer` or its `name`
|
|
1184
|
+
was null); in its relative URI a null field is sent as the text
|
|
1185
|
+
`null`, and a field under a null object fails the record before anything is sent. Check a
|
|
1186
|
+
nullable field with an import preview, not here.
|
|
1187
|
+
|
|
1180
1188
|
An unknown helper is refused with 422. `GET /v1/processors` lists helpers under the handlebars
|
|
1181
1189
|
entry's `helperFunctions`, but that list is not complete: `eq` and `truncateWords`, for
|
|
1182
1190
|
example, render although it omits them, so render a doubtful helper once here before relying
|
package/dist/tool.yml
CHANGED
|
@@ -13668,7 +13668,7 @@ components:
|
|
|
13668
13668
|
Use separate array elements per operation rather than `{{#if}}` conditionals inside a single URI.
|
|
13669
13669
|
URI templates render strictly: a path that is undefined on the record — such as `record.<field>` on a grouped record, whose root is `rows` — fails the request instead of rendering empty.
|
|
13670
13670
|
A field the record lacks, or a `{{lookup.<name>}}` whose lookup found nothing, fails that record before anything is sent, with `handlebars_template_parse_error` (source `application`, classification `parse`): `Failed to generate request url from template: <URL>. Details: "<field>" not defined in the model.` That is missing data, not template syntax, and a retry of the same record fails the same way: send records that may lack the destination id through a composite UPDATE/CREATE import (`existingExtract`), or skip them with `ignoreMissing` and `ignoreExtract`.
|
|
13671
|
-
A field that holds an empty string
|
|
13671
|
+
A field that holds an empty string renders empty, and the request is sent without the value. A field that holds null renders the text `null` (a URI of `/orders/{{record.id}}` is sent as `/orders/null`), and a field under an object that is null fails the record like a missing one (`"<field>" not defined in null`).
|
|
13672
13672
|
x-celigo-ai-guidance:
|
|
13673
13673
|
- '**CRITICAL: This MUST be an array of strings, NOT an object.**'
|
|
13674
13674
|
- |-
|
|
@@ -13855,7 +13855,14 @@ components:
|
|
|
13855
13855
|
(``"{{record.name}}"``): double braces JSON-escape the value at run time, with no HTML
|
|
13856
13856
|
escaping. Triple braces insert the raw text, so a value holding a double quote,
|
|
13857
13857
|
backslash, newline or tab fails that record with 422 ``invalid_json`` before anything
|
|
13858
|
-
is sent.
|
|
13858
|
+
is sent. Double braces write a null value -- a null field, or any field under an
|
|
13859
|
+
object that is null -- as the text ``null``, so ``"{{record.customer.name}}"`` sends
|
|
13860
|
+
the string "null" (triple braces rendered ``{{{record.customer.name}}}`` empty,
|
|
13861
|
+
whether ``customer`` or its ``name`` was null). Guard a nullable field with
|
|
13862
|
+
``{{#if record.customer.name}}{{record.customer.name}}{{/if}}`` or
|
|
13863
|
+
``{{#if record.customer}}{{record.customer.name}}{{/if}}``: both render empty for a
|
|
13864
|
+
null field and for a null object. The Handlebars processor renders the unguarded null
|
|
13865
|
+
empty, so judge it by an import preview or a run.
|
|
13859
13866
|
- |-
|
|
13860
13867
|
Every request context carries two data roots: ``data`` — the list of records in
|
|
13861
13868
|
the request, always present (Pattern B) — and ONE shape-specific root that follows
|
package/package.json
CHANGED