@crvouga/mockingbird-service-firstpromoter 0.1.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +2 -2
- package/dist/{chunk-THISK5QO.js → chunk-RM3F6GCN.js} +2 -2
- package/dist/{chunk-GUCNSIKD.js → chunk-YVYHXK67.js} +5 -5
- package/dist/{chunk-GUCNSIKD.js.map → chunk-YVYHXK67.js.map} +1 -1
- package/dist/cli.js +2 -2
- package/dist/index.js +1 -1
- package/dist/server.js +2 -2
- package/package.json +7 -3
- /package/dist/{chunk-THISK5QO.js.map → chunk-RM3F6GCN.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog — @crvouga/mockingbird-service-firstpromoter
|
|
2
2
|
|
|
3
|
+
## 1.0.0 (2026-09-24)
|
|
4
|
+
|
|
5
|
+
### ⚠️ Breaking changes
|
|
6
|
+
|
|
7
|
+
- vendor branding for every service; purge internal mocks and consumer names ([f689534](https://github.com/crvouga/mockingbird/commit/f6895343543550dafcb7d76b426cae7635e03226))
|
|
8
|
+
|
|
9
|
+
### Dependencies
|
|
10
|
+
|
|
11
|
+
- `@crvouga/mockingbird-service-sqlite`
|
|
12
|
+
|
|
13
|
+
## 0.2.0 (2026-09-23)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
- replace self-hosted Vault and Turborepo cache with GitHub ([963ecd8](https://github.com/crvouga/mockingbird/commit/963ecd862e50f2782acf16aaef0d25c518f87afc))
|
|
18
|
+
|
|
3
19
|
## 0.1.0 (2026-09-22)
|
|
4
20
|
|
|
5
21
|
Initial release.
|
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ const { tid } = (await (await admin("/clicks", { ref_token: "nate91" })).json())
|
|
|
59
59
|
|
|
60
60
|
| Route | Behaviour |
|
|
61
61
|
| --- | --- |
|
|
62
|
-
| `POST /v2/company/promoters` | `{email, cust_id?, profile?: {first_name, last_name}, drip_emails?, initial_campaign_id?}` → the promoter (`FirstPromoterV2ResponseSchema`), enrolled in the default campaign with a `ref_token` (first name + digits) and `ref_link` `https://
|
|
62
|
+
| `POST /v2/company/promoters` | `{email, cust_id?, profile?: {first_name, last_name}, drip_emails?, initial_campaign_id?}` → the promoter (`FirstPromoterV2ResponseSchema`), enrolled in the default campaign with a `ref_token` (first name + digits) and `ref_link` `https://acme.example/referrals?fpr=<token>`. A live promoter with the same email or `cust_id` is 422 `{message, errors: {email: ["has already been taken"]}}`. |
|
|
63
63
|
| `GET /v2/company/promoters?page=&per_page=` | `{data: [promoter], meta: {pending_count}}`; archived promoters are left out. |
|
|
64
64
|
| `GET /v2/company/promoters/{value}?find_by=id\|cust_id\|ref_token\|email` | One promoter (archived ones too, with `archived_at`), or 404 `{message: "Promoter not found"}`. |
|
|
65
65
|
| `PUT /v2/company/promoters/{id}` | `{cust_id?, email?, note?, profile?}` → the promoter; 404 / 422 as above. |
|
|
@@ -87,7 +87,7 @@ is `user:pass`. Non-2xx answers are retried; `GET /__admin/webhooks`, `…/event
|
|
|
87
87
|
| `POST /__admin/clicks` | `{ref_token}` → `{tid, promoterId}`: a click on the promoter's link. |
|
|
88
88
|
| `GET /__admin/referrals` | Tracked signups. |
|
|
89
89
|
| `POST /__admin/referrals/:id/convert` | `{saleAmount?}`: the lead paid; credits the promoter (percent reward × amount) and posts the webhook. |
|
|
90
|
-
| `GET\|PUT /__admin/settings` | `{website?, defaultCampaignId?, autoConvert?, campaigns?}` (campaigns carry `referralRewards` / `promoterRewards` with `coupon`, `amount`, `unit`, `per_of_sale`). The default campaign's referral coupon is `
|
|
90
|
+
| `GET\|PUT /__admin/settings` | `{website?, defaultCampaignId?, autoConvert?, campaigns?}` (campaigns carry `referralRewards` / `promoterRewards` with `coupon`, `amount`, `unit`, `per_of_sale`). The default campaign's referral coupon is `ACME50`. |
|
|
91
91
|
|
|
92
92
|
Fault presets (`POST /__admin/faults {"preset": "<name>", "count"?: n}`; `GET /__admin/faults/presets`):
|
|
93
93
|
`created_but_500` (stored, then 500: the retry must adopt by `cust_id`), `lookup_unavailable`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createRuntime
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YVYHXK67.js";
|
|
4
4
|
|
|
5
5
|
// ../../adapters/node/dist/cli.js
|
|
6
6
|
import { readFile } from "node:fs/promises";
|
|
@@ -349,4 +349,4 @@ export {
|
|
|
349
349
|
createServer2 as createServer,
|
|
350
350
|
serveTarget
|
|
351
351
|
};
|
|
352
|
-
//# sourceMappingURL=chunk-
|
|
352
|
+
//# sourceMappingURL=chunk-RM3F6GCN.js.map
|
|
@@ -1471,7 +1471,7 @@ var restoreNamespace = (sqlite, namespace, snapshot) => {
|
|
|
1471
1471
|
};
|
|
1472
1472
|
|
|
1473
1473
|
// ../core/dist/version.js
|
|
1474
|
-
var PACKAGE_VERSION = true ? "
|
|
1474
|
+
var PACKAGE_VERSION = true ? "1.0.0" : UNRELEASED_VERSION;
|
|
1475
1475
|
|
|
1476
1476
|
// ../core/dist/signing.js
|
|
1477
1477
|
var encoder = new TextEncoder();
|
|
@@ -2479,14 +2479,14 @@ var supportedOperationIds = ["TrackSignup", "ListPromoters", "CreatePromoter", "
|
|
|
2479
2479
|
var DEFAULT_CAMPAIGNS = [
|
|
2480
2480
|
{
|
|
2481
2481
|
id: 1,
|
|
2482
|
-
name: "
|
|
2482
|
+
name: "Acme Referral Program",
|
|
2483
2483
|
color: "#4F46E5",
|
|
2484
2484
|
referralRewards: [
|
|
2485
2485
|
{
|
|
2486
2486
|
reward_id: 11,
|
|
2487
2487
|
apply_on: "first_payment",
|
|
2488
2488
|
name: "$50 off your first order",
|
|
2489
|
-
coupon: "
|
|
2489
|
+
coupon: "ACME50",
|
|
2490
2490
|
amount: 50,
|
|
2491
2491
|
unit: "cash",
|
|
2492
2492
|
per_of_sale: null
|
|
@@ -2513,7 +2513,7 @@ var DEFAULT_CAMPAIGNS = [
|
|
|
2513
2513
|
}
|
|
2514
2514
|
];
|
|
2515
2515
|
var DEFAULT_SETTINGS = {
|
|
2516
|
-
website: "https://
|
|
2516
|
+
website: "https://acme.example/referrals",
|
|
2517
2517
|
defaultCampaignId: 1,
|
|
2518
2518
|
campaigns: DEFAULT_CAMPAIGNS,
|
|
2519
2519
|
autoConvert: true
|
|
@@ -3254,4 +3254,4 @@ export {
|
|
|
3254
3254
|
FIRSTPROMOTER_NAMESPACE,
|
|
3255
3255
|
FirstPromoterAPI
|
|
3256
3256
|
};
|
|
3257
|
-
//# sourceMappingURL=chunk-
|
|
3257
|
+
//# sourceMappingURL=chunk-YVYHXK67.js.map
|