A test GoDaddy Platform Application (GPA) that exercises all three capability types: an action, a webhook subscription, and a UI extension.
| Type | Name | Endpoint / Source |
|---|---|---|
| Action | commerce.shipping-rates.calculate |
POST /api/shipping-rates |
| Subscription | order-notifications |
POST /webhooks/orders |
| UI Extension | ShippingInfoBanner |
extensions/shipping-info-banner/src/index.tsx |
acme-storefront/
├── godaddy.toml # GPA configuration
├── src/
│ ├── index.ts # Express server
│ └── handlers/
│ ├── shipping-rates.ts # Action handler
│ └── order-created.ts # Webhook handler
├── extensions/
│ └── shipping-info-banner/
│ └── src/
│ └── index.tsx # UI extension component
├── rollup.config.mjs # Extension bundler config
└── .env.example
npm install
cp .env.example .envSet GODADDY_WEBHOOK_SECRET in .env to the value from the developer portal (leave blank to skip signature verification during local testing).
# Development
npm run dev
# Production build
npm run build && npm startThe extension source is at extensions/shipping-info-banner/src/index.tsx. GoDaddy's build pipeline bundles and hosts it on their CDN — no local build step required.
- Action (
/api/shipping-rates): expects an OAuth Bearer token in theAuthorizationheader — issued by the platform per request. - Subscription (
/webhooks/orders): expects an HMAC-SHA256 signature in theX-GoDaddy-Signature-SHA256header — verified againstGODADDY_WEBHOOK_SECRET.