master-zapier-plan-draft/packages/zappier-customer-service
George Lambert acf902e361
Some checks are pending
offline / test (push) Waiting to run
Put zapier.georgelambert.org service names on Caddy.
HTTPS reverse-proxy for portal, api, leaf, zap, staff, iam, login,
cs, sales, acct, mw, and fleet. Staff HTML login redirects use
X-Forwarded-Proto so next= is https on the public host.
2026-09-11 20:04:57 -04:00
..
public Close the UI-review follow-ups: names typeahead, fleet form, overflow flip. 2026-09-11 18:18:37 -04:00
src Put zapier.georgelambert.org service names on Caddy. 2026-09-11 20:04:57 -04:00
test Close remaining IAM JSON doors and re-walk the lab. 2026-09-11 19:08:20 -04:00
.gitignore Wire zappier-edge into the live stack and add billing department APIs 2026-09-11 15:15:55 -04:00
package-lock.json Add NATS account-balance SoT and statement review for customers, CS, and sales 2026-09-11 15:35:37 -04:00
package.json Add NATS account-balance SoT and statement review for customers, CS, and sales 2026-09-11 15:35:37 -04:00
README.md Close the UI-review follow-ups: names typeahead, fleet form, overflow flip. 2026-09-11 18:18:37 -04:00

zappier-customer-service

Department API for customer-service credit additions and review of credits, balances, usage, and payments. Internally uses NATS verae.billing.* (account-balance). HTTP fallback to account-balance then zappier-edge.

Forgejo: https://git.georgelambert.org/marchon/zappier-customer-service
Catalog: https://zapier.georgelambert.org/packages/zappier-customer-service/README.pdf
Plugs into: zappier-edge admin (x-admin-key) at ZAPPIER_ADMIN_URL (default http://127.0.0.1:3000).

PORT=3011 ZAPPIER_ADMIN_URL=http://127.0.0.1:3000 node src/server.js
curl -X POST http://127.0.0.1:3011/credits -H 'content-type: application/json' \
  -d '{"customerId":"cust_1","cents":500,"reason":"goodwill","agent":"cs-anna"}'
Route Job
GET / Staff review UI (typeahead names). STAFF_AUTH=1 redirects to verae-staff-session.
GET /customers { customers } from zappier-edge
GET /health { ok, role }
POST /credits Add/subtract prepaid cents (NATS balance.adjust)
GET /credits?customerId= Ledger
GET /review/:customerId Full statement (balance, credits, usage, payments)

Talks to NATS verae.billing.* internally. Never talks to Zapier cloud.