@celigo/api-specs 0.2.157 → 0.2.159
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/api.yml +24 -3
- package/dist/editransaction.yml +543 -25
- package/dist/tool.yml +48 -8
- package/package.json +1 -1
- package/schemas.json +1 -1
package/dist/api.yml
CHANGED
|
@@ -3038,7 +3038,13 @@ components:
|
|
|
3038
3038
|
- Premium customers
|
|
3039
3039
|
inputFilter:
|
|
3040
3040
|
type: object
|
|
3041
|
-
description:
|
|
3041
|
+
description: |-
|
|
3042
|
+
Filter criteria for branch selection. Send `version` and `rules` directly on
|
|
3043
|
+
`inputFilter` — not inside the `{type: "expression", expression: {...}}` wrapper
|
|
3044
|
+
that export and import filters use. A wrapped filter is saved without an error,
|
|
3045
|
+
but the branch is stored with no `inputFilter` and takes every request.
|
|
3046
|
+
x-celigo-ai-guidance:
|
|
3047
|
+
- Read the API back after saving a branching router and check that each filtered branch still has its `inputFilter`; a filter sent in the export-filter wrapper is dropped on save without an error.
|
|
3042
3048
|
properties:
|
|
3043
3049
|
version:
|
|
3044
3050
|
type: string
|
|
@@ -3073,12 +3079,22 @@ components:
|
|
|
3073
3079
|
followed by operands which can be nested expressions.
|
|
3074
3080
|
nextRouterId:
|
|
3075
3081
|
type: string
|
|
3076
|
-
description:
|
|
3082
|
+
description: |-
|
|
3083
|
+
Next router to chain to, or "apiRouter" for the response router. Every branch needs
|
|
3084
|
+
one: a branch without it is saved, but every test run of the API is then refused
|
|
3085
|
+
with 400 "One or more branches are not merged back. Review the setup to ensure all
|
|
3086
|
+
branches converge.", whichever branch the request takes. An id that names no router
|
|
3087
|
+
fails the save with 422 "Invalid nextRouterId is defined on the branch. Please
|
|
3088
|
+
correct the branch configuration."
|
|
3077
3089
|
examples:
|
|
3078
3090
|
- apiRouter
|
|
3079
3091
|
pageProcessors:
|
|
3080
3092
|
type: array
|
|
3081
|
-
description:
|
|
3093
|
+
description: |-
|
|
3094
|
+
Processing steps to execute in this branch. An export is a step at most once in an
|
|
3095
|
+
API: using it again, on another branch or in the same one, fails the save with 422
|
|
3096
|
+
"The export <id> is already included as a lookup in your API and cannot be added
|
|
3097
|
+
again."
|
|
3082
3098
|
items:
|
|
3083
3099
|
type: object
|
|
3084
3100
|
properties:
|
|
@@ -3344,6 +3360,11 @@ components:
|
|
|
3344
3360
|
matches; the typed `context.success` filter doesn't prevent that, because
|
|
3345
3361
|
`context.success` is true whenever no step failed, including when a lookup found nothing.
|
|
3346
3362
|
A step that fails with `proceedOnFailure` off selects the `fail` response.
|
|
3363
|
+
|
|
3364
|
+
Send `version` and `rules` directly on `inputFilter`, not inside the
|
|
3365
|
+
`{type: "expression", expression: {...}}` wrapper that export and import filters use. A
|
|
3366
|
+
wrapped filter is saved without an error, but the response is stored with no
|
|
3367
|
+
`inputFilter`, so it matches every request that reaches it.
|
|
3347
3368
|
properties:
|
|
3348
3369
|
version:
|
|
3349
3370
|
type: string
|
package/dist/editransaction.yml
CHANGED
|
@@ -561,6 +561,145 @@ paths:
|
|
|
561
561
|
errors:
|
|
562
562
|
- code: invalid_ref
|
|
563
563
|
message: EdiTransaction not found.
|
|
564
|
+
/v1/ediTransactions/{_ediTransactionId}/ediFile:
|
|
565
|
+
get:
|
|
566
|
+
x-internal: false
|
|
567
|
+
operationId: getEdiTransactionFileSignedUrl
|
|
568
|
+
tags:
|
|
569
|
+
- EDI Transactions
|
|
570
|
+
summary: Get a signed URL to download an EDI transaction file
|
|
571
|
+
description: |-
|
|
572
|
+
Returns a short-lived pre-signed S3 URL for the primary EDI document
|
|
573
|
+
(`type=nonFa`) or the functional-acknowledgement file (`type=fa`) of
|
|
574
|
+
one EDI transaction record. Fetch the URL with a plain GET right away
|
|
575
|
+
and never store it — request a new URL for a later download.
|
|
576
|
+
|
|
577
|
+
Get `_id` from a record returned by `POST /v1/ediTransactions/query`.
|
|
578
|
+
The id alone identifies the record for both X12 and EDIFACT; `type` is
|
|
579
|
+
the only query parameter.
|
|
580
|
+
|
|
581
|
+
The acknowledgement file exists only once the trading partner's 997
|
|
582
|
+
(X12) or CONTRL (EDIFACT) was ingested — a record whose `faStatus` is
|
|
583
|
+
`notReceived`, `inProgress` or `notApplicable` has none. Files are kept
|
|
584
|
+
for the account's data retention period; afterwards the record is still
|
|
585
|
+
listed but the download answers `edi_transaction_file_unavailable`.
|
|
586
|
+
|
|
587
|
+
This is the only file-download route that an application acting for a
|
|
588
|
+
signed-in user can also reach; the document-number downloads under
|
|
589
|
+
`/v1/edi/documents` are public-API only.
|
|
590
|
+
|
|
591
|
+
Downloads are rate limited per user.
|
|
592
|
+
parameters:
|
|
593
|
+
- name: _ediTransactionId
|
|
594
|
+
in: path
|
|
595
|
+
required: true
|
|
596
|
+
schema:
|
|
597
|
+
type: string
|
|
598
|
+
format: objectId
|
|
599
|
+
examples:
|
|
600
|
+
- 6a0377fcbfecf34a362e9be2
|
|
601
|
+
description: The EDI transaction ID.
|
|
602
|
+
- name: type
|
|
603
|
+
in: query
|
|
604
|
+
required: true
|
|
605
|
+
schema:
|
|
606
|
+
type: string
|
|
607
|
+
enum:
|
|
608
|
+
- nonFa
|
|
609
|
+
- fa
|
|
610
|
+
x-enumDescriptions:
|
|
611
|
+
nonFa: Primary business document (850, 810, ORDERS, etc.)
|
|
612
|
+
fa: Functional acknowledgement file (997 for X12, CONTRL for EDIFACT)
|
|
613
|
+
description: |-
|
|
614
|
+
Which file to download — the original EDI business document or the
|
|
615
|
+
functional acknowledgement the trading partner returned for it.
|
|
616
|
+
responses:
|
|
617
|
+
'200':
|
|
618
|
+
description: Pre-signed download URL for the requested file.
|
|
619
|
+
content:
|
|
620
|
+
application/json:
|
|
621
|
+
schema:
|
|
622
|
+
$ref: '#/components/schemas/EDITransactionFileSignedUrlResponse'
|
|
623
|
+
examples:
|
|
624
|
+
non_fa:
|
|
625
|
+
summary: Signed URL for a primary business document
|
|
626
|
+
value:
|
|
627
|
+
signedURL: https://integrator-files.s3.us-east-1.amazonaws.com/26338886c17c45e1840e0a7ec81a1a2d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAEXAMPLE%2F20261021%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20261021T165300Z&X-Amz-Security-Token=EXAMPLE-STS-TOKEN&X-Amz-SignedHeaders=host&X-Amz-Signature=4f9b2c1e8a3d7f0b5c6e9a2d4f8b1c3e7a0d5f2b9c4e6a8d1f3b7c0e5a9d2f4b
|
|
628
|
+
fa:
|
|
629
|
+
summary: Signed URL for a functional-acknowledgement file
|
|
630
|
+
value:
|
|
631
|
+
signedURL: https://integrator-files.s3.us-east-1.amazonaws.com/9a7c3e14b2af45d8bc0e6090c5be6afa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAEXAMPLE%2F20261021%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20261021T165300Z&X-Amz-Security-Token=EXAMPLE-STS-TOKEN&X-Amz-SignedHeaders=host&X-Amz-Signature=7d0e5a9d2f4b6c8e1a3f7b0c5e9a2d4f8b1c3e7a0d5f2b9c4e6a8d1f3b7c0e5a
|
|
632
|
+
'400':
|
|
633
|
+
description: The request failed validation.
|
|
634
|
+
content:
|
|
635
|
+
application/json:
|
|
636
|
+
schema:
|
|
637
|
+
$ref: '#/components/schemas/Error'
|
|
638
|
+
examples:
|
|
639
|
+
missing_type:
|
|
640
|
+
summary: type query parameter missing
|
|
641
|
+
value:
|
|
642
|
+
errors:
|
|
643
|
+
- code: invalid_type
|
|
644
|
+
message: The "type" query parameter must be either "nonFa" or "fa".
|
|
645
|
+
invalid_type:
|
|
646
|
+
summary: Invalid type value
|
|
647
|
+
value:
|
|
648
|
+
errors:
|
|
649
|
+
- code: invalid_type
|
|
650
|
+
message: The "type" query parameter must be either "nonFa" or "fa".
|
|
651
|
+
invalid_id:
|
|
652
|
+
summary: Invalid transaction ID
|
|
653
|
+
value:
|
|
654
|
+
errors:
|
|
655
|
+
- code: invalid_ref
|
|
656
|
+
message: Please provide a valid _transactionId.
|
|
657
|
+
'401':
|
|
658
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
659
|
+
'404':
|
|
660
|
+
description: |-
|
|
661
|
+
The EDI transaction was not found, or the requested file is not
|
|
662
|
+
available for it — no acknowledgement was ingested, the record
|
|
663
|
+
carries no file reference, or the object aged out of storage.
|
|
664
|
+
content:
|
|
665
|
+
application/json:
|
|
666
|
+
schema:
|
|
667
|
+
$ref: '#/components/schemas/Error'
|
|
668
|
+
examples:
|
|
669
|
+
transaction_not_found:
|
|
670
|
+
value:
|
|
671
|
+
errors:
|
|
672
|
+
- code: transaction_not_found_for_id
|
|
673
|
+
message: No transaction found for the given ID.
|
|
674
|
+
file_unavailable:
|
|
675
|
+
value:
|
|
676
|
+
errors:
|
|
677
|
+
- code: edi_transaction_file_unavailable
|
|
678
|
+
message: The requested file for this transaction is not available or has expired.
|
|
679
|
+
'422':
|
|
680
|
+
description: The account has no B2B Manager (EDI) license.
|
|
681
|
+
content:
|
|
682
|
+
application/json:
|
|
683
|
+
schema:
|
|
684
|
+
$ref: '#/components/schemas/Error'
|
|
685
|
+
examples:
|
|
686
|
+
license:
|
|
687
|
+
value:
|
|
688
|
+
errors:
|
|
689
|
+
- code: edi_subscription_required
|
|
690
|
+
message: EDI is a premium feature that is not included in your account's current subscription plan. Please upgrade your account to get access to B2B Manager.
|
|
691
|
+
'500':
|
|
692
|
+
description: An unexpected error occurred while generating the signed URL.
|
|
693
|
+
content:
|
|
694
|
+
application/json:
|
|
695
|
+
schema:
|
|
696
|
+
$ref: '#/components/schemas/Error'
|
|
697
|
+
examples:
|
|
698
|
+
download_error:
|
|
699
|
+
value:
|
|
700
|
+
errors:
|
|
701
|
+
- code: edi_file_download_error
|
|
702
|
+
message: An error occurred while retrieving the EDI file. Please try again later.
|
|
564
703
|
/v1/ediTransactions/{_ediTransactionId}/mdn:
|
|
565
704
|
get:
|
|
566
705
|
x-internal: false
|
|
@@ -683,22 +822,30 @@ paths:
|
|
|
683
822
|
operationId: downloadEdiFile
|
|
684
823
|
tags:
|
|
685
824
|
- EDI Transactions
|
|
686
|
-
summary: Download an EDI file
|
|
825
|
+
summary: Download an EDI file by document number
|
|
687
826
|
description: |-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
string (e.g. `850`, `810`, `856`, `997`); for EDIFACT, the UNH01
|
|
693
|
-
message type (e.g. `ORDERS`, `INVOIC`, `DESADV`, `CONTRL`).
|
|
827
|
+
Streams the raw EDI document whose business document number and
|
|
828
|
+
document type match — the file an export parsed or an import
|
|
829
|
+
generated. Acknowledgement files are not served here; use
|
|
830
|
+
`GET /v1/ediTransactions/{_ediTransactionId}/ediFile?type=fa`.
|
|
694
831
|
|
|
695
|
-
|
|
696
|
-
|
|
832
|
+
A document number is not unique: the same purchase-order number can
|
|
833
|
+
exist for several trading partners, in both directions, in sandbox and
|
|
834
|
+
production, or across integrations. Add lookup filters to pick one —
|
|
835
|
+
they AND together — and when several records still match, the latest
|
|
836
|
+
by `lastModified` is returned. Partner ids use the same names as
|
|
837
|
+
`POST /v1/ediTransactions/query`: `interchangeSenderId` /
|
|
838
|
+
`interchangeReceiverId` for X12, `unbSenderId` / `unbReceiverId` for
|
|
839
|
+
EDIFACT. When no document number is known, use
|
|
840
|
+
`GET /v1/edi/documents/ediFile` with filters alone.
|
|
697
841
|
|
|
698
842
|
Get `documentNumber` and `documentType` from a transaction record
|
|
699
|
-
returned by `POST /v1/ediTransactions/query
|
|
700
|
-
|
|
701
|
-
|
|
843
|
+
returned by `POST /v1/ediTransactions/query`; a record's `_id` is the
|
|
844
|
+
unambiguous alternative through
|
|
845
|
+
`GET /v1/ediTransactions/{_ediTransactionId}/ediFile`.
|
|
846
|
+
|
|
847
|
+
Public-API route only: there is no equivalent for applications acting
|
|
848
|
+
with a signed-in user's session. Downloads are rate limited per user.
|
|
702
849
|
parameters:
|
|
703
850
|
- name: documentNumber
|
|
704
851
|
in: path
|
|
@@ -710,20 +857,20 @@ paths:
|
|
|
710
857
|
description: |-
|
|
711
858
|
The business document number that identifies the EDI transaction
|
|
712
859
|
(e.g. a purchase-order number from an 850's BEG03). Matches the
|
|
713
|
-
`documentNumber` field on an EDI transaction record
|
|
860
|
+
`documentNumber` field on an EDI transaction record; letters are
|
|
861
|
+
uppercased.
|
|
714
862
|
- name: documentType
|
|
715
863
|
in: query
|
|
716
864
|
required: true
|
|
717
865
|
schema:
|
|
718
866
|
type: string
|
|
719
867
|
description: |-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
identify the EDI standard family, not the document type.
|
|
868
|
+
EDI document type code — for X12 the numeric transaction-set ID as
|
|
869
|
+
a string (`850`, `810`, `856`, `997`); for EDIFACT the UNH01 message
|
|
870
|
+
type (`ORDERS`, `INVOIC`, `DESADV`, `CONTRL`). Case-insensitive. It
|
|
871
|
+
also selects the EDI standard the lookup runs against. `X12` and
|
|
872
|
+
`EDIFACT` name the standard, not a document type, and are rejected
|
|
873
|
+
here.
|
|
727
874
|
examples:
|
|
728
875
|
x12_850:
|
|
729
876
|
value: '850'
|
|
@@ -734,13 +881,25 @@ paths:
|
|
|
734
881
|
edifact_orders:
|
|
735
882
|
value: ORDERS
|
|
736
883
|
summary: EDIFACT Purchase Order
|
|
884
|
+
- $ref: '#/components/parameters/FileType'
|
|
885
|
+
- $ref: '#/components/parameters/Direction'
|
|
886
|
+
- $ref: '#/components/parameters/Sandbox'
|
|
887
|
+
- $ref: '#/components/parameters/FaStatus'
|
|
888
|
+
- $ref: '#/components/parameters/StartDate'
|
|
889
|
+
- $ref: '#/components/parameters/EndDate'
|
|
890
|
+
- $ref: '#/components/parameters/IntegrationId'
|
|
891
|
+
- $ref: '#/components/parameters/InterchangeSenderId'
|
|
892
|
+
- $ref: '#/components/parameters/InterchangeReceiverId'
|
|
893
|
+
- $ref: '#/components/parameters/UnbSenderId'
|
|
894
|
+
- $ref: '#/components/parameters/UnbReceiverId'
|
|
737
895
|
responses:
|
|
738
896
|
'200':
|
|
739
|
-
description:
|
|
897
|
+
description: The raw EDI file, streamed as the response body.
|
|
740
898
|
content:
|
|
741
|
-
|
|
899
|
+
application/octet-stream:
|
|
742
900
|
schema:
|
|
743
901
|
type: string
|
|
902
|
+
format: binary
|
|
744
903
|
'400':
|
|
745
904
|
description: The request failed validation.
|
|
746
905
|
content:
|
|
@@ -755,17 +914,42 @@ paths:
|
|
|
755
914
|
- code: document_type_required
|
|
756
915
|
message: The "documentType" query parameter is required to process this request.
|
|
757
916
|
invalid:
|
|
758
|
-
summary:
|
|
917
|
+
summary: documentType names the standard (`X12` here; `EDIFACT` answers the same way), or fileType disagrees with documentType
|
|
759
918
|
value:
|
|
760
919
|
errors:
|
|
761
920
|
- code: edi_invalid_document_type
|
|
762
921
|
message: X12 is not a valid document type. Please verify the value and try again.
|
|
922
|
+
partner_id_for_other_standard:
|
|
923
|
+
summary: EDIFACT partner id on an X12 lookup
|
|
924
|
+
value:
|
|
925
|
+
errors:
|
|
926
|
+
- code: invalid_search_param_for_X12
|
|
927
|
+
message: invalid search param unbSenderId for filetype X12
|
|
928
|
+
half_window:
|
|
929
|
+
summary: Only one of startDate / endDate sent
|
|
930
|
+
value:
|
|
931
|
+
errors:
|
|
932
|
+
- code: start_time_or_end_time_missing
|
|
933
|
+
message: start time or end time missing
|
|
934
|
+
invalid_direction:
|
|
935
|
+
summary: direction outside inbound / outbound
|
|
936
|
+
value:
|
|
937
|
+
errors:
|
|
938
|
+
- code: invalid_direction
|
|
939
|
+
message: 'direction is invalid. direction should be one of the following: inbound, outbound'
|
|
940
|
+
invalid_fa_status:
|
|
941
|
+
summary: faStatus outside the status set
|
|
942
|
+
value:
|
|
943
|
+
errors:
|
|
944
|
+
- code: invalid_fa_status
|
|
945
|
+
message: 'Invalid fa status, only accepted values: notReceived,accepted,acceptedWithErrors,rejected,failed,notApplicable,inProgress'
|
|
763
946
|
'401':
|
|
764
947
|
$ref: '#/components/responses/401-unauthorized'
|
|
765
948
|
'404':
|
|
766
949
|
description: |-
|
|
767
|
-
No transaction
|
|
768
|
-
|
|
950
|
+
No transaction matched the document number, type and filters — or
|
|
951
|
+
one did, but its file is no longer in storage (it aged out of the
|
|
952
|
+
account's data retention period, or was never captured).
|
|
769
953
|
content:
|
|
770
954
|
application/json:
|
|
771
955
|
schema:
|
|
@@ -776,6 +960,159 @@ paths:
|
|
|
776
960
|
errors:
|
|
777
961
|
- code: edi_transaction_not_found
|
|
778
962
|
message: No transaction was found matching the provided document type and document number.
|
|
963
|
+
file_unavailable:
|
|
964
|
+
value:
|
|
965
|
+
errors:
|
|
966
|
+
- code: edi_file_unavailable
|
|
967
|
+
message: The EDI file for this transaction is not available.
|
|
968
|
+
'422':
|
|
969
|
+
description: The account has no B2B Manager (EDI) license.
|
|
970
|
+
content:
|
|
971
|
+
application/json:
|
|
972
|
+
schema:
|
|
973
|
+
$ref: '#/components/schemas/Error'
|
|
974
|
+
examples:
|
|
975
|
+
license:
|
|
976
|
+
value:
|
|
977
|
+
errors:
|
|
978
|
+
- code: edi_subscription_required
|
|
979
|
+
message: EDI is a premium feature that is not included in your account's current subscription plan. Please upgrade your account to get access to B2B Manager.
|
|
980
|
+
/v1/edi/documents/ediFile:
|
|
981
|
+
get:
|
|
982
|
+
x-internal: false
|
|
983
|
+
operationId: downloadEdiFileByLookup
|
|
984
|
+
tags:
|
|
985
|
+
- EDI Transactions
|
|
986
|
+
summary: Download the latest EDI file matching filters
|
|
987
|
+
description: |-
|
|
988
|
+
Streams the raw EDI document of the latest transaction (by
|
|
989
|
+
`lastModified`) that matches the lookup filters — for callers that
|
|
990
|
+
hold trading-partner context but no document number. The filters AND
|
|
991
|
+
together and at least one must be sent. Acknowledgement files are not
|
|
992
|
+
served here; use `GET /v1/ediTransactions/{_ediTransactionId}/ediFile?type=fa`.
|
|
993
|
+
|
|
994
|
+
`documentNumber` may be passed as a query parameter here; when it is,
|
|
995
|
+
`documentType` becomes required — the same contract as
|
|
996
|
+
`GET /v1/edi/documents/{documentNumber}/ediFile`. When `documentNumber`
|
|
997
|
+
and `documentType` are both omitted, the lookup runs against X12 unless
|
|
998
|
+
`fileType` says `EDIFACT` — `unbSenderId` sent on its own is refused
|
|
999
|
+
with `invalid_search_param_for_X12`. Partner ids
|
|
1000
|
+
use the same names as `POST /v1/ediTransactions/query`:
|
|
1001
|
+
`interchangeSenderId` / `interchangeReceiverId` for X12,
|
|
1002
|
+
`unbSenderId` / `unbReceiverId` for EDIFACT.
|
|
1003
|
+
|
|
1004
|
+
Public-API route only: there is no equivalent for applications acting
|
|
1005
|
+
with a signed-in user's session. Downloads are rate limited per user.
|
|
1006
|
+
parameters:
|
|
1007
|
+
- name: documentNumber
|
|
1008
|
+
in: query
|
|
1009
|
+
required: false
|
|
1010
|
+
schema:
|
|
1011
|
+
type: string
|
|
1012
|
+
examples:
|
|
1013
|
+
- PO03302026A
|
|
1014
|
+
description: |-
|
|
1015
|
+
Business document number to match (e.g. a purchase-order number from
|
|
1016
|
+
an 850's BEG03); letters are uppercased. Requires `documentType`.
|
|
1017
|
+
- $ref: '#/components/parameters/DocumentType'
|
|
1018
|
+
- $ref: '#/components/parameters/FileType'
|
|
1019
|
+
- $ref: '#/components/parameters/Direction'
|
|
1020
|
+
- $ref: '#/components/parameters/Sandbox'
|
|
1021
|
+
- $ref: '#/components/parameters/FaStatus'
|
|
1022
|
+
- $ref: '#/components/parameters/StartDate'
|
|
1023
|
+
- $ref: '#/components/parameters/EndDate'
|
|
1024
|
+
- $ref: '#/components/parameters/IntegrationId'
|
|
1025
|
+
- $ref: '#/components/parameters/InterchangeSenderId'
|
|
1026
|
+
- $ref: '#/components/parameters/InterchangeReceiverId'
|
|
1027
|
+
- $ref: '#/components/parameters/UnbSenderId'
|
|
1028
|
+
- $ref: '#/components/parameters/UnbReceiverId'
|
|
1029
|
+
responses:
|
|
1030
|
+
'200':
|
|
1031
|
+
description: |-
|
|
1032
|
+
The raw EDI file of the latest matching transaction, streamed as the
|
|
1033
|
+
response body.
|
|
1034
|
+
content:
|
|
1035
|
+
application/octet-stream:
|
|
1036
|
+
schema:
|
|
1037
|
+
type: string
|
|
1038
|
+
format: binary
|
|
1039
|
+
'400':
|
|
1040
|
+
description: The request failed validation.
|
|
1041
|
+
content:
|
|
1042
|
+
application/json:
|
|
1043
|
+
schema:
|
|
1044
|
+
$ref: '#/components/schemas/Error'
|
|
1045
|
+
examples:
|
|
1046
|
+
no_filter:
|
|
1047
|
+
summary: No lookup filter at all
|
|
1048
|
+
value:
|
|
1049
|
+
errors:
|
|
1050
|
+
- code: lookup_filter_required
|
|
1051
|
+
message: At least one lookup parameter is required when documentNumber is not provided (documentType, partner IDs, direction, faStatus, dates, sandbox, or _integrationId).
|
|
1052
|
+
missing_type:
|
|
1053
|
+
summary: documentNumber sent without documentType
|
|
1054
|
+
value:
|
|
1055
|
+
errors:
|
|
1056
|
+
- code: document_type_required
|
|
1057
|
+
message: The "documentType" query parameter is required to process this request.
|
|
1058
|
+
partner_id_for_other_standard:
|
|
1059
|
+
summary: X12 partner id on an EDIFACT lookup
|
|
1060
|
+
value:
|
|
1061
|
+
errors:
|
|
1062
|
+
- code: invalid_search_param_for_EDIFACT
|
|
1063
|
+
message: invalid search param interchangeSenderId for filetype EDIFACT
|
|
1064
|
+
partner_id_without_a_standard:
|
|
1065
|
+
summary: unbSenderId with neither documentType nor fileType — the lookup ran against X12
|
|
1066
|
+
value:
|
|
1067
|
+
errors:
|
|
1068
|
+
- code: invalid_search_param_for_X12
|
|
1069
|
+
message: invalid search param unbSenderId for filetype X12
|
|
1070
|
+
invalid_sandbox:
|
|
1071
|
+
summary: sandbox outside true / false
|
|
1072
|
+
value:
|
|
1073
|
+
errors:
|
|
1074
|
+
- code: invalid_sandbox
|
|
1075
|
+
message: sandbox is invalid. sandbox should be true or false
|
|
1076
|
+
invalid_integration_id:
|
|
1077
|
+
summary: Malformed _integrationId
|
|
1078
|
+
value:
|
|
1079
|
+
errors:
|
|
1080
|
+
- code: invalid_integration_id
|
|
1081
|
+
message: _integrationId is not a valid identifier.
|
|
1082
|
+
'401':
|
|
1083
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1084
|
+
'404':
|
|
1085
|
+
description: |-
|
|
1086
|
+
No transaction matched the filters — or one did, but its file is no
|
|
1087
|
+
longer in storage (it aged out of the account's data retention
|
|
1088
|
+
period, or was never captured).
|
|
1089
|
+
content:
|
|
1090
|
+
application/json:
|
|
1091
|
+
schema:
|
|
1092
|
+
$ref: '#/components/schemas/Error'
|
|
1093
|
+
examples:
|
|
1094
|
+
not_found:
|
|
1095
|
+
value:
|
|
1096
|
+
errors:
|
|
1097
|
+
- code: edi_transaction_not_found
|
|
1098
|
+
message: No transaction was found matching the provided lookup filters.
|
|
1099
|
+
file_unavailable:
|
|
1100
|
+
value:
|
|
1101
|
+
errors:
|
|
1102
|
+
- code: edi_file_unavailable
|
|
1103
|
+
message: The EDI file for this transaction is not available.
|
|
1104
|
+
'422':
|
|
1105
|
+
description: The account has no B2B Manager (EDI) license.
|
|
1106
|
+
content:
|
|
1107
|
+
application/json:
|
|
1108
|
+
schema:
|
|
1109
|
+
$ref: '#/components/schemas/Error'
|
|
1110
|
+
examples:
|
|
1111
|
+
license:
|
|
1112
|
+
value:
|
|
1113
|
+
errors:
|
|
1114
|
+
- code: edi_subscription_required
|
|
1115
|
+
message: EDI is a premium feature that is not included in your account's current subscription plan. Please upgrade your account to get access to B2B Manager.
|
|
779
1116
|
components:
|
|
780
1117
|
securitySchemes:
|
|
781
1118
|
bearerAuth:
|
|
@@ -1351,6 +1688,23 @@ components:
|
|
|
1351
1688
|
- https://integrator-userdata-delete-30.s3.us-east-1.amazonaws.com/ediTransactions/5e58483b68b52e5827d56a86/TransactionSummary_20260614_20260713_5e58483b68b52e5827d56a86.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=4f9b2c1e8a3d7f0b5c6e9a2d4f8b1c3e7a0d5f2b9c4e6a8d1f3b7c0e5a9d2f4b
|
|
1352
1689
|
required:
|
|
1353
1690
|
- url
|
|
1691
|
+
EDITransactionFileSignedUrlResponse:
|
|
1692
|
+
type: object
|
|
1693
|
+
description: |-
|
|
1694
|
+
Pre-signed S3 URL for downloading an EDI transaction file. The URL is
|
|
1695
|
+
short-lived — fetch it right away and request a new one for a later
|
|
1696
|
+
download rather than storing it.
|
|
1697
|
+
properties:
|
|
1698
|
+
signedURL:
|
|
1699
|
+
type: string
|
|
1700
|
+
format: uri
|
|
1701
|
+
description: |-
|
|
1702
|
+
Pre-signed S3 URL that streams the EDI file when fetched with a plain
|
|
1703
|
+
GET (no auth headers needed). Short-lived; never store it.
|
|
1704
|
+
examples:
|
|
1705
|
+
- https://integrator-files.s3.us-east-1.amazonaws.com/26338886c17c45e1840e0a7ec81a1a2d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-SignedHeaders=host&X-Amz-Signature=4f9b2c1e8a3d7f0b5c6e9a2d4f8b1c3e7a0d5f2b9c4e6a8d1f3b7c0e5a9d2f4b
|
|
1706
|
+
required:
|
|
1707
|
+
- signedURL
|
|
1354
1708
|
EDITransactionMdnResponse:
|
|
1355
1709
|
type: object
|
|
1356
1710
|
description: |-
|
|
@@ -1439,5 +1793,169 @@ components:
|
|
|
1439
1793
|
summary: Bearer token invalid or revoked
|
|
1440
1794
|
value:
|
|
1441
1795
|
message: Bearer Authentication Failed
|
|
1796
|
+
parameters:
|
|
1797
|
+
FileType:
|
|
1798
|
+
name: fileType
|
|
1799
|
+
in: query
|
|
1800
|
+
required: false
|
|
1801
|
+
schema:
|
|
1802
|
+
type: string
|
|
1803
|
+
enum:
|
|
1804
|
+
- X12
|
|
1805
|
+
- EDIFACT
|
|
1806
|
+
x-enumDescriptions:
|
|
1807
|
+
X12: ANSI X12 EDI standard
|
|
1808
|
+
EDIFACT: UN/EDIFACT EDI standard
|
|
1809
|
+
description: |-
|
|
1810
|
+
EDI standard the lookup runs against. Inferred from `documentType` when
|
|
1811
|
+
one is sent, and must agree with it.
|
|
1812
|
+
Direction:
|
|
1813
|
+
name: direction
|
|
1814
|
+
in: query
|
|
1815
|
+
required: false
|
|
1816
|
+
schema:
|
|
1817
|
+
type: string
|
|
1818
|
+
enum:
|
|
1819
|
+
- inbound
|
|
1820
|
+
- outbound
|
|
1821
|
+
x-enumDescriptions:
|
|
1822
|
+
inbound: Document received from a trading partner
|
|
1823
|
+
outbound: Document sent to a trading partner
|
|
1824
|
+
description: Narrows the lookup to one transaction direction. Case-insensitive.
|
|
1825
|
+
Sandbox:
|
|
1826
|
+
name: sandbox
|
|
1827
|
+
in: query
|
|
1828
|
+
required: false
|
|
1829
|
+
schema:
|
|
1830
|
+
type: boolean
|
|
1831
|
+
description: |-
|
|
1832
|
+
When true, narrows the lookup to sandbox transactions; when false, to
|
|
1833
|
+
production ones.
|
|
1834
|
+
FaStatus:
|
|
1835
|
+
name: faStatus
|
|
1836
|
+
in: query
|
|
1837
|
+
required: false
|
|
1838
|
+
style: form
|
|
1839
|
+
explode: false
|
|
1840
|
+
schema:
|
|
1841
|
+
type: array
|
|
1842
|
+
items:
|
|
1843
|
+
type: string
|
|
1844
|
+
enum:
|
|
1845
|
+
- inProgress
|
|
1846
|
+
- notApplicable
|
|
1847
|
+
- notReceived
|
|
1848
|
+
- accepted
|
|
1849
|
+
- acceptedWithErrors
|
|
1850
|
+
- rejected
|
|
1851
|
+
- failed
|
|
1852
|
+
x-enumDescriptions:
|
|
1853
|
+
inProgress: Awaiting functional acknowledgment from the trading partner
|
|
1854
|
+
notApplicable: No functional acknowledgment expected
|
|
1855
|
+
notReceived: Functional acknowledgment expected but not yet received
|
|
1856
|
+
accepted: Acknowledged and accepted
|
|
1857
|
+
acceptedWithErrors: Acknowledged with errors but accepted
|
|
1858
|
+
rejected: Acknowledged and rejected
|
|
1859
|
+
failed: Functional acknowledgment processing failed
|
|
1860
|
+
description: |-
|
|
1861
|
+
Narrows the lookup to records in any of the given functional-acknowledgment
|
|
1862
|
+
statuses — one value, or several comma-separated (`faStatus=rejected,failed`).
|
|
1863
|
+
StartDate:
|
|
1864
|
+
name: startDate
|
|
1865
|
+
in: query
|
|
1866
|
+
required: false
|
|
1867
|
+
schema:
|
|
1868
|
+
type: string
|
|
1869
|
+
examples:
|
|
1870
|
+
- '2026-10-01T00:00:00Z'
|
|
1871
|
+
- '1759276800000'
|
|
1872
|
+
description: |-
|
|
1873
|
+
Lower bound of the `lastModified` window, as an ISO-8601 timestamp or
|
|
1874
|
+
epoch milliseconds. Must be sent together with `endDate` and lie before it.
|
|
1875
|
+
EndDate:
|
|
1876
|
+
name: endDate
|
|
1877
|
+
in: query
|
|
1878
|
+
required: false
|
|
1879
|
+
schema:
|
|
1880
|
+
type: string
|
|
1881
|
+
examples:
|
|
1882
|
+
- '2026-10-21T00:00:00Z'
|
|
1883
|
+
- '1761004800000'
|
|
1884
|
+
description: |-
|
|
1885
|
+
Upper bound of the `lastModified` window, as an ISO-8601 timestamp or
|
|
1886
|
+
epoch milliseconds. Must be sent together with `startDate`.
|
|
1887
|
+
IntegrationId:
|
|
1888
|
+
name: _integrationId
|
|
1889
|
+
in: query
|
|
1890
|
+
required: false
|
|
1891
|
+
schema:
|
|
1892
|
+
type: string
|
|
1893
|
+
format: objectId
|
|
1894
|
+
x-celigo-refModel: integrations
|
|
1895
|
+
examples:
|
|
1896
|
+
- 66cc9b31f2be816bf9377036
|
|
1897
|
+
description: |-
|
|
1898
|
+
Narrows the lookup to transactions processed by one integration. A
|
|
1899
|
+
malformed id is rejected with 400 `invalid_integration_id`.
|
|
1900
|
+
InterchangeSenderId:
|
|
1901
|
+
name: interchangeSenderId
|
|
1902
|
+
in: query
|
|
1903
|
+
required: false
|
|
1904
|
+
schema:
|
|
1905
|
+
type: string
|
|
1906
|
+
examples:
|
|
1907
|
+
- '1234567890'
|
|
1908
|
+
description: |-
|
|
1909
|
+
X12 only — the record's `isaSenderId` (ISA06), matched exactly or against
|
|
1910
|
+
the stored value padded with trailing spaces; letters are uppercased.
|
|
1911
|
+
Rejected when the lookup runs against EDIFACT.
|
|
1912
|
+
InterchangeReceiverId:
|
|
1913
|
+
name: interchangeReceiverId
|
|
1914
|
+
in: query
|
|
1915
|
+
required: false
|
|
1916
|
+
schema:
|
|
1917
|
+
type: string
|
|
1918
|
+
examples:
|
|
1919
|
+
- CELIGOLABZ
|
|
1920
|
+
description: |-
|
|
1921
|
+
X12 only — the record's `isaReceiverId` (ISA08), matched like
|
|
1922
|
+
`interchangeSenderId`. Rejected when the lookup runs against EDIFACT.
|
|
1923
|
+
UnbSenderId:
|
|
1924
|
+
name: unbSenderId
|
|
1925
|
+
in: query
|
|
1926
|
+
required: false
|
|
1927
|
+
schema:
|
|
1928
|
+
type: string
|
|
1929
|
+
examples:
|
|
1930
|
+
- PARTNERGLN
|
|
1931
|
+
description: |-
|
|
1932
|
+
EDIFACT only — the record's `unbSenderId` (UNB02), matched exactly or
|
|
1933
|
+
against the stored value padded with trailing spaces; letters are
|
|
1934
|
+
uppercased. Rejected when the lookup runs against X12.
|
|
1935
|
+
UnbReceiverId:
|
|
1936
|
+
name: unbReceiverId
|
|
1937
|
+
in: query
|
|
1938
|
+
required: false
|
|
1939
|
+
schema:
|
|
1940
|
+
type: string
|
|
1941
|
+
examples:
|
|
1942
|
+
- CELIGOGLN
|
|
1943
|
+
description: |-
|
|
1944
|
+
EDIFACT only — the record's `unbReceiverId` (UNB04), matched like
|
|
1945
|
+
`unbSenderId`. Rejected when the lookup runs against X12.
|
|
1946
|
+
DocumentType:
|
|
1947
|
+
name: documentType
|
|
1948
|
+
in: query
|
|
1949
|
+
required: false
|
|
1950
|
+
schema:
|
|
1951
|
+
type: string
|
|
1952
|
+
examples:
|
|
1953
|
+
- '850'
|
|
1954
|
+
description: |-
|
|
1955
|
+
EDI document type code — for X12 the numeric transaction-set ID as a
|
|
1956
|
+
string (`850`, `810`, `856`, `997`); for EDIFACT the UNH01 message type
|
|
1957
|
+
(`ORDERS`, `INVOIC`, `DESADV`, `CONTRL`). Case-insensitive. It also
|
|
1958
|
+
selects the EDI standard the lookup runs against. `X12` and `EDIFACT`
|
|
1959
|
+
name the standard, not a document type, and are rejected here.
|
|
1442
1960
|
x-enable-proxy: true
|
|
1443
1961
|
x-internal: false
|
package/dist/tool.yml
CHANGED
|
@@ -460,9 +460,10 @@ paths:
|
|
|
460
460
|
summary: Delete a tool
|
|
461
461
|
description: |-
|
|
462
462
|
Deletes a tool. Soft-deleted and retained in the recycle bin for 30 days.
|
|
463
|
-
Fails with 422 if other resources (MCP servers, access tokens
|
|
464
|
-
|
|
465
|
-
|
|
463
|
+
Fails with 422 if other resources (MCP servers, access tokens, or a
|
|
464
|
+
`ToolImport` import whose `tool._toolId` names it: "import <id> must be
|
|
465
|
+
deleted before you can delete tool <id>") still reference this tool — call
|
|
466
|
+
`GET /v1/tools/{_id}/dependencies` first to check; it lists those imports.
|
|
466
467
|
operationId: deleteTool
|
|
467
468
|
tags:
|
|
468
469
|
- Tools
|
|
@@ -1231,8 +1232,12 @@ paths:
|
|
|
1231
1232
|
'422':
|
|
1232
1233
|
description: |-
|
|
1233
1234
|
A step failed, or the Tool was refused before any step ran: a connection binding is
|
|
1234
|
-
missing (`connection_not_overridden`) or has no `_id`,
|
|
1235
|
-
back (`tool_dangling_branch`)
|
|
1235
|
+
missing (`connection_not_overridden`) or has no `_id`, its branches don't all merge
|
|
1236
|
+
back (`tool_dangling_branch`), or the input fails `input.schema` (a missing `required`
|
|
1237
|
+
property answers `tool_input_schema_validation_failed`). The output stage answers 422 too when the stored
|
|
1238
|
+
`output.schema` holds `additionalProperties: false` and the output mappings write a field
|
|
1239
|
+
it doesn't list ("Tool output validation failed: must NOT have additional properties").
|
|
1240
|
+
A failed step answers 422 even when it has
|
|
1236
1241
|
`proceedOnFailure: true`: the later steps still run, but the response carries the error,
|
|
1237
1242
|
not the output. Either way the response includes `invocationId` when logging is active,
|
|
1238
1243
|
so the run can be opened in the run history.
|
|
@@ -6354,7 +6359,16 @@ components:
|
|
|
6354
6359
|
JSON Schema describing the expected input data structure.
|
|
6355
6360
|
|
|
6356
6361
|
Used for validation, documentation, and AI-assisted tooling.
|
|
6357
|
-
Must be a valid JSON Schema document.
|
|
6362
|
+
Must be a valid JSON Schema document. Leave `$schema` out or name draft-07: a
|
|
6363
|
+
`$schema` naming draft 2020-12 fails the save with 422 "Invalid input.schema -
|
|
6364
|
+
no schema with key or ref ...". An `$id` saves.
|
|
6365
|
+
|
|
6366
|
+
Each invoke's input is validated against it. A missing `required` property
|
|
6367
|
+
refuses the call with 422 `tool_input_schema_validation_failed` ("Tool input
|
|
6368
|
+
validation failed: must have required property '<name>'"), and a failed
|
|
6369
|
+
`pattern` with 422 "Tool input validation failed: <field>: must match pattern
|
|
6370
|
+
...". A property made required later therefore breaks callers that don't send
|
|
6371
|
+
it.
|
|
6358
6372
|
additionalProperties: true
|
|
6359
6373
|
examples:
|
|
6360
6374
|
- type: object
|
|
@@ -6468,6 +6482,11 @@ components:
|
|
|
6468
6482
|
|
|
6469
6483
|
Used for documentation and validation of the tool's output.
|
|
6470
6484
|
Must be a valid JSON Schema document.
|
|
6485
|
+
|
|
6486
|
+
The mapped output is validated against it. While the stored schema holds
|
|
6487
|
+
`additionalProperties: false`, `POST /v1/tools/{_id}/invoke` answers 422 "Tool
|
|
6488
|
+
output validation failed: must NOT have additional properties" when the output
|
|
6489
|
+
mappings write a field the schema doesn't list.
|
|
6471
6490
|
additionalProperties: true
|
|
6472
6491
|
examples:
|
|
6473
6492
|
- type: object
|
|
@@ -6760,7 +6779,12 @@ components:
|
|
|
6760
6779
|
description: |
|
|
6761
6780
|
Filter criteria to determine if this branch should be selected.
|
|
6762
6781
|
|
|
6763
|
-
Uses Celigo's expression-based filter format.
|
|
6782
|
+
Uses Celigo's expression-based filter format. Send `version` and `rules`
|
|
6783
|
+
directly on `inputFilter` — not inside the `{type: "expression", expression: {...}}`
|
|
6784
|
+
wrapper that export and import filters use. A wrapped filter is saved without an
|
|
6785
|
+
error, but the branch is stored with no `inputFilter` and takes every input.
|
|
6786
|
+
x-celigo-ai-guidance:
|
|
6787
|
+
- Read the tool back after saving a branching router and check that each filtered branch still has its `inputFilter`; a filter sent in the export-filter wrapper is dropped on save without an error.
|
|
6764
6788
|
properties:
|
|
6765
6789
|
version:
|
|
6766
6790
|
type: string
|
|
@@ -6800,6 +6824,13 @@ components:
|
|
|
6800
6824
|
|
|
6801
6825
|
Use "outputRouter" as a special terminal value to exit the tool
|
|
6802
6826
|
and return the processing results.
|
|
6827
|
+
|
|
6828
|
+
Every branch needs one. A branch without it is saved, but every invoke is
|
|
6829
|
+
then refused with 422 and every test run with 400 `tool_dangling_branch`
|
|
6830
|
+
("One or more branches are not merged back. Review the setup to ensure all
|
|
6831
|
+
branches converge."), whichever branch the input takes. An id that names no
|
|
6832
|
+
router fails the save with 422 "Invalid nextRouterId is defined on the branch.
|
|
6833
|
+
Please correct the branch configuration."
|
|
6803
6834
|
examples:
|
|
6804
6835
|
- router_002
|
|
6805
6836
|
- outputRouter
|
|
@@ -6809,7 +6840,10 @@ components:
|
|
|
6809
6840
|
Processing steps to execute in this branch.
|
|
6810
6841
|
|
|
6811
6842
|
Each processor references an export (lookup) or import resource
|
|
6812
|
-
for data retrieval or submission.
|
|
6843
|
+
for data retrieval or submission. An export is a step at most once in a
|
|
6844
|
+
tool: using it again, on another branch or in the same one, fails the save
|
|
6845
|
+
with 422 "The export <id> is already included as a pageProcessor in your
|
|
6846
|
+
flow, and cannot be added again."
|
|
6813
6847
|
items:
|
|
6814
6848
|
type: object
|
|
6815
6849
|
properties:
|
|
@@ -7064,6 +7098,12 @@ components:
|
|
|
7064
7098
|
|
|
7065
7099
|
Branches can chain to other routers or use the special "outputRouter"
|
|
7066
7100
|
terminal value to exit the tool.
|
|
7101
|
+
|
|
7102
|
+
A tool saves without `routers`, but it can't run: `POST /v1/tools/{_id}/invoke`
|
|
7103
|
+
and a test run answer 400 `tool_empty_router` ("Tool has no steps configured.
|
|
7104
|
+
Add at least one step before executing the tool."). A full PUT that omits
|
|
7105
|
+
`routers` removes the steps the same way. Put linear steps in one pass-through
|
|
7106
|
+
router with a single branch.
|
|
7067
7107
|
items:
|
|
7068
7108
|
$ref: '#/components/schemas/Router'
|
|
7069
7109
|
aiDescription:
|
package/package.json
CHANGED