Skip to content

Receipt API Integration

Real-time monitoring of the Fujitsu Receipt API (Azure App Service) that processes invoicing for store purchases. Deployed on fujitsu-pt-gdc-dx-integration.com domain with separate dev and production environments.

Azure App Service
Receipt API DEV
dev-elior-stmicro-ba
Receipt API PROD
prd-elior-stmicro-ba
GET /hw
CF Worker cron-stats
Health Polling
*/15 * * * *
INSERT
Control Center
D1 Database
receipt_api_healthreceipt_api_requests
Operations Dashboard
Real-time Metrics (PROD only)
Receipt API PROD
MetricsService.Log()
POST /api/receipt-api/logs
D1 Database
Azure (DEV + PROD) → Cron Worker → D1 → Dashboard | PROD also sends real-time metrics via MetricsService.Log()
EnvironmentURLPurposePolled By
DEVdev-elior-stmicro-ba.fujitsu-pt-gdc-dx-integration.comDevelopment/testingCron Worker (every 15min)
PRODprd-elior-stmicro-ba.fujitsu-pt-gdc-dx-integration.comProduction (live store)Cron Worker (every 15min)
Cron Trigger
*/15 * * * *
Fetch GET /hw
Parse response
INSERT into
receipt_api_health
Dashboard
Shows status
User exits store
Receipt API
Processes receipt
MetricsService.Log()
POST
/api/receipt-api/logs
Stored in D1
Dashboard analytics

receipt_api_health

ColumnTypeDescription
idINTEGERPrimary key
onlineINTEGER1 = up, 0 = down
environmentTEXT”Development” or “Production”
build_versionTEXTAssembly version from /hw
response_time_msREALLatency in milliseconds
errorTEXTError message if offline
created_atDATETIMESnapshot timestamp

receipt_api_requests

ColumnTypeDescription
idINTEGERPrimary key
user_tokenTEXTUser identifier
cart_idTEXTZippin cart session ID
successINTEGER1 = success, 0 = failure
http_statusINTEGERHTTP response code
latency_total_msREALTotal processing time
latency_jes_msREALJES API call time only
error_typeTEXTjes_api_error, network_error, missing_sku, etc.
error_codeINTEGERJES error code (e.g., 60110)
error_messageTEXTDetailed error message
payload_items_countINTEGERNumber of items in cart
created_atDATETIMERequest timestamp

The Operations page displays real-time analytics for the Receipt API:

  • Health Status: Online/Offline badge for dev and prod environments
  • Success Rate: Percentage of successful receipts (last 24h)
  • Average Latency: Mean response time in milliseconds
  • Error Breakdown: Count by error type (JES API errors, network errors, missing SKUs, conversion errors)
  • Recent Failures: Table showing last 50 failed requests with cart ID, error type, and message
Error TypeDescriptionExample Scenario
jes_api_errorJES API returned an errorReceipt rejected by JES, validation fails
network_errorCannot reach JES APITimeout, DNS failure, connection refused
missing_skuProduct SKU not foundUnknown item scanned by Zippin system
conversion_errorData transformation failedInvalid price format, null reference exception
invalid_payloadRequest validation failedMissing required fields, malformed JSON
  • Health Checks: 15-minute interval prevents rate limiting while providing timely alerts
  • Real-time Push: Receipt API sends metrics immediately after processing for instant visibility
  • No Local Storage: Azure App Service remains stateless, all data stored in Control Center D1
  • Error Classification: Standardized error types enable trend analysis and root cause identification
  • Dual Environment: Separate dev/prod monitoring prevents test data from polluting production metrics