@nautical-commerce/graphql-schema 2.17.0 → 2.18.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 +606 -186
- package/package.json +1 -1
package/nautical/schema.graphql
CHANGED
|
@@ -178,7 +178,9 @@ type Query {
|
|
|
178
178
|
last: Int
|
|
179
179
|
): WebhookEventLogCountableConnection
|
|
180
180
|
|
|
181
|
-
"""
|
|
181
|
+
"""
|
|
182
|
+
List of webhook jobs (legacy system - use shopifyWebhookTransactions for Shopify)
|
|
183
|
+
"""
|
|
182
184
|
webhookJobs(
|
|
183
185
|
"""Filtering options for webhook jobs"""
|
|
184
186
|
filter: WebhookJobFilterInput
|
|
@@ -202,6 +204,32 @@ type Query {
|
|
|
202
204
|
last: Int
|
|
203
205
|
): WebhookJobCountableConnection
|
|
204
206
|
|
|
207
|
+
"""
|
|
208
|
+
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.
|
|
209
|
+
"""
|
|
210
|
+
shopifyWebhookTransactions(
|
|
211
|
+
"""Filtering options for Shopify webhook transactions"""
|
|
212
|
+
filter: ShopifyWebhookTransactionFilterInput
|
|
213
|
+
|
|
214
|
+
"""Sort Shopify webhook transactions"""
|
|
215
|
+
sortBy: ShopifyWebhookTransactionSortingInput
|
|
216
|
+
|
|
217
|
+
"""Seller global ID to filter by"""
|
|
218
|
+
sellerId: ID
|
|
219
|
+
|
|
220
|
+
"""Return the elements in the list that come before the specified cursor."""
|
|
221
|
+
before: String
|
|
222
|
+
|
|
223
|
+
"""Return the elements in the list that come after the specified cursor."""
|
|
224
|
+
after: String
|
|
225
|
+
|
|
226
|
+
"""Return the first n elements from the list."""
|
|
227
|
+
first: Int
|
|
228
|
+
|
|
229
|
+
"""Return the last n elements from the list."""
|
|
230
|
+
last: Int
|
|
231
|
+
): ShopifyWebhookTransactionCountableConnection
|
|
232
|
+
|
|
205
233
|
"""Look up a warehouse by ID."""
|
|
206
234
|
warehouse(
|
|
207
235
|
"""ID of an warehouse"""
|
|
@@ -1487,6 +1515,33 @@ type Query {
|
|
|
1487
1515
|
last: Int
|
|
1488
1516
|
): ExportFileCountableConnection
|
|
1489
1517
|
|
|
1518
|
+
"""Look up an import file by ID."""
|
|
1519
|
+
importFile(
|
|
1520
|
+
"""ID of the import file job."""
|
|
1521
|
+
id: ID!
|
|
1522
|
+
): ImportFile
|
|
1523
|
+
|
|
1524
|
+
"""List of import files."""
|
|
1525
|
+
importFiles(
|
|
1526
|
+
"""Filtering options for import files."""
|
|
1527
|
+
filter: ImportFileFilterInput
|
|
1528
|
+
|
|
1529
|
+
"""Sort import files."""
|
|
1530
|
+
sortBy: ImportFileSortingInput
|
|
1531
|
+
|
|
1532
|
+
"""Return the elements in the list that come before the specified cursor."""
|
|
1533
|
+
before: String
|
|
1534
|
+
|
|
1535
|
+
"""Return the elements in the list that come after the specified cursor."""
|
|
1536
|
+
after: String
|
|
1537
|
+
|
|
1538
|
+
"""Return the first n elements from the list."""
|
|
1539
|
+
first: Int
|
|
1540
|
+
|
|
1541
|
+
"""Return the last n elements from the list."""
|
|
1542
|
+
last: Int
|
|
1543
|
+
): ImportFileCountableConnection
|
|
1544
|
+
|
|
1490
1545
|
"""List of all tax rates available from tax gateway."""
|
|
1491
1546
|
taxTypes: [TaxType!]!
|
|
1492
1547
|
|
|
@@ -2652,6 +2707,21 @@ type ProductVariant implements Node & ObjectWithMetadata {
|
|
|
2652
2707
|
List of warnings for this product variant that needs to be resolved for publishing.
|
|
2653
2708
|
"""
|
|
2654
2709
|
warnings: [WarningMessageItem!]!
|
|
2710
|
+
|
|
2711
|
+
"""Webhook events related to this variant"""
|
|
2712
|
+
webhookHistory(
|
|
2713
|
+
"""Return the elements in the list that come before the specified cursor."""
|
|
2714
|
+
before: String
|
|
2715
|
+
|
|
2716
|
+
"""Return the elements in the list that come after the specified cursor."""
|
|
2717
|
+
after: String
|
|
2718
|
+
|
|
2719
|
+
"""Return the first n elements from the list."""
|
|
2720
|
+
first: Int
|
|
2721
|
+
|
|
2722
|
+
"""Return the last n elements from the list."""
|
|
2723
|
+
last: Int
|
|
2724
|
+
): WebhookJobCountableConnection
|
|
2655
2725
|
}
|
|
2656
2726
|
|
|
2657
2727
|
"""An enumeration."""
|
|
@@ -2838,6 +2908,21 @@ type Product implements Node & ObjectWithMetadata {
|
|
|
2838
2908
|
|
|
2839
2909
|
"""Displays whether the product has warnings or not."""
|
|
2840
2910
|
hasWarnings: Boolean
|
|
2911
|
+
|
|
2912
|
+
"""Webhook events related to this product"""
|
|
2913
|
+
webhookHistory(
|
|
2914
|
+
"""Return the elements in the list that come before the specified cursor."""
|
|
2915
|
+
before: String
|
|
2916
|
+
|
|
2917
|
+
"""Return the elements in the list that come after the specified cursor."""
|
|
2918
|
+
after: String
|
|
2919
|
+
|
|
2920
|
+
"""Return the first n elements from the list."""
|
|
2921
|
+
first: Int
|
|
2922
|
+
|
|
2923
|
+
"""Return the last n elements from the list."""
|
|
2924
|
+
last: Int
|
|
2925
|
+
): WebhookJobCountableConnection
|
|
2841
2926
|
}
|
|
2842
2927
|
|
|
2843
2928
|
"""
|
|
@@ -4836,6 +4921,9 @@ enum ProductSubStatusEnum {
|
|
|
4836
4921
|
|
|
4837
4922
|
"""Approved"""
|
|
4838
4923
|
APPROVED
|
|
4924
|
+
|
|
4925
|
+
"""Incomplete data"""
|
|
4926
|
+
INCOMPLETE_DATA
|
|
4839
4927
|
}
|
|
4840
4928
|
|
|
4841
4929
|
input PriceRangeInput {
|
|
@@ -7097,6 +7185,9 @@ enum ProductSubStatus {
|
|
|
7097
7185
|
|
|
7098
7186
|
"""Approved"""
|
|
7099
7187
|
APPROVED
|
|
7188
|
+
|
|
7189
|
+
"""Incomplete data"""
|
|
7190
|
+
INCOMPLETE_DATA
|
|
7100
7191
|
}
|
|
7101
7192
|
|
|
7102
7193
|
"""An enumeration."""
|
|
@@ -7299,6 +7390,187 @@ enum ProductWarningEnum {
|
|
|
7299
7390
|
DEFAULT_VARIANT_REQUIRED
|
|
7300
7391
|
}
|
|
7301
7392
|
|
|
7393
|
+
type WebhookJobCountableConnection {
|
|
7394
|
+
"""Pagination data for this connection."""
|
|
7395
|
+
pageInfo: PageInfo!
|
|
7396
|
+
edges: [WebhookJobCountableEdge!]!
|
|
7397
|
+
|
|
7398
|
+
"""A total count of items in the collection."""
|
|
7399
|
+
totalCount: Int
|
|
7400
|
+
}
|
|
7401
|
+
|
|
7402
|
+
type WebhookJobCountableEdge {
|
|
7403
|
+
"""The item at the end of the edge."""
|
|
7404
|
+
node: WebhookJob!
|
|
7405
|
+
|
|
7406
|
+
"""A cursor for use in pagination."""
|
|
7407
|
+
cursor: String!
|
|
7408
|
+
}
|
|
7409
|
+
|
|
7410
|
+
"""
|
|
7411
|
+
Represents incoming webhook transaction with comprehensive data preservation. New ELT-based approach ensures no data loss and supports partial success states.
|
|
7412
|
+
"""
|
|
7413
|
+
type WebhookJob implements Node & Job {
|
|
7414
|
+
"""The ID of the object"""
|
|
7415
|
+
id: ID!
|
|
7416
|
+
|
|
7417
|
+
"""Job status."""
|
|
7418
|
+
status: JobStatusEnum!
|
|
7419
|
+
|
|
7420
|
+
"""Job message."""
|
|
7421
|
+
message: String
|
|
7422
|
+
|
|
7423
|
+
"""Created date time of job in ISO 8601 format."""
|
|
7424
|
+
createdAt: DateTime!
|
|
7425
|
+
|
|
7426
|
+
"""Date time of job last update in ISO 8601 format."""
|
|
7427
|
+
updatedAt: DateTime!
|
|
7428
|
+
tenant: Tenant!
|
|
7429
|
+
|
|
7430
|
+
"""Original webhook payload (legacy field)"""
|
|
7431
|
+
body: JSONString
|
|
7432
|
+
|
|
7433
|
+
"""Request headers and metadata"""
|
|
7434
|
+
requestMeta: JSONString
|
|
7435
|
+
|
|
7436
|
+
"""Webhook source (e.g., 'shopify')"""
|
|
7437
|
+
source: String
|
|
7438
|
+
|
|
7439
|
+
"""Normalized event type"""
|
|
7440
|
+
type: GenericWebhookTransactionType
|
|
7441
|
+
|
|
7442
|
+
"""Link to vendor entity. DEPRECATED: No longer used."""
|
|
7443
|
+
vendorEntityLink: String @deprecated(reason: "This will be removed on September 26, 2025")
|
|
7444
|
+
|
|
7445
|
+
"""
|
|
7446
|
+
Link to marketplace entity (e.g., /products/123). DEPRECATED: Use entities_created instead.
|
|
7447
|
+
"""
|
|
7448
|
+
marketplaceEntityLink: String @deprecated(reason: "This will be removed on September 26, 2025")
|
|
7449
|
+
|
|
7450
|
+
"""Seller associated with this webhook"""
|
|
7451
|
+
seller: Seller
|
|
7452
|
+
|
|
7453
|
+
"""
|
|
7454
|
+
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.
|
|
7455
|
+
"""
|
|
7456
|
+
rawPayload: JSONString
|
|
7457
|
+
|
|
7458
|
+
"""
|
|
7459
|
+
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.
|
|
7460
|
+
"""
|
|
7461
|
+
mappedData: JSONString
|
|
7462
|
+
|
|
7463
|
+
"""
|
|
7464
|
+
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.
|
|
7465
|
+
"""
|
|
7466
|
+
unmappedFields: JSONString
|
|
7467
|
+
|
|
7468
|
+
"""
|
|
7469
|
+
Per-field validation errors with severity levels. Format: {field_name: {message, severity, value}}. Severity: 'warning' (non-critical), 'error' (needs fixing), 'critical' (blocks creation).
|
|
7470
|
+
"""
|
|
7471
|
+
validationErrors: JSONString
|
|
7472
|
+
|
|
7473
|
+
"""
|
|
7474
|
+
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.
|
|
7475
|
+
"""
|
|
7476
|
+
fieldMappingVersion: String
|
|
7477
|
+
|
|
7478
|
+
"""
|
|
7479
|
+
Additional processing context. Includes: ingestion_method, start_time, end_time, entities_created_count, entities_failed_count. Useful for performance analysis and debugging.
|
|
7480
|
+
"""
|
|
7481
|
+
processingMetadata: JSONString
|
|
7482
|
+
|
|
7483
|
+
"""
|
|
7484
|
+
List of successfully created entities. Format: ['product:123', 'variant:456', 'image:789']. Use this to track what was created from the webhook.
|
|
7485
|
+
"""
|
|
7486
|
+
entitiesCreated: [String]
|
|
7487
|
+
|
|
7488
|
+
"""
|
|
7489
|
+
List of entities that failed creation with error details. Format: [{type, error, details}]. Review this to understand why some entities couldn't be created.
|
|
7490
|
+
"""
|
|
7491
|
+
entitiesFailed: JSONString
|
|
7492
|
+
|
|
7493
|
+
"""
|
|
7494
|
+
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.
|
|
7495
|
+
"""
|
|
7496
|
+
isPartialSuccess: Boolean
|
|
7497
|
+
}
|
|
7498
|
+
|
|
7499
|
+
"""An enumeration."""
|
|
7500
|
+
enum GenericWebhookTransactionType {
|
|
7501
|
+
"""A payload for order update was received"""
|
|
7502
|
+
ORDER_UPDATE
|
|
7503
|
+
|
|
7504
|
+
"""A payload for order cancel was received"""
|
|
7505
|
+
ORDER_CANCEL
|
|
7506
|
+
|
|
7507
|
+
"""A payload for product create was received."""
|
|
7508
|
+
PRODUCT_CREATE
|
|
7509
|
+
|
|
7510
|
+
"""A payload for product update was received."""
|
|
7511
|
+
PRODUCT_UPDATE
|
|
7512
|
+
|
|
7513
|
+
"""A payload for product delete was received."""
|
|
7514
|
+
PRODUCT_DELETE
|
|
7515
|
+
|
|
7516
|
+
"""A payload for product inventory tracking update was received."""
|
|
7517
|
+
INVENTORY_TRACKING_UPDATE
|
|
7518
|
+
|
|
7519
|
+
"""A payload for stock create was received."""
|
|
7520
|
+
STOCK_CREATE
|
|
7521
|
+
|
|
7522
|
+
"""A payload for stock update was received."""
|
|
7523
|
+
STOCK_UPDATE
|
|
7524
|
+
|
|
7525
|
+
"""A payload for stock delete was received."""
|
|
7526
|
+
STOCK_DELETE
|
|
7527
|
+
|
|
7528
|
+
"""A payload for warehouse create was received."""
|
|
7529
|
+
WAREHOUSE_CREATE
|
|
7530
|
+
|
|
7531
|
+
"""A payload for warehouse update was received."""
|
|
7532
|
+
WAREHOUSE_UPDATE
|
|
7533
|
+
|
|
7534
|
+
"""A payload for warehouse delete was received."""
|
|
7535
|
+
WAREHOUSE_DELETE
|
|
7536
|
+
|
|
7537
|
+
"""A payload for fulfillment create was received."""
|
|
7538
|
+
FULFILLMENT_CREATE
|
|
7539
|
+
|
|
7540
|
+
"""A payload for fulfillment update was received."""
|
|
7541
|
+
FULFILLMENT_UPDATE
|
|
7542
|
+
|
|
7543
|
+
"""A paylod for customer create was received"""
|
|
7544
|
+
CUSTOMER_CREATE
|
|
7545
|
+
|
|
7546
|
+
"""A payload for seller create was received"""
|
|
7547
|
+
SELLER_CREATE
|
|
7548
|
+
|
|
7549
|
+
"""Shopify store successfully connected"""
|
|
7550
|
+
SHOPIFY_CONNECTION_ESTABLISHED
|
|
7551
|
+
|
|
7552
|
+
"""Shopify store connection updated"""
|
|
7553
|
+
SHOPIFY_CONNECTION_UPDATED
|
|
7554
|
+
|
|
7555
|
+
"""Shopify store connection failed"""
|
|
7556
|
+
SHOPIFY_CONNECTION_FAILED
|
|
7557
|
+
|
|
7558
|
+
"""Shopify product import started"""
|
|
7559
|
+
SHOPIFY_IMPORT_STARTED
|
|
7560
|
+
|
|
7561
|
+
"""Shopify product import completed"""
|
|
7562
|
+
SHOPIFY_IMPORT_COMPLETED
|
|
7563
|
+
|
|
7564
|
+
"""Shopify product import failed"""
|
|
7565
|
+
SHOPIFY_IMPORT_FAILED
|
|
7566
|
+
|
|
7567
|
+
"""A payload for vehicles was received"""
|
|
7568
|
+
VEHICLE_PAYLOAD
|
|
7569
|
+
|
|
7570
|
+
"""A payload for item shipment that was received"""
|
|
7571
|
+
ITEM_SHIP_NOTIFY
|
|
7572
|
+
}
|
|
7573
|
+
|
|
7302
7574
|
"""Represents availability of a variant in the storefront."""
|
|
7303
7575
|
type VariantPricingInfo {
|
|
7304
7576
|
"""Whether it is in sale or not."""
|
|
@@ -8197,51 +8469,34 @@ enum WebhookDirectionEnum {
|
|
|
8197
8469
|
EMITTED
|
|
8198
8470
|
}
|
|
8199
8471
|
|
|
8200
|
-
|
|
8201
|
-
|
|
8202
|
-
|
|
8203
|
-
|
|
8204
|
-
|
|
8205
|
-
|
|
8206
|
-
|
|
8472
|
+
input WebhookJobFilterInput {
|
|
8473
|
+
status: [WebhookJobStatus!]
|
|
8474
|
+
search: String
|
|
8475
|
+
source: [WebhookJobSource!]
|
|
8476
|
+
type: [WebhookJobType!] @deprecated(reason: "This will be removed on September 3, 2025. Use webhook_event_type instead")
|
|
8477
|
+
createdAt: DateTime
|
|
8478
|
+
created: DateRangeInput
|
|
8479
|
+
webhookEventType: [GenericWebhookEventsEnum!]
|
|
8207
8480
|
}
|
|
8208
8481
|
|
|
8209
|
-
|
|
8210
|
-
|
|
8211
|
-
|
|
8212
|
-
|
|
8213
|
-
|
|
8214
|
-
cursor: String!
|
|
8482
|
+
enum WebhookJobStatus {
|
|
8483
|
+
SUCCESS
|
|
8484
|
+
FAILED
|
|
8485
|
+
PENDING
|
|
8486
|
+
DELETED
|
|
8215
8487
|
}
|
|
8216
8488
|
|
|
8217
|
-
|
|
8218
|
-
|
|
8219
|
-
|
|
8220
|
-
|
|
8221
|
-
|
|
8222
|
-
"""Job status."""
|
|
8223
|
-
status: JobStatusEnum!
|
|
8224
|
-
|
|
8225
|
-
"""Job message."""
|
|
8226
|
-
message: String
|
|
8227
|
-
|
|
8228
|
-
"""Created date time of job in ISO 8601 format."""
|
|
8229
|
-
createdAt: DateTime!
|
|
8489
|
+
enum WebhookJobSource {
|
|
8490
|
+
DEFAULT
|
|
8491
|
+
SHOPIFY
|
|
8492
|
+
}
|
|
8230
8493
|
|
|
8231
|
-
|
|
8232
|
-
|
|
8233
|
-
|
|
8234
|
-
body: JSONString
|
|
8235
|
-
requestMeta: JSONString
|
|
8236
|
-
source: String
|
|
8237
|
-
type: GenericWebhookTransactionType
|
|
8238
|
-
vendorEntityLink: String @deprecated(reason: "This will be removed on September 26, 2025")
|
|
8239
|
-
marketplaceEntityLink: String @deprecated(reason: "This will be removed on September 26, 2025")
|
|
8240
|
-
seller: Seller
|
|
8494
|
+
enum WebhookJobType {
|
|
8495
|
+
ORDER_CREATE
|
|
8496
|
+
ORDER_UPDATE
|
|
8241
8497
|
}
|
|
8242
8498
|
|
|
8243
|
-
|
|
8244
|
-
enum GenericWebhookTransactionType {
|
|
8499
|
+
enum GenericWebhookEventsEnum {
|
|
8245
8500
|
"""A payload for order update was received"""
|
|
8246
8501
|
ORDER_UPDATE
|
|
8247
8502
|
|
|
@@ -8309,133 +8564,190 @@ enum GenericWebhookTransactionType {
|
|
|
8309
8564
|
SHOPIFY_IMPORT_FAILED
|
|
8310
8565
|
|
|
8311
8566
|
"""A payload for vehicles was received"""
|
|
8312
|
-
VEHICLE_PAYLOAD
|
|
8567
|
+
VEHICLE_PAYLOAD @deprecated(reason: "This will be removed on September 26, 2025")
|
|
8313
8568
|
|
|
8314
8569
|
"""A payload for item shipment that was received"""
|
|
8315
8570
|
ITEM_SHIP_NOTIFY
|
|
8316
8571
|
}
|
|
8317
8572
|
|
|
8318
|
-
input
|
|
8319
|
-
|
|
8320
|
-
|
|
8321
|
-
source: [WebhookJobSource!]
|
|
8322
|
-
type: [WebhookJobType!] @deprecated(reason: "This will be removed on September 3, 2025. Use webhook_event_type instead")
|
|
8323
|
-
createdAt: DateTime
|
|
8324
|
-
created: DateRangeInput
|
|
8325
|
-
webhookEventType: [GenericWebhookEventsEnum!]
|
|
8326
|
-
}
|
|
8573
|
+
input WebhookJobSortingInput {
|
|
8574
|
+
"""Specifies the direction in which to sort products."""
|
|
8575
|
+
direction: OrderDirection!
|
|
8327
8576
|
|
|
8328
|
-
|
|
8329
|
-
|
|
8330
|
-
FAILED
|
|
8331
|
-
PENDING
|
|
8332
|
-
DELETED
|
|
8577
|
+
"""Sort webhook_jobs by the selected field."""
|
|
8578
|
+
field: WebhookJobSortField!
|
|
8333
8579
|
}
|
|
8334
8580
|
|
|
8335
|
-
enum
|
|
8336
|
-
|
|
8337
|
-
|
|
8338
|
-
}
|
|
8581
|
+
enum WebhookJobSortField {
|
|
8582
|
+
"""Sort webhook jobs by source."""
|
|
8583
|
+
SOURCE
|
|
8339
8584
|
|
|
8340
|
-
|
|
8341
|
-
|
|
8342
|
-
|
|
8585
|
+
"""Sort webhook jobs by type."""
|
|
8586
|
+
TYPE
|
|
8587
|
+
|
|
8588
|
+
"""Sort webhook jobs by status."""
|
|
8589
|
+
STATUS
|
|
8590
|
+
|
|
8591
|
+
"""Sort webhook jobs by created at."""
|
|
8592
|
+
CREATED_AT
|
|
8343
8593
|
}
|
|
8344
8594
|
|
|
8345
|
-
|
|
8346
|
-
"""
|
|
8347
|
-
|
|
8595
|
+
type ShopifyWebhookTransactionCountableConnection {
|
|
8596
|
+
"""Pagination data for this connection."""
|
|
8597
|
+
pageInfo: PageInfo!
|
|
8598
|
+
edges: [ShopifyWebhookTransactionCountableEdge!]!
|
|
8348
8599
|
|
|
8349
|
-
"""A
|
|
8350
|
-
|
|
8600
|
+
"""A total count of items in the collection."""
|
|
8601
|
+
totalCount: Int
|
|
8602
|
+
}
|
|
8351
8603
|
|
|
8352
|
-
|
|
8353
|
-
|
|
8604
|
+
type ShopifyWebhookTransactionCountableEdge {
|
|
8605
|
+
"""The item at the end of the edge."""
|
|
8606
|
+
node: ShopifyWebhookTransaction!
|
|
8354
8607
|
|
|
8355
|
-
"""A
|
|
8356
|
-
|
|
8608
|
+
"""A cursor for use in pagination."""
|
|
8609
|
+
cursor: String!
|
|
8610
|
+
}
|
|
8357
8611
|
|
|
8358
|
-
|
|
8359
|
-
|
|
8612
|
+
"""
|
|
8613
|
+
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.
|
|
8614
|
+
"""
|
|
8615
|
+
type ShopifyWebhookTransaction implements Node & Job {
|
|
8616
|
+
"""The ID of the object"""
|
|
8617
|
+
id: ID!
|
|
8360
8618
|
|
|
8361
|
-
"""
|
|
8362
|
-
|
|
8619
|
+
"""Job status."""
|
|
8620
|
+
status: JobStatusEnum!
|
|
8363
8621
|
|
|
8364
|
-
"""
|
|
8365
|
-
|
|
8622
|
+
"""Job message."""
|
|
8623
|
+
message: String
|
|
8366
8624
|
|
|
8367
|
-
"""
|
|
8368
|
-
|
|
8625
|
+
"""Created date time of job in ISO 8601 format."""
|
|
8626
|
+
createdAt: DateTime!
|
|
8369
8627
|
|
|
8370
|
-
"""
|
|
8371
|
-
|
|
8628
|
+
"""Date time of job last update in ISO 8601 format."""
|
|
8629
|
+
updatedAt: DateTime!
|
|
8630
|
+
tenant: Tenant!
|
|
8372
8631
|
|
|
8373
|
-
"""
|
|
8374
|
-
|
|
8632
|
+
"""Seller associated with this webhook"""
|
|
8633
|
+
seller: Seller!
|
|
8375
8634
|
|
|
8376
|
-
"""
|
|
8377
|
-
|
|
8635
|
+
"""
|
|
8636
|
+
Shopify event type (e.g., 'products/create', 'inventory_levels/update')
|
|
8637
|
+
"""
|
|
8638
|
+
eventType: String
|
|
8378
8639
|
|
|
8379
|
-
"""
|
|
8380
|
-
|
|
8640
|
+
"""Shop domain that sent the webhook (e.g., 'my-store.myshopify.com')"""
|
|
8641
|
+
shopifyDomain: String
|
|
8381
8642
|
|
|
8382
|
-
"""
|
|
8383
|
-
|
|
8643
|
+
"""Shopify's webhook ID from X-Shopify-Webhook-Id header"""
|
|
8644
|
+
shopifyWebhookId: String
|
|
8384
8645
|
|
|
8385
|
-
"""
|
|
8386
|
-
|
|
8646
|
+
"""
|
|
8647
|
+
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.
|
|
8648
|
+
"""
|
|
8649
|
+
rawPayload: JSONString
|
|
8387
8650
|
|
|
8388
|
-
"""
|
|
8389
|
-
|
|
8651
|
+
"""
|
|
8652
|
+
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.
|
|
8653
|
+
"""
|
|
8654
|
+
mappedData: JSONString
|
|
8390
8655
|
|
|
8391
|
-
"""
|
|
8392
|
-
|
|
8656
|
+
"""
|
|
8657
|
+
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.
|
|
8658
|
+
"""
|
|
8659
|
+
unmappedFields: JSONString
|
|
8393
8660
|
|
|
8394
|
-
"""
|
|
8395
|
-
|
|
8661
|
+
"""
|
|
8662
|
+
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.
|
|
8663
|
+
"""
|
|
8664
|
+
fieldMappingVersion: String
|
|
8396
8665
|
|
|
8397
|
-
"""
|
|
8398
|
-
|
|
8666
|
+
"""
|
|
8667
|
+
Shopify-specific processing context. Includes: API version, processing time, retry count, etc. Useful for performance analysis and debugging.
|
|
8668
|
+
"""
|
|
8669
|
+
processingMetadata: JSONString
|
|
8399
8670
|
|
|
8400
|
-
"""
|
|
8401
|
-
|
|
8671
|
+
"""
|
|
8672
|
+
Per-field validation errors with severity levels. Format: {field_name: {message, severity, value}}. Severity: 'warning' (non-critical), 'error' (needs fixing), 'critical' (blocks creation).
|
|
8673
|
+
"""
|
|
8674
|
+
validationErrors: JSONString
|
|
8402
8675
|
|
|
8403
|
-
"""
|
|
8404
|
-
|
|
8676
|
+
"""
|
|
8677
|
+
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.
|
|
8678
|
+
"""
|
|
8679
|
+
entitiesCreated: [String]
|
|
8405
8680
|
|
|
8406
|
-
"""
|
|
8407
|
-
|
|
8681
|
+
"""
|
|
8682
|
+
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.
|
|
8683
|
+
"""
|
|
8684
|
+
entitiesFailed: JSONString
|
|
8408
8685
|
|
|
8409
|
-
"""
|
|
8410
|
-
|
|
8686
|
+
"""
|
|
8687
|
+
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.
|
|
8688
|
+
"""
|
|
8689
|
+
isPartialSuccess: Boolean
|
|
8411
8690
|
|
|
8412
|
-
"""
|
|
8413
|
-
|
|
8691
|
+
"""
|
|
8692
|
+
Link to primary created marketplace entity (e.g., '/products/123'). Use this to navigate directly to the created entity in the Dashboard.
|
|
8693
|
+
"""
|
|
8694
|
+
marketplaceEntityLink: String
|
|
8695
|
+
}
|
|
8414
8696
|
|
|
8415
|
-
|
|
8416
|
-
|
|
8697
|
+
input ShopifyWebhookTransactionFilterInput {
|
|
8698
|
+
status: [WebhookJobStatus!]
|
|
8699
|
+
eventType: [ShopifyEventType!]
|
|
8700
|
+
shopifyDomain: String
|
|
8701
|
+
isPartialSuccess: Boolean
|
|
8702
|
+
createdAt: DateTime
|
|
8703
|
+
search: String
|
|
8704
|
+
created: DateRangeInput
|
|
8417
8705
|
}
|
|
8418
8706
|
|
|
8419
|
-
|
|
8707
|
+
"""Shopify webhook event types (new plugin-based architecture)."""
|
|
8708
|
+
enum ShopifyEventType {
|
|
8709
|
+
PRODUCTS_CREATE
|
|
8710
|
+
PRODUCTS_UPDATE
|
|
8711
|
+
PRODUCTS_DELETE
|
|
8712
|
+
INVENTORY_LEVELS_UPDATE
|
|
8713
|
+
INVENTORY_LEVELS_CONNECT
|
|
8714
|
+
INVENTORY_LEVELS_DISCONNECT
|
|
8715
|
+
LOCATIONS_CREATE
|
|
8716
|
+
LOCATIONS_UPDATE
|
|
8717
|
+
LOCATIONS_DELETE
|
|
8718
|
+
ORDERS_CANCELLED
|
|
8719
|
+
FULFILLMENTS_CREATE
|
|
8720
|
+
FULFILLMENTS_UPDATE
|
|
8721
|
+
}
|
|
8722
|
+
|
|
8723
|
+
"""Sorting options for Shopify webhook transactions."""
|
|
8724
|
+
input ShopifyWebhookTransactionSortingInput {
|
|
8420
8725
|
"""Specifies the direction in which to sort products."""
|
|
8421
8726
|
direction: OrderDirection!
|
|
8422
8727
|
|
|
8423
|
-
"""Sort
|
|
8424
|
-
field:
|
|
8728
|
+
"""Sort shopify_webhook_transactions by the selected field."""
|
|
8729
|
+
field: ShopifyWebhookTransactionSortField!
|
|
8425
8730
|
}
|
|
8426
8731
|
|
|
8427
|
-
|
|
8428
|
-
|
|
8429
|
-
|
|
8430
|
-
|
|
8431
|
-
"""Sort webhook jobs by type."""
|
|
8432
|
-
TYPE
|
|
8732
|
+
"""Sort fields for Shopify webhook transactions."""
|
|
8733
|
+
enum ShopifyWebhookTransactionSortField {
|
|
8734
|
+
"""Sort by Shopify event type (e.g., products/create)"""
|
|
8735
|
+
EVENT_TYPE
|
|
8433
8736
|
|
|
8434
|
-
"""Sort
|
|
8737
|
+
"""Sort by processing status (pending, processing, success, failed)"""
|
|
8435
8738
|
STATUS
|
|
8436
8739
|
|
|
8437
|
-
"""Sort webhook
|
|
8740
|
+
"""Sort by webhook received timestamp"""
|
|
8438
8741
|
CREATED_AT
|
|
8742
|
+
|
|
8743
|
+
"""Sort by last update timestamp"""
|
|
8744
|
+
UPDATED_AT
|
|
8745
|
+
|
|
8746
|
+
"""Sort by shop domain"""
|
|
8747
|
+
SHOPIFY_DOMAIN
|
|
8748
|
+
|
|
8749
|
+
"""Sort by partial success state"""
|
|
8750
|
+
IS_PARTIAL_SUCCESS
|
|
8439
8751
|
}
|
|
8440
8752
|
|
|
8441
8753
|
input WarehouseFilterInput {
|
|
@@ -11579,6 +11891,114 @@ enum ExportFileSortField {
|
|
|
11579
11891
|
UPDATED_AT
|
|
11580
11892
|
}
|
|
11581
11893
|
|
|
11894
|
+
"""Represents a job data of exported file."""
|
|
11895
|
+
type ImportFile implements Node & Job {
|
|
11896
|
+
"""The ID of the object"""
|
|
11897
|
+
id: ID!
|
|
11898
|
+
user: User
|
|
11899
|
+
app: App
|
|
11900
|
+
|
|
11901
|
+
"""Job status."""
|
|
11902
|
+
status: JobStatusEnum!
|
|
11903
|
+
|
|
11904
|
+
"""Created date time of job in ISO 8601 format."""
|
|
11905
|
+
createdAt: DateTime!
|
|
11906
|
+
|
|
11907
|
+
"""Date time of job last update in ISO 8601 format."""
|
|
11908
|
+
updatedAt: DateTime!
|
|
11909
|
+
|
|
11910
|
+
"""Job message."""
|
|
11911
|
+
message: String
|
|
11912
|
+
|
|
11913
|
+
"""The URL of file to download."""
|
|
11914
|
+
url: String
|
|
11915
|
+
|
|
11916
|
+
"""List of events associated with the import."""
|
|
11917
|
+
events: [ImportEvent!]
|
|
11918
|
+
}
|
|
11919
|
+
|
|
11920
|
+
"""History log of import file."""
|
|
11921
|
+
type ImportEvent implements Node {
|
|
11922
|
+
"""The ID of the object"""
|
|
11923
|
+
id: ID!
|
|
11924
|
+
|
|
11925
|
+
"""Date when event happened at in ISO 8601 format."""
|
|
11926
|
+
date: DateTime!
|
|
11927
|
+
|
|
11928
|
+
"""Import event type."""
|
|
11929
|
+
type: ImportEventsEnum!
|
|
11930
|
+
|
|
11931
|
+
"""User who performed the action."""
|
|
11932
|
+
user: User
|
|
11933
|
+
|
|
11934
|
+
"""App which performed the action."""
|
|
11935
|
+
app: App
|
|
11936
|
+
|
|
11937
|
+
"""Content of the event."""
|
|
11938
|
+
message: String!
|
|
11939
|
+
}
|
|
11940
|
+
|
|
11941
|
+
enum ImportEventsEnum {
|
|
11942
|
+
"""Data import was started."""
|
|
11943
|
+
IMPORT_PENDING
|
|
11944
|
+
|
|
11945
|
+
"""Data import was completed successfully."""
|
|
11946
|
+
IMPORT_SUCCESS
|
|
11947
|
+
|
|
11948
|
+
"""Import Failed"""
|
|
11949
|
+
IMPORT_FAILED
|
|
11950
|
+
|
|
11951
|
+
"""Data import failed."""
|
|
11952
|
+
IMPORT_DELETED
|
|
11953
|
+
|
|
11954
|
+
"""Import file was deleted."""
|
|
11955
|
+
IMPORTED_FILE_SENT
|
|
11956
|
+
}
|
|
11957
|
+
|
|
11958
|
+
type ImportFileCountableConnection {
|
|
11959
|
+
"""Pagination data for this connection."""
|
|
11960
|
+
pageInfo: PageInfo!
|
|
11961
|
+
edges: [ImportFileCountableEdge!]!
|
|
11962
|
+
|
|
11963
|
+
"""A total count of items in the collection."""
|
|
11964
|
+
totalCount: Int
|
|
11965
|
+
}
|
|
11966
|
+
|
|
11967
|
+
type ImportFileCountableEdge {
|
|
11968
|
+
"""The item at the end of the edge."""
|
|
11969
|
+
node: ImportFile!
|
|
11970
|
+
|
|
11971
|
+
"""A cursor for use in pagination."""
|
|
11972
|
+
cursor: String!
|
|
11973
|
+
}
|
|
11974
|
+
|
|
11975
|
+
input ImportFileFilterInput {
|
|
11976
|
+
createdAt: DateTimeRangeInput
|
|
11977
|
+
updatedAt: DateTimeRangeInput
|
|
11978
|
+
status: JobStatusEnum
|
|
11979
|
+
user: String
|
|
11980
|
+
app: String
|
|
11981
|
+
}
|
|
11982
|
+
|
|
11983
|
+
input ImportFileSortingInput {
|
|
11984
|
+
"""Specifies the direction in which to sort products."""
|
|
11985
|
+
direction: OrderDirection!
|
|
11986
|
+
|
|
11987
|
+
"""Sort import file by the selected field."""
|
|
11988
|
+
field: ImportFileSortField!
|
|
11989
|
+
}
|
|
11990
|
+
|
|
11991
|
+
enum ImportFileSortField {
|
|
11992
|
+
"""Sort import file by status."""
|
|
11993
|
+
STATUS
|
|
11994
|
+
|
|
11995
|
+
"""Sort import file by created at."""
|
|
11996
|
+
CREATED_AT
|
|
11997
|
+
|
|
11998
|
+
"""Sort import file by updated at."""
|
|
11999
|
+
UPDATED_AT
|
|
12000
|
+
}
|
|
12001
|
+
|
|
11582
12002
|
"""Event object for all models."""
|
|
11583
12003
|
type Event {
|
|
11584
12004
|
"""The unique identifier across all event tables."""
|
|
@@ -12084,7 +12504,7 @@ type Mutation {
|
|
|
12084
12504
|
description: String
|
|
12085
12505
|
|
|
12086
12506
|
"""
|
|
12087
|
-
Used when uploading a new document or file in a multipart request that does not exist in the system already. Supported file types: application/
|
|
12507
|
+
Used when uploading a new document or file in a multipart request that does not exist in the system already. Supported file types: application/tiff, application/x-rar, application/vnd.oasis.opendocument.text, application/x-jpg, image/x-ms-bmp, application/x-tif, image/webp, application/vnd.oasis.opendocument.spreadsheet, application/zip, image/jpg, application/eps, application/svg+xml, application/vnd.oasis.opendocument.presentation, text/svg, application/x-dxf, text/csv, application/vnd.pdf, image/tif, drawing/x-dwf, image/x-dxf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, image/vnd.dwg, image/tiff, application/vnd.ms-powerpoint, text/pdf, application/x-autocad, image/heic, application/x-csv, application/x-acad, text/x-csv, application/x-pdf, application/excel, image/heif-sequence, application/vnd.openxmlformats-officedocument.presentationml.presentation, image/svg+xml, image/x-eps, application/x-rar-compressed, application/acad, drawing/dwg, image/jpeg, application/dwg, application/acrobat, image/eps, application/x-gzip, application/x-dwg, application/postscript, image/dxf, application/vnd.ms-word, image/x-tiff, text/comma-separated-values, application/x-tiff, application/pdf, image/gif, application/x-tar, application/x-eps, application/dxf, drawing/x-dwg, application/x-zip-compressed, text/svg-xml, application/tif, image/png, application/gzip-compressed, application/gzip, application/csv, application/vnd.openxmlformats-officedocument.presentationml.slideshow, image/heif, text/rtf, text/x-pdf, application/rtf, application/jpg, pplication/vnd.rar, image/x-tif, image/x-dwg, application/vnd.ms-excel, image/heic-sequence, image/x-bmp, application/vnd.openxmlformats-officedocument.wordprocessingml.document, text/plain, application/msword, text/x-comma-separated-values, image/svg, image/bmp, application/gzipped, application/x-rtf.
|
|
12088
12508
|
"""
|
|
12089
12509
|
file: Upload!
|
|
12090
12510
|
|
|
@@ -14341,6 +14761,18 @@ type Mutation {
|
|
|
14341
14761
|
input: ExportProductsInput!
|
|
14342
14762
|
): ProductsExport
|
|
14343
14763
|
|
|
14764
|
+
"""Upload CSV file for product import and parse its structure."""
|
|
14765
|
+
createImportFile(
|
|
14766
|
+
"""CSV file to upload."""
|
|
14767
|
+
file: Upload!
|
|
14768
|
+
): CreateImportFile
|
|
14769
|
+
|
|
14770
|
+
"""Start processing CSV product import with field mappings."""
|
|
14771
|
+
startCsvImport(
|
|
14772
|
+
"""Input data for CSV import"""
|
|
14773
|
+
input: ImportProductsInput!
|
|
14774
|
+
): StartCSVImport
|
|
14775
|
+
|
|
14344
14776
|
"""Adds a gift card or a voucher to a checkout."""
|
|
14345
14777
|
checkoutAddPromoCode(
|
|
14346
14778
|
"""Checkout ID."""
|
|
@@ -20007,70 +20439,6 @@ type NauticalOrderLinesCsvUpload {
|
|
|
20007
20439
|
orderErrors: [OrderError!]!
|
|
20008
20440
|
}
|
|
20009
20441
|
|
|
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
20442
|
"""
|
|
20075
20443
|
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
20444
|
"""
|
|
@@ -20944,6 +21312,58 @@ enum FileTypesEnum {
|
|
|
20944
21312
|
XLSX
|
|
20945
21313
|
}
|
|
20946
21314
|
|
|
21315
|
+
"""Upload CSV file for product import and parse its structure."""
|
|
21316
|
+
type CreateImportFile {
|
|
21317
|
+
"""The newly created import file with parsed metadata."""
|
|
21318
|
+
importFile: ImportFile
|
|
21319
|
+
|
|
21320
|
+
"""Parsed CSV metadata (headers, row count, examples)."""
|
|
21321
|
+
metadata: CSVMetadata
|
|
21322
|
+
importErrors: [ExportError!]!
|
|
21323
|
+
}
|
|
21324
|
+
|
|
21325
|
+
"""CSV file metadata extracted during parsing."""
|
|
21326
|
+
type CSVMetadata {
|
|
21327
|
+
"""List of CSV column headers."""
|
|
21328
|
+
headers: [String!]!
|
|
21329
|
+
|
|
21330
|
+
"""Total number of rows in CSV (excluding header)."""
|
|
21331
|
+
rowCount: Int!
|
|
21332
|
+
|
|
21333
|
+
"""Sample values for each column (first 3 non-empty values)."""
|
|
21334
|
+
examples: JSONString!
|
|
21335
|
+
}
|
|
21336
|
+
|
|
21337
|
+
"""Start processing CSV product import with field mappings."""
|
|
21338
|
+
type StartCSVImport {
|
|
21339
|
+
"""The import file being processed."""
|
|
21340
|
+
importFile: ImportFile
|
|
21341
|
+
|
|
21342
|
+
"""Celery task ID for tracking import progress."""
|
|
21343
|
+
taskId: String
|
|
21344
|
+
importErrors: [ExportError!]!
|
|
21345
|
+
}
|
|
21346
|
+
|
|
21347
|
+
"""Input for starting CSV product import."""
|
|
21348
|
+
input ImportProductsInput {
|
|
21349
|
+
"""ID of the ImportFile to process."""
|
|
21350
|
+
importFileId: ID!
|
|
21351
|
+
|
|
21352
|
+
"""
|
|
21353
|
+
Mapping of CSV column headers to Nautical product fields. Example: {"Product Name": "name", "Price": "price", "SKU": "sku"}
|
|
21354
|
+
"""
|
|
21355
|
+
fieldMappings: JSONString!
|
|
21356
|
+
|
|
21357
|
+
"""Optional default ProductType ID for products without type specified."""
|
|
21358
|
+
defaultProductTypeId: ID
|
|
21359
|
+
|
|
21360
|
+
"""Optional default Category ID for products without category specified."""
|
|
21361
|
+
defaultCategoryId: ID
|
|
21362
|
+
|
|
21363
|
+
"""Number of rows to process per batch (default 100)."""
|
|
21364
|
+
batchSize: Int = 100
|
|
21365
|
+
}
|
|
21366
|
+
|
|
20947
21367
|
"""Adds a gift card or a voucher to a checkout."""
|
|
20948
21368
|
type CheckoutAddPromoCode {
|
|
20949
21369
|
"""The checkout with the added gift card or voucher."""
|