@insurance-broker/api-client 1.45.0 → 1.46.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/dist/schema.d.ts +152 -0
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -4816,6 +4816,46 @@ export interface paths {
|
|
|
4816
4816
|
patch?: never;
|
|
4817
4817
|
trace?: never;
|
|
4818
4818
|
};
|
|
4819
|
+
"/api/v1/dashboards/leads": {
|
|
4820
|
+
parameters: {
|
|
4821
|
+
query?: never;
|
|
4822
|
+
header?: never;
|
|
4823
|
+
path?: never;
|
|
4824
|
+
cookie?: never;
|
|
4825
|
+
};
|
|
4826
|
+
/**
|
|
4827
|
+
* How many enquiries arrived, how many nobody has taken, and where they came from
|
|
4828
|
+
* @description The lead funnel, read from phase 10's read model rather than from the module that owns leads (ADR-0047). Filter by a period and by a source; the response echoes both, so a figure carries its own question. Every response reports an as-at, which is the oldest projection instant among the rows counted: a read model is written when the Worker consumes an event, so a figure from one is about a recent past, and a count is only as current as its least-current row. A count of nil has no as-at, because it lags nothing. RPT-001 names eleven subjects and this is the only one with a read model behind it: the rest wait on the modules that own those facts publishing the lifecycle events to feed one, and a dashboard built over their tables instead would be the cross-module join the platform forbids everywhere else.
|
|
4829
|
+
*/
|
|
4830
|
+
get: operations["ReadLeadFunnelDashboard"];
|
|
4831
|
+
put?: never;
|
|
4832
|
+
post?: never;
|
|
4833
|
+
delete?: never;
|
|
4834
|
+
options?: never;
|
|
4835
|
+
head?: never;
|
|
4836
|
+
patch?: never;
|
|
4837
|
+
trace?: never;
|
|
4838
|
+
};
|
|
4839
|
+
"/api/v1/dashboards/leads/entries": {
|
|
4840
|
+
parameters: {
|
|
4841
|
+
query?: never;
|
|
4842
|
+
header?: never;
|
|
4843
|
+
path?: never;
|
|
4844
|
+
cookie?: never;
|
|
4845
|
+
};
|
|
4846
|
+
/**
|
|
4847
|
+
* The leads behind a figure on the funnel dashboard
|
|
4848
|
+
* @description The rows the dashboard counted, newest first, paged by an opaque cursor. The filters are the dashboard's own plus 'assigned', which is how the unassigned figure is traced to its rows. Identifiers and dates only: a lead's name and contact details stay in the module that owns them, so this projection never becomes a second copy of personal data somebody has to find at erasure time (ADR-0047 section 6). There is no branch filter and no staff-member filter: the read model carries neither a branch nor a person, and resolving either would be a read of another module's tables.
|
|
4849
|
+
*/
|
|
4850
|
+
get: operations["ListLeadFunnelEntries"];
|
|
4851
|
+
put?: never;
|
|
4852
|
+
post?: never;
|
|
4853
|
+
delete?: never;
|
|
4854
|
+
options?: never;
|
|
4855
|
+
head?: never;
|
|
4856
|
+
patch?: never;
|
|
4857
|
+
trace?: never;
|
|
4858
|
+
};
|
|
4819
4859
|
"/api/v1/notifications": {
|
|
4820
4860
|
parameters: {
|
|
4821
4861
|
query?: never;
|
|
@@ -5827,6 +5867,49 @@ export interface components {
|
|
|
5827
5867
|
integrationName: null | string;
|
|
5828
5868
|
};
|
|
5829
5869
|
JsonElement: unknown;
|
|
5870
|
+
LeadFunnelDashboard: {
|
|
5871
|
+
/** Format: date-time */
|
|
5872
|
+
from: null | string;
|
|
5873
|
+
/** Format: date-time */
|
|
5874
|
+
to: null | string;
|
|
5875
|
+
source: null | string;
|
|
5876
|
+
/** Format: int32 */
|
|
5877
|
+
arrived: number | string;
|
|
5878
|
+
/** Format: int32 */
|
|
5879
|
+
unassigned: number | string;
|
|
5880
|
+
/** Format: int32 */
|
|
5881
|
+
assigned: number | string;
|
|
5882
|
+
bySource: components["schemas"]["LeadFunnelSourceRow"][];
|
|
5883
|
+
/** Format: date-time */
|
|
5884
|
+
asAtUtc: null | string;
|
|
5885
|
+
};
|
|
5886
|
+
LeadFunnelEntryPage: {
|
|
5887
|
+
items: components["schemas"]["LeadFunnelEntryResponse"][];
|
|
5888
|
+
nextCursor: null | string;
|
|
5889
|
+
/** Format: date-time */
|
|
5890
|
+
asAtUtc: null | string;
|
|
5891
|
+
};
|
|
5892
|
+
LeadFunnelEntryResponse: {
|
|
5893
|
+
/** Format: uuid */
|
|
5894
|
+
leadId: string;
|
|
5895
|
+
source: string;
|
|
5896
|
+
/** Format: date-time */
|
|
5897
|
+
createdAtUtc: string;
|
|
5898
|
+
assignedToSubjectId: null | string;
|
|
5899
|
+
/** Format: date-time */
|
|
5900
|
+
assignedAtUtc: null | string;
|
|
5901
|
+
/** Format: date-time */
|
|
5902
|
+
projectedAtUtc: string;
|
|
5903
|
+
};
|
|
5904
|
+
LeadFunnelSourceRow: {
|
|
5905
|
+
source: string;
|
|
5906
|
+
/** Format: int32 */
|
|
5907
|
+
arrived: number | string;
|
|
5908
|
+
/** Format: int32 */
|
|
5909
|
+
unassigned: number | string;
|
|
5910
|
+
/** Format: int32 */
|
|
5911
|
+
assigned: number | string;
|
|
5912
|
+
};
|
|
5830
5913
|
LeadResponse: {
|
|
5831
5914
|
/** Format: uuid */
|
|
5832
5915
|
id: string;
|
|
@@ -19104,6 +19187,75 @@ export interface operations {
|
|
|
19104
19187
|
};
|
|
19105
19188
|
};
|
|
19106
19189
|
};
|
|
19190
|
+
ReadLeadFunnelDashboard: {
|
|
19191
|
+
parameters: {
|
|
19192
|
+
query?: {
|
|
19193
|
+
from?: string;
|
|
19194
|
+
to?: string;
|
|
19195
|
+
source?: string;
|
|
19196
|
+
};
|
|
19197
|
+
header?: never;
|
|
19198
|
+
path?: never;
|
|
19199
|
+
cookie?: never;
|
|
19200
|
+
};
|
|
19201
|
+
requestBody?: never;
|
|
19202
|
+
responses: {
|
|
19203
|
+
/** @description OK */
|
|
19204
|
+
200: {
|
|
19205
|
+
headers: {
|
|
19206
|
+
[name: string]: unknown;
|
|
19207
|
+
};
|
|
19208
|
+
content: {
|
|
19209
|
+
"application/json": components["schemas"]["LeadFunnelDashboard"];
|
|
19210
|
+
};
|
|
19211
|
+
};
|
|
19212
|
+
/** @description Bad Request */
|
|
19213
|
+
400: {
|
|
19214
|
+
headers: {
|
|
19215
|
+
[name: string]: unknown;
|
|
19216
|
+
};
|
|
19217
|
+
content: {
|
|
19218
|
+
"application/problem+json": components["schemas"]["HttpValidationProblemDetails"];
|
|
19219
|
+
};
|
|
19220
|
+
};
|
|
19221
|
+
};
|
|
19222
|
+
};
|
|
19223
|
+
ListLeadFunnelEntries: {
|
|
19224
|
+
parameters: {
|
|
19225
|
+
query?: {
|
|
19226
|
+
from?: string;
|
|
19227
|
+
to?: string;
|
|
19228
|
+
source?: string;
|
|
19229
|
+
assigned?: boolean;
|
|
19230
|
+
cursor?: string;
|
|
19231
|
+
limit?: number | string;
|
|
19232
|
+
};
|
|
19233
|
+
header?: never;
|
|
19234
|
+
path?: never;
|
|
19235
|
+
cookie?: never;
|
|
19236
|
+
};
|
|
19237
|
+
requestBody?: never;
|
|
19238
|
+
responses: {
|
|
19239
|
+
/** @description OK */
|
|
19240
|
+
200: {
|
|
19241
|
+
headers: {
|
|
19242
|
+
[name: string]: unknown;
|
|
19243
|
+
};
|
|
19244
|
+
content: {
|
|
19245
|
+
"application/json": components["schemas"]["LeadFunnelEntryPage"];
|
|
19246
|
+
};
|
|
19247
|
+
};
|
|
19248
|
+
/** @description Bad Request */
|
|
19249
|
+
400: {
|
|
19250
|
+
headers: {
|
|
19251
|
+
[name: string]: unknown;
|
|
19252
|
+
};
|
|
19253
|
+
content: {
|
|
19254
|
+
"application/problem+json": components["schemas"]["HttpValidationProblemDetails"];
|
|
19255
|
+
};
|
|
19256
|
+
};
|
|
19257
|
+
};
|
|
19258
|
+
};
|
|
19107
19259
|
ListNotifications: {
|
|
19108
19260
|
parameters: {
|
|
19109
19261
|
query?: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@insurance-broker/api-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.46.0",
|
|
4
4
|
"description": "Generated TypeScript client for the Insurance Broker Platform API. Do not edit by hand: regenerate with scripts/update-api-contract.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"private": false,
|