master-zapier-plan-draft/packages/zappier-customer-service
George Lambert d299d245e8
Some checks are pending
offline / test (push) Waiting to run
Add internal staff IAM: named users, roles, and management permissions.
verae-staff-iam (:3028) is the people directory — owner, billing-admin,
cs, sales, accounting, operator, viewer — with scrypt passwords, sessions,
and an audit log. Admin console login uses it when STAFF_IAM_URL is set
and hides tabs the account cannot use. CS/sales/accounting/staff/fleet
check permissions such as cs.credit and fleet.operate. Shared staff key
remains only as a fallback when IAM is unset.
2026-09-11 18:36:12 -04:00
..
public Close the UI-review follow-ups: names typeahead, fleet form, overflow flip. 2026-09-11 18:18:37 -04:00
src Add internal staff IAM: named users, roles, and management permissions. 2026-09-11 18:36:12 -04:00
test Add NATS account-balance SoT and statement review for customers, CS, and sales 2026-09-11 15:35:37 -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.