@nautical-commerce/graphql-schema 2.17.0 → 2.19.0
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/nautical/schema.graphql +517 -68
- package/package.json +2 -2
package/nautical/schema.graphql
CHANGED
|
@@ -17,7 +17,7 @@ directive @shareable repeatable on FIELD_DEFINITION | OBJECT
|
|
|
17
17
|
directive @extends on OBJECT | INTERFACE
|
|
18
18
|
|
|
19
19
|
"""Federation @override directive"""
|
|
20
|
-
directive @override(from: String
|
|
20
|
+
directive @override(from: String!, label: String) on FIELD_DEFINITION
|
|
21
21
|
|
|
22
22
|
"""Federation @inaccessible directive"""
|
|
23
23
|
directive @inaccessible on FIELD_DEFINITION | OBJECT | INTERFACE | UNION | ENUM | ENUM_VALUE | SCALAR | INPUT_OBJECT | INPUT_FIELD_DEFINITION | ARGUMENT_DEFINITION
|
|
@@ -40,6 +40,18 @@ directive @requiresScopes(scopes: [[federation__Scope!]!]!) on FIELD_DEFINITION
|
|
|
40
40
|
"""Federation @policy directive"""
|
|
41
41
|
directive @policy(policies: [[federation__Policy!]!]!) on FIELD_DEFINITION | OBJECT | INTERFACE | SCALAR | ENUM
|
|
42
42
|
|
|
43
|
+
"""Federation @context directive"""
|
|
44
|
+
directive @context(name: String!) repeatable on OBJECT | INTERFACE | UNION
|
|
45
|
+
|
|
46
|
+
"""Federation @fromContext directive"""
|
|
47
|
+
directive @from_context(field: federation__ContextFieldValue) on ARGUMENT_DEFINITION
|
|
48
|
+
|
|
49
|
+
"""Federation @listSize directive"""
|
|
50
|
+
directive @listSize(assumedSize: Int, slicingArguments: [String!], sizedFields: [String!], requireOneSlicingArgument: Boolean) on FIELD_DEFINITION
|
|
51
|
+
|
|
52
|
+
"""Federation @cost directive"""
|
|
53
|
+
directive @cost(weight: Int!) on ARGUMENT_DEFINITION | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | OBJECT | SCALAR | ENUM
|
|
54
|
+
|
|
43
55
|
"""
|
|
44
56
|
Custom Decimal implementation.
|
|
45
57
|
|
|
@@ -178,7 +190,9 @@ type Query {
|
|
|
178
190
|
last: Int
|
|
179
191
|
): WebhookEventLogCountableConnection
|
|
180
192
|
|
|
181
|
-
"""
|
|
193
|
+
"""
|
|
194
|
+
List of webhook jobs (legacy system - use shopifyWebhookTransactions for Shopify)
|
|
195
|
+
"""
|
|
182
196
|
webhookJobs(
|
|
183
197
|
"""Filtering options for webhook jobs"""
|
|
184
198
|
filter: WebhookJobFilterInput
|
|
@@ -202,6 +216,32 @@ type Query {
|
|
|
202
216
|
last: Int
|
|
203
217
|
): WebhookJobCountableConnection
|
|
204
218
|
|
|
219
|
+
"""
|
|
220
|
+
List of Shopify webhook transactions from the new plugin-based architecture. Provides better debugging and tracking than the legacy webhookJobs query. Use this for all new Shopify webhook monitoring.
|
|
221
|
+
"""
|
|
222
|
+
shopifyWebhookTransactions(
|
|
223
|
+
"""Filtering options for Shopify webhook transactions"""
|
|
224
|
+
filter: ShopifyWebhookTransactionFilterInput
|
|
225
|
+
|
|
226
|
+
"""Sort Shopify webhook transactions"""
|
|
227
|
+
sortBy: ShopifyWebhookTransactionSortingInput
|
|
228
|
+
|
|
229
|
+
"""Seller global ID to filter by"""
|
|
230
|
+
sellerId: ID
|
|
231
|
+
|
|
232
|
+
"""Return the elements in the list that come before the specified cursor."""
|
|
233
|
+
before: String
|
|
234
|
+
|
|
235
|
+
"""Return the elements in the list that come after the specified cursor."""
|
|
236
|
+
after: String
|
|
237
|
+
|
|
238
|
+
"""Return the first n elements from the list."""
|
|
239
|
+
first: Int
|
|
240
|
+
|
|
241
|
+
"""Return the last n elements from the list."""
|
|
242
|
+
last: Int
|
|
243
|
+
): ShopifyWebhookTransactionCountableConnection
|
|
244
|
+
|
|
205
245
|
"""Look up a warehouse by ID."""
|
|
206
246
|
warehouse(
|
|
207
247
|
"""ID of an warehouse"""
|
|
@@ -1487,6 +1527,33 @@ type Query {
|
|
|
1487
1527
|
last: Int
|
|
1488
1528
|
): ExportFileCountableConnection
|
|
1489
1529
|
|
|
1530
|
+
"""Look up an import file by ID."""
|
|
1531
|
+
importFile(
|
|
1532
|
+
"""ID of the import file job."""
|
|
1533
|
+
id: ID!
|
|
1534
|
+
): ImportFile
|
|
1535
|
+
|
|
1536
|
+
"""List of import files."""
|
|
1537
|
+
importFiles(
|
|
1538
|
+
"""Filtering options for import files."""
|
|
1539
|
+
filter: ImportFileFilterInput
|
|
1540
|
+
|
|
1541
|
+
"""Sort import files."""
|
|
1542
|
+
sortBy: ImportFileSortingInput
|
|
1543
|
+
|
|
1544
|
+
"""Return the elements in the list that come before the specified cursor."""
|
|
1545
|
+
before: String
|
|
1546
|
+
|
|
1547
|
+
"""Return the elements in the list that come after the specified cursor."""
|
|
1548
|
+
after: String
|
|
1549
|
+
|
|
1550
|
+
"""Return the first n elements from the list."""
|
|
1551
|
+
first: Int
|
|
1552
|
+
|
|
1553
|
+
"""Return the last n elements from the list."""
|
|
1554
|
+
last: Int
|
|
1555
|
+
): ImportFileCountableConnection
|
|
1556
|
+
|
|
1490
1557
|
"""List of all tax rates available from tax gateway."""
|
|
1491
1558
|
taxTypes: [TaxType!]!
|
|
1492
1559
|
|
|
@@ -2652,6 +2719,21 @@ type ProductVariant implements Node & ObjectWithMetadata {
|
|
|
2652
2719
|
List of warnings for this product variant that needs to be resolved for publishing.
|
|
2653
2720
|
"""
|
|
2654
2721
|
warnings: [WarningMessageItem!]!
|
|
2722
|
+
|
|
2723
|
+
"""Shopify webhook events related to this variant"""
|
|
2724
|
+
webhookHistory(
|
|
2725
|
+
"""Return the elements in the list that come before the specified cursor."""
|
|
2726
|
+
before: String
|
|
2727
|
+
|
|
2728
|
+
"""Return the elements in the list that come after the specified cursor."""
|
|
2729
|
+
after: String
|
|
2730
|
+
|
|
2731
|
+
"""Return the first n elements from the list."""
|
|
2732
|
+
first: Int
|
|
2733
|
+
|
|
2734
|
+
"""Return the last n elements from the list."""
|
|
2735
|
+
last: Int
|
|
2736
|
+
): ShopifyWebhookTransactionCountableConnection
|
|
2655
2737
|
}
|
|
2656
2738
|
|
|
2657
2739
|
"""An enumeration."""
|
|
@@ -2838,6 +2920,21 @@ type Product implements Node & ObjectWithMetadata {
|
|
|
2838
2920
|
|
|
2839
2921
|
"""Displays whether the product has warnings or not."""
|
|
2840
2922
|
hasWarnings: Boolean
|
|
2923
|
+
|
|
2924
|
+
"""Shopify webhook events related to this product"""
|
|
2925
|
+
webhookHistory(
|
|
2926
|
+
"""Return the elements in the list that come before the specified cursor."""
|
|
2927
|
+
before: String
|
|
2928
|
+
|
|
2929
|
+
"""Return the elements in the list that come after the specified cursor."""
|
|
2930
|
+
after: String
|
|
2931
|
+
|
|
2932
|
+
"""Return the first n elements from the list."""
|
|
2933
|
+
first: Int
|
|
2934
|
+
|
|
2935
|
+
"""Return the last n elements from the list."""
|
|
2936
|
+
last: Int
|
|
2937
|
+
): ShopifyWebhookTransactionCountableConnection
|
|
2841
2938
|
}
|
|
2842
2939
|
|
|
2843
2940
|
"""
|
|
@@ -4836,6 +4933,9 @@ enum ProductSubStatusEnum {
|
|
|
4836
4933
|
|
|
4837
4934
|
"""Approved"""
|
|
4838
4935
|
APPROVED
|
|
4936
|
+
|
|
4937
|
+
"""Incomplete data"""
|
|
4938
|
+
INCOMPLETE_DATA
|
|
4839
4939
|
}
|
|
4840
4940
|
|
|
4841
4941
|
input PriceRangeInput {
|
|
@@ -7097,6 +7197,9 @@ enum ProductSubStatus {
|
|
|
7097
7197
|
|
|
7098
7198
|
"""Approved"""
|
|
7099
7199
|
APPROVED
|
|
7200
|
+
|
|
7201
|
+
"""Incomplete data"""
|
|
7202
|
+
INCOMPLETE_DATA
|
|
7100
7203
|
}
|
|
7101
7204
|
|
|
7102
7205
|
"""An enumeration."""
|
|
@@ -7299,6 +7402,120 @@ enum ProductWarningEnum {
|
|
|
7299
7402
|
DEFAULT_VARIANT_REQUIRED
|
|
7300
7403
|
}
|
|
7301
7404
|
|
|
7405
|
+
type ShopifyWebhookTransactionCountableConnection {
|
|
7406
|
+
"""Pagination data for this connection."""
|
|
7407
|
+
pageInfo: PageInfo!
|
|
7408
|
+
edges: [ShopifyWebhookTransactionCountableEdge!]!
|
|
7409
|
+
|
|
7410
|
+
"""A total count of items in the collection."""
|
|
7411
|
+
totalCount: Int
|
|
7412
|
+
}
|
|
7413
|
+
|
|
7414
|
+
type ShopifyWebhookTransactionCountableEdge {
|
|
7415
|
+
"""The item at the end of the edge."""
|
|
7416
|
+
node: ShopifyWebhookTransaction!
|
|
7417
|
+
|
|
7418
|
+
"""A cursor for use in pagination."""
|
|
7419
|
+
cursor: String!
|
|
7420
|
+
}
|
|
7421
|
+
|
|
7422
|
+
"""
|
|
7423
|
+
Shopify webhook transaction from the new plugin-based architecture. Uses synchronous processing (no Celery queue bugs) and preserves all Shopify data for debugging and future field mapping updates.
|
|
7424
|
+
"""
|
|
7425
|
+
type ShopifyWebhookTransaction implements Node & Job {
|
|
7426
|
+
"""The ID of the object"""
|
|
7427
|
+
id: ID!
|
|
7428
|
+
|
|
7429
|
+
"""Job status."""
|
|
7430
|
+
status: JobStatusEnum!
|
|
7431
|
+
|
|
7432
|
+
"""Job message."""
|
|
7433
|
+
message: String
|
|
7434
|
+
|
|
7435
|
+
"""Created date time of job in ISO 8601 format."""
|
|
7436
|
+
createdAt: DateTime!
|
|
7437
|
+
|
|
7438
|
+
"""Date time of job last update in ISO 8601 format."""
|
|
7439
|
+
updatedAt: DateTime!
|
|
7440
|
+
tenant: Tenant!
|
|
7441
|
+
|
|
7442
|
+
"""Seller associated with this webhook"""
|
|
7443
|
+
seller: Seller!
|
|
7444
|
+
|
|
7445
|
+
"""
|
|
7446
|
+
Shopify event type (e.g., 'products/create', 'inventory_levels/update')
|
|
7447
|
+
"""
|
|
7448
|
+
eventType: String
|
|
7449
|
+
|
|
7450
|
+
"""Shop domain that sent the webhook (e.g., 'my-store.myshopify.com')"""
|
|
7451
|
+
shopifyDomain: String
|
|
7452
|
+
|
|
7453
|
+
"""Shopify's webhook ID from X-Shopify-Webhook-Id header"""
|
|
7454
|
+
shopifyWebhookId: String
|
|
7455
|
+
|
|
7456
|
+
"""
|
|
7457
|
+
Complete unmodified Shopify webhook payload. Preserves ALL fields from Shopify, including unmapped ones. Use this for debugging or accessing fields not yet in Nautical schema.
|
|
7458
|
+
"""
|
|
7459
|
+
rawPayload: JSONString
|
|
7460
|
+
|
|
7461
|
+
"""
|
|
7462
|
+
Data after field mapping transformation applied. Shows what values were extracted from raw_payload and how they were transformed to Nautical format. Compare with validation_errors to see which fields had issues.
|
|
7463
|
+
"""
|
|
7464
|
+
mappedData: JSONString
|
|
7465
|
+
|
|
7466
|
+
"""
|
|
7467
|
+
Shopify fields that don't have Nautical field mappings. Preserved for future use. If you see important data here, you can configure custom field mappings in your plugin settings.
|
|
7468
|
+
"""
|
|
7469
|
+
unmappedFields: JSONString
|
|
7470
|
+
|
|
7471
|
+
"""
|
|
7472
|
+
Version of Shopify field mapping configuration used (e.g., '1.0.0'). Used to track schema evolution. If mappings change, you can identify which webhooks used old vs new mappings.
|
|
7473
|
+
"""
|
|
7474
|
+
fieldMappingVersion: String
|
|
7475
|
+
|
|
7476
|
+
"""
|
|
7477
|
+
Shopify-specific processing context. Includes: API version, processing time, retry count, etc. Useful for performance analysis and debugging.
|
|
7478
|
+
"""
|
|
7479
|
+
processingMetadata: JSONString
|
|
7480
|
+
|
|
7481
|
+
"""
|
|
7482
|
+
Per-field validation errors with severity levels. Format: {field_name: {message, severity, value}}. Severity: 'warning' (non-critical), 'error' (needs fixing), 'critical' (blocks creation).
|
|
7483
|
+
"""
|
|
7484
|
+
validationErrors: JSONString
|
|
7485
|
+
|
|
7486
|
+
"""
|
|
7487
|
+
List of successfully created entities. Format: ['product:uuid-123', 'variant:uuid-456', 'stock:uuid-789']. Use this to track what Nautical entities were created from the Shopify webhook.
|
|
7488
|
+
"""
|
|
7489
|
+
entitiesCreated: [String]
|
|
7490
|
+
|
|
7491
|
+
"""
|
|
7492
|
+
List of entities that failed creation with error details. Format: [{type, shopify_id, error, details}]. Review this to understand why some entities couldn't be created.
|
|
7493
|
+
"""
|
|
7494
|
+
entitiesFailed: JSONString
|
|
7495
|
+
|
|
7496
|
+
"""
|
|
7497
|
+
True if webhook processing succeeded for some but not all entities. Example: Product created but 2 out of 5 variants failed validation. Check entities_failed for details on what went wrong.
|
|
7498
|
+
"""
|
|
7499
|
+
isPartialSuccess: Boolean
|
|
7500
|
+
|
|
7501
|
+
"""
|
|
7502
|
+
Link to primary created marketplace entity (e.g., '/products/123'). Use this to navigate directly to the created entity in the Dashboard.
|
|
7503
|
+
"""
|
|
7504
|
+
marketplaceEntityLink: String
|
|
7505
|
+
|
|
7506
|
+
"""Product ID if this webhook created/updated a product"""
|
|
7507
|
+
productId: Int
|
|
7508
|
+
|
|
7509
|
+
"""ProductVariant ID if this webhook created/updated a variant"""
|
|
7510
|
+
variantId: Int
|
|
7511
|
+
|
|
7512
|
+
"""Warehouse ID if this webhook created/updated a warehouse (location)"""
|
|
7513
|
+
warehouseId: Int
|
|
7514
|
+
|
|
7515
|
+
"""Stock ID if this webhook created/updated inventory levels"""
|
|
7516
|
+
stockId: Int
|
|
7517
|
+
}
|
|
7518
|
+
|
|
7302
7519
|
"""Represents availability of a variant in the storefront."""
|
|
7303
7520
|
type VariantPricingInfo {
|
|
7304
7521
|
"""Whether it is in sale or not."""
|
|
@@ -8214,7 +8431,9 @@ type WebhookJobCountableEdge {
|
|
|
8214
8431
|
cursor: String!
|
|
8215
8432
|
}
|
|
8216
8433
|
|
|
8217
|
-
"""
|
|
8434
|
+
"""
|
|
8435
|
+
Represents incoming webhook transaction with comprehensive data preservation. New ELT-based approach ensures no data loss and supports partial success states.
|
|
8436
|
+
"""
|
|
8218
8437
|
type WebhookJob implements Node & Job {
|
|
8219
8438
|
"""The ID of the object"""
|
|
8220
8439
|
id: ID!
|
|
@@ -8231,13 +8450,74 @@ type WebhookJob implements Node & Job {
|
|
|
8231
8450
|
"""Date time of job last update in ISO 8601 format."""
|
|
8232
8451
|
updatedAt: DateTime!
|
|
8233
8452
|
tenant: Tenant!
|
|
8453
|
+
|
|
8454
|
+
"""Original webhook payload (legacy field)"""
|
|
8234
8455
|
body: JSONString
|
|
8456
|
+
|
|
8457
|
+
"""Request headers and metadata"""
|
|
8235
8458
|
requestMeta: JSONString
|
|
8459
|
+
|
|
8460
|
+
"""Webhook source (e.g., 'shopify')"""
|
|
8236
8461
|
source: String
|
|
8462
|
+
|
|
8463
|
+
"""Normalized event type"""
|
|
8237
8464
|
type: GenericWebhookTransactionType
|
|
8465
|
+
|
|
8466
|
+
"""Link to vendor entity. DEPRECATED: No longer used."""
|
|
8238
8467
|
vendorEntityLink: String @deprecated(reason: "This will be removed on September 26, 2025")
|
|
8468
|
+
|
|
8469
|
+
"""
|
|
8470
|
+
Link to marketplace entity (e.g., /products/123). DEPRECATED: Use entities_created instead.
|
|
8471
|
+
"""
|
|
8239
8472
|
marketplaceEntityLink: String @deprecated(reason: "This will be removed on September 26, 2025")
|
|
8473
|
+
|
|
8474
|
+
"""Seller associated with this webhook"""
|
|
8240
8475
|
seller: Seller
|
|
8476
|
+
|
|
8477
|
+
"""
|
|
8478
|
+
Complete unmodified webhook payload. Preserves all fields from external system, including unmapped ones. Use this for debugging or accessing fields not yet mapped to Nautical.
|
|
8479
|
+
"""
|
|
8480
|
+
rawPayload: JSONString
|
|
8481
|
+
|
|
8482
|
+
"""
|
|
8483
|
+
Data after field mapping transformation applied. Shows what values were extracted from raw_payload and how they were transformed. Compare with validation_errors to see which fields had issues.
|
|
8484
|
+
"""
|
|
8485
|
+
mappedData: JSONString
|
|
8486
|
+
|
|
8487
|
+
"""
|
|
8488
|
+
Fields from webhook that don't have Nautical field mappings. Preserved for future use. If you see important data here, request a custom field mapping configuration.
|
|
8489
|
+
"""
|
|
8490
|
+
unmappedFields: JSONString
|
|
8491
|
+
|
|
8492
|
+
"""
|
|
8493
|
+
Per-field validation errors with severity levels. Format: {field_name: {message, severity, value}}. Severity: 'warning' (non-critical), 'error' (needs fixing), 'critical' (blocks creation).
|
|
8494
|
+
"""
|
|
8495
|
+
validationErrors: JSONString
|
|
8496
|
+
|
|
8497
|
+
"""
|
|
8498
|
+
Version of field mapping configuration used (e.g., '1.0.0'). Used to track schema evolution. If mappings change, you can identify which webhooks used old vs new mappings.
|
|
8499
|
+
"""
|
|
8500
|
+
fieldMappingVersion: String
|
|
8501
|
+
|
|
8502
|
+
"""
|
|
8503
|
+
Additional processing context. Includes: ingestion_method, start_time, end_time, entities_created_count, entities_failed_count. Useful for performance analysis and debugging.
|
|
8504
|
+
"""
|
|
8505
|
+
processingMetadata: JSONString
|
|
8506
|
+
|
|
8507
|
+
"""
|
|
8508
|
+
List of successfully created entities. Format: ['product:123', 'variant:456', 'image:789']. Use this to track what was created from the webhook.
|
|
8509
|
+
"""
|
|
8510
|
+
entitiesCreated: [String]
|
|
8511
|
+
|
|
8512
|
+
"""
|
|
8513
|
+
List of entities that failed creation with error details. Format: [{type, error, details}]. Review this to understand why some entities couldn't be created.
|
|
8514
|
+
"""
|
|
8515
|
+
entitiesFailed: JSONString
|
|
8516
|
+
|
|
8517
|
+
"""
|
|
8518
|
+
True if webhook processing succeeded for some but not all entities. Example: Product created but 2 out of 5 images failed. Check entities_failed for details on what went wrong.
|
|
8519
|
+
"""
|
|
8520
|
+
isPartialSuccess: Boolean
|
|
8241
8521
|
}
|
|
8242
8522
|
|
|
8243
8523
|
"""An enumeration."""
|
|
@@ -8438,6 +8718,62 @@ enum WebhookJobSortField {
|
|
|
8438
8718
|
CREATED_AT
|
|
8439
8719
|
}
|
|
8440
8720
|
|
|
8721
|
+
input ShopifyWebhookTransactionFilterInput {
|
|
8722
|
+
status: [WebhookJobStatus!]
|
|
8723
|
+
eventType: [ShopifyEventType!]
|
|
8724
|
+
shopifyDomain: String
|
|
8725
|
+
isPartialSuccess: Boolean
|
|
8726
|
+
createdAt: DateTime
|
|
8727
|
+
search: String
|
|
8728
|
+
created: DateRangeInput
|
|
8729
|
+
}
|
|
8730
|
+
|
|
8731
|
+
"""Shopify webhook event types (new plugin-based architecture)."""
|
|
8732
|
+
enum ShopifyEventType {
|
|
8733
|
+
PRODUCTS_CREATE
|
|
8734
|
+
PRODUCTS_UPDATE
|
|
8735
|
+
PRODUCTS_DELETE
|
|
8736
|
+
INVENTORY_LEVELS_UPDATE
|
|
8737
|
+
INVENTORY_LEVELS_CONNECT
|
|
8738
|
+
INVENTORY_LEVELS_DISCONNECT
|
|
8739
|
+
LOCATIONS_CREATE
|
|
8740
|
+
LOCATIONS_UPDATE
|
|
8741
|
+
LOCATIONS_DELETE
|
|
8742
|
+
ORDERS_CANCELLED
|
|
8743
|
+
FULFILLMENTS_CREATE
|
|
8744
|
+
FULFILLMENTS_UPDATE
|
|
8745
|
+
}
|
|
8746
|
+
|
|
8747
|
+
"""Sorting options for Shopify webhook transactions."""
|
|
8748
|
+
input ShopifyWebhookTransactionSortingInput {
|
|
8749
|
+
"""Specifies the direction in which to sort products."""
|
|
8750
|
+
direction: OrderDirection!
|
|
8751
|
+
|
|
8752
|
+
"""Sort shopify_webhook_transactions by the selected field."""
|
|
8753
|
+
field: ShopifyWebhookTransactionSortField!
|
|
8754
|
+
}
|
|
8755
|
+
|
|
8756
|
+
"""Sort fields for Shopify webhook transactions."""
|
|
8757
|
+
enum ShopifyWebhookTransactionSortField {
|
|
8758
|
+
"""Sort by Shopify event type (e.g., products/create)"""
|
|
8759
|
+
EVENT_TYPE
|
|
8760
|
+
|
|
8761
|
+
"""Sort by processing status (pending, processing, success, failed)"""
|
|
8762
|
+
STATUS
|
|
8763
|
+
|
|
8764
|
+
"""Sort by webhook received timestamp"""
|
|
8765
|
+
CREATED_AT
|
|
8766
|
+
|
|
8767
|
+
"""Sort by last update timestamp"""
|
|
8768
|
+
UPDATED_AT
|
|
8769
|
+
|
|
8770
|
+
"""Sort by shop domain"""
|
|
8771
|
+
SHOPIFY_DOMAIN
|
|
8772
|
+
|
|
8773
|
+
"""Sort by partial success state"""
|
|
8774
|
+
IS_PARTIAL_SUCCESS
|
|
8775
|
+
}
|
|
8776
|
+
|
|
8441
8777
|
input WarehouseFilterInput {
|
|
8442
8778
|
seller: ID
|
|
8443
8779
|
search: String
|
|
@@ -11579,6 +11915,114 @@ enum ExportFileSortField {
|
|
|
11579
11915
|
UPDATED_AT
|
|
11580
11916
|
}
|
|
11581
11917
|
|
|
11918
|
+
"""Represents a job data of exported file."""
|
|
11919
|
+
type ImportFile implements Node & Job {
|
|
11920
|
+
"""The ID of the object"""
|
|
11921
|
+
id: ID!
|
|
11922
|
+
user: User
|
|
11923
|
+
app: App
|
|
11924
|
+
|
|
11925
|
+
"""Job status."""
|
|
11926
|
+
status: JobStatusEnum!
|
|
11927
|
+
|
|
11928
|
+
"""Created date time of job in ISO 8601 format."""
|
|
11929
|
+
createdAt: DateTime!
|
|
11930
|
+
|
|
11931
|
+
"""Date time of job last update in ISO 8601 format."""
|
|
11932
|
+
updatedAt: DateTime!
|
|
11933
|
+
|
|
11934
|
+
"""Job message."""
|
|
11935
|
+
message: String
|
|
11936
|
+
|
|
11937
|
+
"""The URL of file to download."""
|
|
11938
|
+
url: String
|
|
11939
|
+
|
|
11940
|
+
"""List of events associated with the import."""
|
|
11941
|
+
events: [ImportEvent!]
|
|
11942
|
+
}
|
|
11943
|
+
|
|
11944
|
+
"""History log of import file."""
|
|
11945
|
+
type ImportEvent implements Node {
|
|
11946
|
+
"""The ID of the object"""
|
|
11947
|
+
id: ID!
|
|
11948
|
+
|
|
11949
|
+
"""Date when event happened at in ISO 8601 format."""
|
|
11950
|
+
date: DateTime!
|
|
11951
|
+
|
|
11952
|
+
"""Import event type."""
|
|
11953
|
+
type: ImportEventsEnum!
|
|
11954
|
+
|
|
11955
|
+
"""User who performed the action."""
|
|
11956
|
+
user: User
|
|
11957
|
+
|
|
11958
|
+
"""App which performed the action."""
|
|
11959
|
+
app: App
|
|
11960
|
+
|
|
11961
|
+
"""Content of the event."""
|
|
11962
|
+
message: String!
|
|
11963
|
+
}
|
|
11964
|
+
|
|
11965
|
+
enum ImportEventsEnum {
|
|
11966
|
+
"""Data import was started."""
|
|
11967
|
+
IMPORT_PENDING
|
|
11968
|
+
|
|
11969
|
+
"""Data import was completed successfully."""
|
|
11970
|
+
IMPORT_SUCCESS
|
|
11971
|
+
|
|
11972
|
+
"""Import Failed"""
|
|
11973
|
+
IMPORT_FAILED
|
|
11974
|
+
|
|
11975
|
+
"""Data import failed."""
|
|
11976
|
+
IMPORT_DELETED
|
|
11977
|
+
|
|
11978
|
+
"""Import file was deleted."""
|
|
11979
|
+
IMPORTED_FILE_SENT
|
|
11980
|
+
}
|
|
11981
|
+
|
|
11982
|
+
type ImportFileCountableConnection {
|
|
11983
|
+
"""Pagination data for this connection."""
|
|
11984
|
+
pageInfo: PageInfo!
|
|
11985
|
+
edges: [ImportFileCountableEdge!]!
|
|
11986
|
+
|
|
11987
|
+
"""A total count of items in the collection."""
|
|
11988
|
+
totalCount: Int
|
|
11989
|
+
}
|
|
11990
|
+
|
|
11991
|
+
type ImportFileCountableEdge {
|
|
11992
|
+
"""The item at the end of the edge."""
|
|
11993
|
+
node: ImportFile!
|
|
11994
|
+
|
|
11995
|
+
"""A cursor for use in pagination."""
|
|
11996
|
+
cursor: String!
|
|
11997
|
+
}
|
|
11998
|
+
|
|
11999
|
+
input ImportFileFilterInput {
|
|
12000
|
+
createdAt: DateTimeRangeInput
|
|
12001
|
+
updatedAt: DateTimeRangeInput
|
|
12002
|
+
status: JobStatusEnum
|
|
12003
|
+
user: String
|
|
12004
|
+
app: String
|
|
12005
|
+
}
|
|
12006
|
+
|
|
12007
|
+
input ImportFileSortingInput {
|
|
12008
|
+
"""Specifies the direction in which to sort products."""
|
|
12009
|
+
direction: OrderDirection!
|
|
12010
|
+
|
|
12011
|
+
"""Sort import file by the selected field."""
|
|
12012
|
+
field: ImportFileSortField!
|
|
12013
|
+
}
|
|
12014
|
+
|
|
12015
|
+
enum ImportFileSortField {
|
|
12016
|
+
"""Sort import file by status."""
|
|
12017
|
+
STATUS
|
|
12018
|
+
|
|
12019
|
+
"""Sort import file by created at."""
|
|
12020
|
+
CREATED_AT
|
|
12021
|
+
|
|
12022
|
+
"""Sort import file by updated at."""
|
|
12023
|
+
UPDATED_AT
|
|
12024
|
+
}
|
|
12025
|
+
|
|
11582
12026
|
"""Event object for all models."""
|
|
11583
12027
|
type Event {
|
|
11584
12028
|
"""The unique identifier across all event tables."""
|
|
@@ -12084,7 +12528,7 @@ type Mutation {
|
|
|
12084
12528
|
description: String
|
|
12085
12529
|
|
|
12086
12530
|
"""
|
|
12087
|
-
Used when uploading a new document or file in a multipart request that does not exist in the system already. Supported file types:
|
|
12531
|
+
Used when uploading a new document or file in a multipart request that does not exist in the system already. Supported file types: image/x-eps, image/jpeg, application/x-pdf, image/jpg, application/x-acad, image/bmp, application/gzip, application/acad, application/x-gzip, image/eps, image/x-dwg, application/x-dxf, text/x-pdf, text/rtf, application/vnd.openxmlformats-officedocument.presentationml.slideshow, application/pdf, application/x-zip-compressed, application/gzip-compressed, application/dwg, image/svg, application/x-rar, application/svg+xml, application/x-rtf, image/tif, application/x-eps, text/pdf, text/x-csv, application/csv, text/csv, application/x-csv, application/eps, text/comma-separated-values, drawing/x-dwf, application/vnd.pdf, application/vnd.oasis.opendocument.presentation, image/x-ms-bmp, text/svg, text/plain, application/vnd.ms-powerpoint, text/svg-xml, application/excel, application/x-tiff, application/dxf, application/acrobat, application/zip, image/svg+xml, application/x-tar, image/x-tif, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/x-jpg, text/x-comma-separated-values, image/x-tiff, image/x-dxf, drawing/dwg, application/rtf, image/webp, application/jpg, application/x-tif, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/tif, image/heif-sequence, application/msword, application/vnd.ms-word, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.oasis.opendocument.text, application/x-dwg, image/gif, image/tiff, image/x-bmp, pplication/vnd.rar, application/x-autocad, image/png, drawing/x-dwg, application/x-rar-compressed, image/heic-sequence, image/vnd.dwg, application/postscript, image/dxf, application/tiff, application/gzipped, image/heif, image/heic, application/vnd.oasis.opendocument.spreadsheet.
|
|
12088
12532
|
"""
|
|
12089
12533
|
file: Upload!
|
|
12090
12534
|
|
|
@@ -14341,6 +14785,18 @@ type Mutation {
|
|
|
14341
14785
|
input: ExportProductsInput!
|
|
14342
14786
|
): ProductsExport
|
|
14343
14787
|
|
|
14788
|
+
"""Upload CSV file for product import and parse its structure."""
|
|
14789
|
+
createImportFile(
|
|
14790
|
+
"""CSV file to upload."""
|
|
14791
|
+
file: Upload!
|
|
14792
|
+
): CreateImportFile
|
|
14793
|
+
|
|
14794
|
+
"""Start processing CSV product import with field mappings."""
|
|
14795
|
+
startCsvImport(
|
|
14796
|
+
"""Input data for CSV import"""
|
|
14797
|
+
input: ImportProductsInput!
|
|
14798
|
+
): StartCSVImport
|
|
14799
|
+
|
|
14344
14800
|
"""Adds a gift card or a voucher to a checkout."""
|
|
14345
14801
|
checkoutAddPromoCode(
|
|
14346
14802
|
"""Checkout ID."""
|
|
@@ -20007,70 +20463,6 @@ type NauticalOrderLinesCsvUpload {
|
|
|
20007
20463
|
orderErrors: [OrderError!]!
|
|
20008
20464
|
}
|
|
20009
20465
|
|
|
20010
|
-
"""Represents a job data of exported file."""
|
|
20011
|
-
type ImportFile implements Node & Job {
|
|
20012
|
-
"""The ID of the object"""
|
|
20013
|
-
id: ID!
|
|
20014
|
-
user: User
|
|
20015
|
-
app: App
|
|
20016
|
-
|
|
20017
|
-
"""Job status."""
|
|
20018
|
-
status: JobStatusEnum!
|
|
20019
|
-
|
|
20020
|
-
"""Created date time of job in ISO 8601 format."""
|
|
20021
|
-
createdAt: DateTime!
|
|
20022
|
-
|
|
20023
|
-
"""Date time of job last update in ISO 8601 format."""
|
|
20024
|
-
updatedAt: DateTime!
|
|
20025
|
-
|
|
20026
|
-
"""Job message."""
|
|
20027
|
-
message: String
|
|
20028
|
-
|
|
20029
|
-
"""The URL of file to download."""
|
|
20030
|
-
url: String
|
|
20031
|
-
|
|
20032
|
-
"""List of events associated with the import."""
|
|
20033
|
-
events: [ImportEvent!]
|
|
20034
|
-
}
|
|
20035
|
-
|
|
20036
|
-
"""History log of import file."""
|
|
20037
|
-
type ImportEvent implements Node {
|
|
20038
|
-
"""The ID of the object"""
|
|
20039
|
-
id: ID!
|
|
20040
|
-
|
|
20041
|
-
"""Date when event happened at in ISO 8601 format."""
|
|
20042
|
-
date: DateTime!
|
|
20043
|
-
|
|
20044
|
-
"""Import event type."""
|
|
20045
|
-
type: ImportEventsEnum!
|
|
20046
|
-
|
|
20047
|
-
"""User who performed the action."""
|
|
20048
|
-
user: User
|
|
20049
|
-
|
|
20050
|
-
"""App which performed the action."""
|
|
20051
|
-
app: App
|
|
20052
|
-
|
|
20053
|
-
"""Content of the event."""
|
|
20054
|
-
message: String!
|
|
20055
|
-
}
|
|
20056
|
-
|
|
20057
|
-
enum ImportEventsEnum {
|
|
20058
|
-
"""Data import was started."""
|
|
20059
|
-
IMPORT_PENDING
|
|
20060
|
-
|
|
20061
|
-
"""Data import was completed successfully."""
|
|
20062
|
-
IMPORT_SUCCESS
|
|
20063
|
-
|
|
20064
|
-
"""Import Failed"""
|
|
20065
|
-
IMPORT_FAILED
|
|
20066
|
-
|
|
20067
|
-
"""Data import failed."""
|
|
20068
|
-
IMPORT_DELETED
|
|
20069
|
-
|
|
20070
|
-
"""Import file was deleted."""
|
|
20071
|
-
IMPORTED_FILE_SENT
|
|
20072
|
-
}
|
|
20073
|
-
|
|
20074
20466
|
"""
|
|
20075
20467
|
Uploads lines for a draft order via CSV. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec
|
|
20076
20468
|
"""
|
|
@@ -20944,6 +21336,58 @@ enum FileTypesEnum {
|
|
|
20944
21336
|
XLSX
|
|
20945
21337
|
}
|
|
20946
21338
|
|
|
21339
|
+
"""Upload CSV file for product import and parse its structure."""
|
|
21340
|
+
type CreateImportFile {
|
|
21341
|
+
"""The newly created import file with parsed metadata."""
|
|
21342
|
+
importFile: ImportFile
|
|
21343
|
+
|
|
21344
|
+
"""Parsed CSV metadata (headers, row count, examples)."""
|
|
21345
|
+
metadata: CSVMetadata
|
|
21346
|
+
importErrors: [ExportError!]!
|
|
21347
|
+
}
|
|
21348
|
+
|
|
21349
|
+
"""CSV file metadata extracted during parsing."""
|
|
21350
|
+
type CSVMetadata {
|
|
21351
|
+
"""List of CSV column headers."""
|
|
21352
|
+
headers: [String!]!
|
|
21353
|
+
|
|
21354
|
+
"""Total number of rows in CSV (excluding header)."""
|
|
21355
|
+
rowCount: Int!
|
|
21356
|
+
|
|
21357
|
+
"""Sample values for each column (first 3 non-empty values)."""
|
|
21358
|
+
examples: JSONString!
|
|
21359
|
+
}
|
|
21360
|
+
|
|
21361
|
+
"""Start processing CSV product import with field mappings."""
|
|
21362
|
+
type StartCSVImport {
|
|
21363
|
+
"""The import file being processed."""
|
|
21364
|
+
importFile: ImportFile
|
|
21365
|
+
|
|
21366
|
+
"""Celery task ID for tracking import progress."""
|
|
21367
|
+
taskId: String
|
|
21368
|
+
importErrors: [ExportError!]!
|
|
21369
|
+
}
|
|
21370
|
+
|
|
21371
|
+
"""Input for starting CSV product import."""
|
|
21372
|
+
input ImportProductsInput {
|
|
21373
|
+
"""ID of the ImportFile to process."""
|
|
21374
|
+
importFileId: ID!
|
|
21375
|
+
|
|
21376
|
+
"""
|
|
21377
|
+
Mapping of CSV column headers to Nautical product fields. Example: {"Product Name": "name", "Price": "price", "SKU": "sku"}
|
|
21378
|
+
"""
|
|
21379
|
+
fieldMappings: JSONString!
|
|
21380
|
+
|
|
21381
|
+
"""Optional default ProductType ID for products without type specified."""
|
|
21382
|
+
defaultProductTypeId: ID
|
|
21383
|
+
|
|
21384
|
+
"""Optional default Category ID for products without category specified."""
|
|
21385
|
+
defaultCategoryId: ID
|
|
21386
|
+
|
|
21387
|
+
"""Number of rows to process per batch (default 100)."""
|
|
21388
|
+
batchSize: Int = 100
|
|
21389
|
+
}
|
|
21390
|
+
|
|
20947
21391
|
"""Adds a gift card or a voucher to a checkout."""
|
|
20948
21392
|
type CheckoutAddPromoCode {
|
|
20949
21393
|
"""The checkout with the added gift card or voucher."""
|
|
@@ -22368,3 +22812,8 @@ scalar federation__Scope
|
|
|
22368
22812
|
|
|
22369
22813
|
"""This string-serialized scalar represents an authorization policy."""
|
|
22370
22814
|
scalar federation__Policy
|
|
22815
|
+
|
|
22816
|
+
"""
|
|
22817
|
+
Contains the name of a defined context and a selection of a field from the context's type
|
|
22818
|
+
"""
|
|
22819
|
+
scalar federation__ContextFieldValue
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nautical-commerce/graphql-schema",
|
|
3
|
-
"version": "v2.
|
|
3
|
+
"version": "v2.19.0",
|
|
4
4
|
"description": "Traide API GraphQL Schema",
|
|
5
5
|
"main": "./nautical/schema.graphql",
|
|
6
6
|
"scripts": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"homepage": "https://nauticalcommerce.com",
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@graphql-inspector/cli": "^
|
|
24
|
+
"@graphql-inspector/cli": "^6.0.3",
|
|
25
25
|
"graphql": "^16.9.0"
|
|
26
26
|
}
|
|
27
27
|
}
|