ShopifyWebhookTransaction
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.
type ShopifyWebhookTransaction implements Node, Job {
id: ID!
status: JobStatusEnum!
message: String
createdAt: DateTime!
updatedAt: DateTime!
tenant: Tenant!
seller: Seller!
eventType: String
shopifyDomain: String
shopifyWebhookId: String
rawPayload: JSONString
mappedData: JSONString
unmappedFields: JSONString
fieldMappingVersion: String
processingMetadata: JSONString
validationErrors: JSONString
entitiesCreated: [String]
entitiesFailed: JSONString
isPartialSuccess: Boolean
marketplaceEntityLink: String
productId: Int
variantId: Int
warehouseId: Int
stockId: Int
}
Fields
ShopifyWebhookTransaction.id ● ID! non-null scalar
The ID of the object
ShopifyWebhookTransaction.status ● JobStatusEnum! non-null enum
Job status.
ShopifyWebhookTransaction.message ● String scalar
Job message.
ShopifyWebhookTransaction.createdAt ● DateTime! non-null scalar
Created date time of job in ISO 8601 format.
ShopifyWebhookTransaction.updatedAt ● DateTime! non-null scalar
Date time of job last update in ISO 8601 format.
ShopifyWebhookTransaction.tenant ● Tenant! non-null object
ShopifyWebhookTransaction.seller ● Seller! non-null object
Seller associated with this webhook
ShopifyWebhookTransaction.eventType ● String scalar
Shopify event type (e.g., 'products/create', 'inventory_levels/update')
ShopifyWebhookTransaction.shopifyDomain ● String scalar
Shop domain that sent the webhook (e.g., 'my-store.myshopify.com')
ShopifyWebhookTransaction.shopifyWebhookId ● String scalar
Shopify's webhook ID from X-Shopify-Webhook-Id header
ShopifyWebhookTransaction.rawPayload ● JSONString scalar
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.
ShopifyWebhookTransaction.mappedData ● JSONString scalar
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.
ShopifyWebhookTransaction.unmappedFields ● JSONString scalar
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.
ShopifyWebhookTransaction.fieldMappingVersion ● String scalar
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.
ShopifyWebhookTransaction.processingMetadata ● JSONString scalar
Shopify-specific processing context. Includes: API version, processing time, retry count, etc. Useful for performance analysis and debugging.
ShopifyWebhookTransaction.validationErrors ● JSONString scalar
Per-field validation errors with severity levels. Format: {field_name: {message, severity, value}}. Severity: 'warning' (non-critical), 'error' (needs fixing), 'critical' (blocks creation).
ShopifyWebhookTransaction.entitiesCreated ● [String] list scalar
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.
ShopifyWebhookTransaction.entitiesFailed ● JSONString scalar
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.
ShopifyWebhookTransaction.isPartialSuccess ● Boolean scalar
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.
ShopifyWebhookTransaction.marketplaceEntityLink ● String scalar
Link to primary created marketplace entity (e.g., '/products/123'). Use this to navigate directly to the created entity in the Dashboard.
ShopifyWebhookTransaction.productId ● Int scalar
Product ID if this webhook created/updated a product
ShopifyWebhookTransaction.variantId ● Int scalar
ProductVariant ID if this webhook created/updated a variant
ShopifyWebhookTransaction.warehouseId ● Int scalar
Warehouse ID if this webhook created/updated a warehouse (location)
ShopifyWebhookTransaction.stockId ● Int scalar
Stock ID if this webhook created/updated inventory levels
Interfaces
Node interface
An object with an ID