# Tickets Dogfood Integration

The first integration fixture for ATM Tickets is the
[public Node starter](https://atmosphere.tickets/docs/tickets-node-app.zip), also
available as [readable source files](https://atmosphere.tickets/docs/tickets-node-app.json).
It intentionally depends on the published
`@atmosphere-money/app-node@0.0.0-beta.5` package instead of a local monorepo
file dependency.

This checks the same path an invited event-app developer will use:

- server-side ATM App Node SDK import
- ticket availability calls
- paid hold creation
- hold release
- limited free-ticket claim
- buyer ticket listing
- ticket verify/check-in calls
- signed HTTP webhook verification
- optional XRPC receiver event verification

Requires Node.js 22 or later. Run the local fixture without ATM credentials:

```sh
curl -fsS https://atmosphere.tickets/docs/tickets-node-app.zip -o tickets-node-app.zip
unzip tickets-node-app.zip
cd tickets-node-app
npm ci
npm run typecheck
npm run smoke
```

The smoke test now exercises the published SDK client against mocked HTTP
responses for availability, paid holds, free claims, ticket verification, and
check-in. It also verifies a signed `tickets.issued` event with the SDK's typed
webhook constructor.

For a local health endpoint, copy `.env.example` to `.env`, run `npm run dev`,
then fetch `http://localhost:8788/health`. Follow the
[agent build guide](https://atmosphere.tickets/docs/agent-start.md) for real test
configuration and replacement auth/state adapters.

The starter still uses mock service-auth and fixture events. A real app pilot
must replace those with the app DID service-auth flow, test webhook URL,
durable state/processing and ATM dashboard app configuration. The current beta includes ticket body
validators, typed ticket event helpers, Hono/Workers webhook helpers, and
request-level service-auth verification helpers.

This refresh uses the current item-array bodies and private delivery email. The
published beta.5 list selector still lags ATM, so buyer reads use direct XRPC
with `buyer`. Its typed event catalog also omits newer lifecycle signals; consult
the generated contracts and current callback guide before using those helpers.
The fixture smoke is not evidence of a deployed sandbox pilot or live approval.
