offtrade escalations - BevvyTech/BrewskiDocs GitHub Wiki
Support engineers follow this guide when breweries report missing or delayed marketplace collection notifications. The flow covers requests surfaced in the Admin UI (/orders/collection-requests) and the underlying /offtrade API.
-
Verify team context
- Confirm the brewery has a valid
offTradeContactEmailin Settings. Without it the API returnsOFFTRADE_CONTACT_EMAIL_MISSING. - Confirm the operator is viewing the correct team in the Admin UI; the list reflects the currently selected membership.
- Confirm the brewery has a valid
-
Inspect request metadata
- In the Admin UI, note the request
#ID, district, and message. - Cross-reference with the activity timeline (
marketingcategory) to ensure anofftrade.notificationorofftrade.notification.retryentry exists.
- In the Admin UI, note the request
-
Retry notification
- Owners/admins can click Resend in the Admin UI. The action calls
POST /offtrade/collection-requests/:id/retry, updatingnotifiedAt. - If the brewery lacks owner/admin access, support may invoke the API manually (see Manual API Calls).
- Owners/admins can click Resend in the Admin UI. The action calls
Use these when troubleshooting outside the Admin UI.
-
List requests
Review
GET /offtrade/collection-requests?teamId=<uuid>&status=pendingnotifiedAtandmessageto confirm context. -
Resend notification
Expected response:
POST /offtrade/collection-requests/{requestId}/retry { "teamId": "<uuid>" }{ "status": "resent", "notifiedAt": "<ISO timestamp>" }. -
Common API errors
-
OFFTRADE_CONTACT_EMAIL_MISSING: populate the contact email in Settings before retrying. -
OFFTRADE_REQUEST_NOT_FOUND: verify the request belongs to the provided team; the ID is numeric and team-specific.
-
- Repeated delivery failures: If retries consistently fail or the brewery still does not receive emails, file an incident for the marketplace engineering squad. Attach request IDs and response payloads.
-
Contact updates: When breweries request contact changes, direct them to Settings; support should not patch
offTradeContactEmaildirectly. -
Volume spikes / abuse: If rate limiting errors (
OFFTRADE_RATE_LIMITED) surface frequently from the same IP, notify DevOps to scale or introduce Redis-backed throttling.
- Ensure launch tenants have a valid
offTradeContactEmailseeded. For legacy teams, raise a support task to collect the preferred contact if the field is blank. - Encourage breweries to monitor the activity timeline; entries tagged
offtrade.notification.retryconfirm resend events without inspecting logs.