WebhookJob
Represents incoming webhook transaction with comprehensive data preservation. New ELT-based approach ensures no data loss and supports partial success states.
type WebhookJob implements Node, Job {
id: ID!
status: JobStatusEnum!
message: String
createdAt: DateTime!
updatedAt: DateTime!
tenant: Tenant!
body: JSONString
requestMeta: JSONString
source: String
type: GenericWebhookTransactionType
vendorEntityLink: String @deprecated
marketplaceEntityLink: String @deprecated
seller: Seller
rawPayload: JSONString
mappedData: JSONString
unmappedFields: JSONString
validationErrors: JSONString
fieldMappingVersion: String
processingMetadata: JSONString
entitiesCreated: [String]
entitiesFailed: JSONString
isPartialSuccess: Boolean
}
Fields
WebhookJob.id ● ID! non-null scalar
The ID of the object
WebhookJob.status ● JobStatusEnum! non-null enum
Job status.
WebhookJob.message ● String scalar
Job message.
WebhookJob.createdAt ● DateTime! non-null scalar
Created date time of job in ISO 8601 format.
WebhookJob.updatedAt ● DateTime! non-null scalar
Date time of job last update in ISO 8601 format.
WebhookJob.tenant ● Tenant! non-null object
WebhookJob.body ● JSONString scalar
Original webhook payload (legacy field)
WebhookJob.requestMeta ● JSONString scalar
Request headers and metadata
WebhookJob.source ● String scalar
Webhook source (e.g., 'shopify')
WebhookJob.type ● GenericWebhookTransactionType enum
Normalized event type
WebhookJob.vendorEntityLink ● String deprecated scalar
This will be removed on September 26, 2025
Link to vendor entity. DEPRECATED: No longer used.
WebhookJob.marketplaceEntityLink ● String deprecated scalar
This will be removed on September 26, 2025
Link to marketplace entity (e.g., /products/123). DEPRECATED: Use entities_created instead.
WebhookJob.seller ● Seller object
Seller associated with this webhook
WebhookJob.rawPayload ● JSONString scalar
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.
WebhookJob.mappedData ● JSONString scalar
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.
WebhookJob.unmappedFields ● JSONString scalar
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.
WebhookJob.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).
WebhookJob.fieldMappingVersion ● String scalar
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.
WebhookJob.processingMetadata ● JSONString scalar
Additional processing context. Includes: ingestion_method, start_time, end_time, entities_created_count, entities_failed_count. Useful for performance analysis and debugging.
WebhookJob.entitiesCreated ● [String] list scalar
List of successfully created entities. Format: ['product:123', 'variant:456', 'image:789']. Use this to track what was created from the webhook.
WebhookJob.entitiesFailed ● JSONString scalar
List of entities that failed creation with error details. Format: [{type, error, details}]. Review this to understand why some entities couldn't be created.
WebhookJob.isPartialSuccess ● Boolean scalar
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.
Interfaces
Node interface
An object with an ID
Job interface
Member Of
WebhookJobCountableEdge object