Skip to main content

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
}
Show more ↓

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

DEPRECATED

This will be removed on September 26, 2025

Link to vendor entity. DEPRECATED: No longer used.

WebhookJob.marketplaceEntityLink ● String deprecated scalar

DEPRECATED

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

Was this page helpful?