Response Structure
When a job completes, the API POSTs an array of EReceipt objects to your configured results_endpoint. Each object represents a single parsed receipt email.
Top-Level Response Envelope
Every API response (except the results webhook payload) follows this envelope:
| Field | Type | Description |
|---|---|---|
success | boolean | true if the request succeeded |
error | object | Present when success is false |
error.code | integer | Numeric error code |
error.message | string | Human-readable error description |
error.missing_ids | string | Comma-separated missing receipt IDs (error 114 only) |
EReceipt Object
The results webhook receives a JSON array where each element is an EReceipt object.
Identity Fields
| Field | Type | Description | Example |
|---|---|---|---|
blinkReceiptId | string | Unique identifier assigned by BlinkReceipt | "BR-XXXX-YYYY" |
ereceiptEmailId | string | Message ID from the email provider | "<msg-id@mail.gmail.com>" |
origBlinkReceiptId | string | Original receipt ID, populated when this is a reprocessed receipt | "BR-ORIG-ZZZZ" |
Email Metadata
| Field | Type | Description | Example |
|---|---|---|---|
emailTimestamp | string | When the email was received (format: yyyy-MM-dd HH:mm) | "2024-08-01 09:55" |
ereceiptEmailProvider | string | Email provider used by the end user | "gmail" |
ereceiptMerchantEmail | string | Sender address of the retailer email | "auto-confirm@amazon.com" |
ereceiptEmailSubject | string | Subject line of the email | "Your Amazon.com order" |
Receipt Dates and Times
These fields use confidence objects — see the Confidence Object section below.
| Field | Type | Description | Example |
|---|---|---|---|
receiptDate | confidence object | Purchase date (format: MM/dd/yyyy) | { "value": "08/01/2024", "confidence": 95 } |
receiptTime | confidence object | Purchase time (format: HH:mm) | { "value": "09:55", "confidence": 80 } |
Merchant Information
| Field | Type | Description | Example |
|---|---|---|---|
bannerId | integer | Internal merchant identifier | 1042 |
merchantName | confidence object | Store or brand name | { "value": "Amazon", "confidence": 99 } |
clientMerchantName | confidence object | Client-configured merchant name override | { "value": "Amazon US", "confidence": 99 } |
ereceiptFulfilledBy | string | Fulfillment service name (e.g., third-party seller) | "Fulfilled by Amazon" |
ereceiptSubMerchant | string | Sub-merchant name within a marketplace | "TechSeller LLC" |
ereceiptPOSSystem | string | Point-of-sale system identifier | "shopify" |
Order Information
| Field | Type | Description | Example |
|---|---|---|---|
ereceiptOrderNumber | string or number | Order or confirmation number | "113-1234567-8901234" |
ereceiptOrderStatus | string | Status of the order | "completed" |
ereceiptPurchaseType | string | Fulfillment method | "Delivery" |
Financial Totals
| Field | Type | Description | Example |
|---|---|---|---|
total | confidence object | Grand total charged | { "value": 59.99, "confidence": 95 } |
subtotal | confidence object | Subtotal before tax and shipping | { "value": 54.99, "confidence": 90 } |
taxes | confidence object | Tax amount | { "value": 4.40, "confidence": 88 } |
ereceiptShippingCosts | confidence object | Shipping and handling charges | { "value": 0.00, "confidence": 92 } |
currencyCode | string | ISO 4217 currency code | "USD" |
Parsing and Verification
| Field | Type | Description | Example |
|---|---|---|---|
parsingMethod | string | How the email was parsed: "template" or "generic" | "template" |
isEReceipt | boolean | Whether the email was identified as a purchase receipt | true |
ereceiptAuthenticated | boolean | Whether the email passed DKIM/SPF verification | true |
Raw Content
| Field | Type | Description |
|---|---|---|
ereceiptRawHTML | string | Parsed HTML content extracted from the email |
ereceiptRawEML | string | Full raw EML content; only populated when return_eml: true is set in config |
Aggregation
| Field | Type | Description |
|---|---|---|
ereceiptComponentEmails | array of strings | List of blinkReceiptId values that were merged into this aggregated receipt |
Application Metadata
| Field | Type | Description |
|---|---|---|
appVersion | string | Version of the BlinkReceipt parsing application that processed this receipt |
Products Array
Each EReceipt object contains a products array of EReceiptProduct objects.
EReceiptProduct Fields
| Field | Type | Description | Example |
|---|---|---|---|
productName | string | Full display name of the product | "Logitech MX Master 3 Wireless Mouse" |
brand | string | Product brand | "Logitech" |
category | string | Taxonomy path for the product | "Electronics > Computer Accessories" |
size | string | Size or variant descriptor | "Large" |
upc | string | Universal Product Code | "097855149138" |
imgUrl | string | URL of the product thumbnail image | "https://images.example.com/product.jpg" |
productNumber | confidence object | Retailer's SKU or item number | { "value": "B07S395RWD", "confidence": 90 } |
productDescription | confidence object | Short product description | { "value": "Wireless Mouse", "confidence": 85 } |
quantity | confidence object | Number of units purchased | { "value": 1, "confidence": 99 } |
unitPrice | confidence object | Price per unit | { "value": 59.99, "confidence": 95 } |
totalPrice | confidence object | Total price for this line item | { "value": 59.99, "confidence": 95 } |
uom | confidence object | Unit of measure | { "value": "each", "confidence": 80 } |
shippingStatus | string | Shipping status for this item | "shipped" |
subProducts | array | Nested products (e.g., bundle components) | — |
probability | number | Match confidence score (0–1) for possible product matches | 0.92 |
possibleProducts | array | Alternative product match candidates | — |
Confidence Object
Many fields are returned as confidence objects rather than plain values. This lets you assess the reliability of each extracted data point.
| Field | Type | Description |
|---|---|---|
value | string or number | The extracted value |
confidence | integer | Confidence score from 0 (lowest) to 100 (highest) |
Example:
{
"value": 59.99,
"confidence": 95
}
Annotated Example Receipt
{
"blinkReceiptId": "BR-XXXX-YYYY",
"ereceiptEmailId": "<msg-id@mail.gmail.com>",
"emailTimestamp": "2024-08-01 09:55",
"parsingMethod": "template",
"isEReceipt": true,
"ereceiptAuthenticated": true,
"ereceiptEmailProvider": "gmail",
"ereceiptMerchantEmail": "auto-confirm@amazon.com",
"ereceiptEmailSubject": "Your Amazon.com order of \"Wireless Mouse\" has shipped",
"bannerId": 1042,
"merchantName": {
"value": "Amazon",
"confidence": 99
},
"receiptDate": {
"value": "08/01/2024",
"confidence": 95
},
"receiptTime": {
"value": "09:55",
"confidence": 80
},
"ereceiptOrderNumber": "113-1234567-8901234",
"ereceiptOrderStatus": "completed",
"ereceiptPurchaseType": "Delivery",
"currencyCode": "USD",
"subtotal": {
"value": 54.99,
"confidence": 90
},
"taxes": {
"value": 4.40,
"confidence": 88
},
"ereceiptShippingCosts": {
"value": 0.00,
"confidence": 92
},
"total": {
"value": 59.39,
"confidence": 95
},
"products": [
{
"productName": "Logitech MX Master 3 Wireless Mouse",
"brand": "Logitech",
"category": "Electronics > Computer Accessories",
"upc": "097855149138",
"imgUrl": "https://images.example.com/product.jpg",
"productNumber": {
"value": "B07S395RWD",
"confidence": 90
},
"productDescription": {
"value": "Wireless Mouse, Darkfield, Ergonomic",
"confidence": 85
},
"quantity": {
"value": 1,
"confidence": 99
},
"unitPrice": {
"value": 54.99,
"confidence": 95
},
"totalPrice": {
"value": 54.99,
"confidence": 95
},
"shippingStatus": "shipped"
}
],
"appVersion": "1.0.0"
}
For guidance on errors returned in the top-level envelope, see error-handling.md.