Task: Migrate eBay integration to current REST API + fix webhook endpoint #19
Open
opened 2026-06-29 08:36:08 +00:00 by rob
·
1 comment
Labels
Clear labels
Amazon SP-API
bug
Doing
eBay API
FBA Restock
FBA Restock
FBA Restock
fulfillment
Planning
Planning
Planning
Planning
Planning
prod
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
QA
shipstation
shipstation
No Label
eBay API
Milestone
No items
No Milestone
Projects
Clear projects
No project
eStack Sprint Board
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: rob/estack-laminas#19
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Priority: Critical — webhook deadline July 26, 2026 · API migration needed ASAP
Background
eStack's eBay integration is using a very old Traditional API (Auth'n'Auth / XML-based). eBay has been deprecating Traditional APIs in favour of their modern OAuth 2.0 REST API suite. The Finding API and Shopping API were decommissioned in February 2025. The current integration needs to be fully migrated to the REST API.
There are two workstreams here — the urgent webhook fix (30-day deadline) and the broader API migration. Both are covered below.
Part 1 — URGENT: Fix the account deletion/closure webhook endpoint
Deadline: ~July 26, 2026
eBay has flagged
https://cb.estack.com/ebay-delete-webhookas down and non-responsive. If not fixed within 30 days, eBay will deactivate the application keys, breaking all eBay order syncing.Note on
cb.estack.com: This subdomain should be reviewed as part of the broader migration — the webhook callback URL registered in the eBay Developer Portal will need to be updated to reflect any new domain/subdomain used for callbacks going forward (e.g.api.estack.comor similar). Coordinate with Rob before changing the registered URL in the portal.What the endpoint must do
POSTfrom eBay with a JSON deletion/closure notification payload200to acknowledge receiptDiagnosis steps
Check the response code. If 404 → route missing. If 500 → app error. If no response → DNS/SSL issue on
cb.estack.com.Fix
POST /ebay-delete-webhook200 OK— even a minimal stub is sufficient to stop the clockReference: https://developer.ebay.com/marketplace-account-deletion
Part 2 — eBay REST API migration
Developer portal access
What's changing: Traditional → REST
Authentication — OAuth 2.0
All REST API calls require an OAuth 2.0 Bearer token. There are two token types:
Token endpoint (production):
https://api.ebay.com/identity/v1/oauth2/tokenToken endpoint (sandbox):
https://api.sandbox.ebay.com/identity/v1/oauth2/tokenOAuth guide: https://developer.ebay.com/api-docs/static/oauth-tokens.html
Quick OAuth guide: https://developer.ebay.com/support/kb-article?KBid=5075
OAuth credentials: https://developer.ebay.com/api-docs/static/oauth-credentials.html
The App ID (Client ID) and Cert ID (Client Secret) are available on the Application Keys page after sign-in. Sandbox and Production have separate credential sets.
Key REST APIs for eStack's use case
1. Sell Fulfillment API — Order retrieval and shipping confirmation
The primary API for eStack's core workflow: pulling orders from eBay and marking them as shipped.
GET https://api.ebay.com/sell/fulfillment/v1/orderGET https://api.ebay.com/sell/fulfillment/v1/order/{orderId}POST https://api.ebay.com/sell/fulfillment/v1/order/{orderId}/shipping_fulfillmentRequired OAuth scope:
https://api.ebay.com/oauth/api_scope/sell.fulfillment2. Sell Inventory API — Listing and inventory management
3. Sell Account API — Account and policy management
4. Marketplace Account Deletion webhook (compliance)
REST API general documentation
Sandbox environment
Use the sandbox for all development and testing before pointing at production.
https://api.sandbox.ebay.comhttps://signin.sandbox.ebay.comMigration scope for eStack
At minimum, the following existing integration points need to be rewritten:
GET /sell/fulfillment/v1/orderfiltered bycreationdatePOST /sell/fulfillment/v1/order/{orderId}/shipping_fulfillmentcb.estack.com)Important upcoming change (September 26, 2025)
eBay will replace username data with immutable user IDs for US users in Fulfillment API responses. Any code that stores or displays eBay usernames from API responses needs to be updated to handle the new immutable ID format.
Reference: https://developer.ebay.com/api-docs/sell/fulfillment/types/sel:Order
Files to review / update
cb.estack.comwebhook handler