Skip to content

feat(commerce): add Smile.io loyalty & rewards connector#325

Open
andrei-hasna wants to merge 1 commit into
mainfrom
station02-claude/open-connectors/71e48481-38a7-47cf-952f-53ae963820a5-9e3850da
Open

feat(commerce): add Smile.io loyalty & rewards connector#325
andrei-hasna wants to merge 1 commit into
mainfrom
station02-claude/open-connectors/71e48481-38a7-47cf-952f-53ae963820a5-9e3850da

Conversation

@andrei-hasna

Copy link
Copy Markdown
Contributor

Summary

Adds @hasna/connect-smile-io, a first-class connector for the public Smile.io REST API (https://api.smile.io/v1). Rebuilt from the upstream API docs against existing open-connectors patterns (reddit/recharge) — no platform-alumia code, no browser-use scraper dependency, no secrets or internal references.

Implements Alumia registry slug smile-io (source inventory commit 760913539ac202c91c60c46f83c2bde72932f587) as net-new work.

What's included

  • SmileClient — Bearer API-key auth (Authorization: Bearer <apiKey>), query/JSON-body building, 204 handling, cursor-pagination-aware list wrappers, and SmileApiError extraction.
  • Resource APIs — customers, customer identities, points transactions, points products (+ purchase), activities, earning rules, VIP tiers, points settings, reward fulfillments.
  • CLI (connect-smile-io) — Commander-based, with config/profile management and per-resource commands; multi-profile store under ~/.hasna/connectors/connect-smile-io/.
  • Types + config/output utils, README.md, CLAUDE.md, placeholder-only .env.example.
  • Registry entry under Commerce & Finance (src/lib/connectors/commerce-finance.ts).
  • Transport tests via mocked fetch (src/api/client.test.ts).

Validation

  • bun run typecheck
  • bun test (connector) — 10 pass ✅
  • bun run build
  • bun test src/lib/registry.test.ts (root) — 28 pass ✅

Notes

  • API paths use underscores (/points_transactions, /points_products, /customer_identities/create_or_update) per the live Smile.io docs.
  • No secrets committed; .env.example contains placeholders only.

🤖 Generated with Claude Code

Add @hasna/connect-smile-io, a first-class connector for the public
Smile.io REST API (https://api.smile.io/v1). Rebuilt from the upstream
API docs against existing open-connectors patterns (reddit/recharge);
no platform-alumia code, no browser-use scraper, no secrets.

- SmileClient: Bearer API-key auth, query/JSON-body building, cursor
  pagination wrappers, SmileApiError extraction.
- Resource APIs: customers, customer identities, points transactions,
  points products (+purchase), activities, earning rules, VIP tiers,
  points settings, reward fulfillments.
- Commander CLI (connect-smile-io) with config/profile management and
  resource commands; types + config/output utils.
- Placeholder-only .env.example; registry entry under Commerce & Finance.
- Transport tests via mocked fetch (typecheck/build/test all green).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant