evo360-types 1.3.612 → 1.3.614
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.
|
@@ -38,6 +38,37 @@ export interface INexVendasJourneySignature {
|
|
|
38
38
|
requested_at?: Date | null;
|
|
39
39
|
signed_at?: Date | null;
|
|
40
40
|
last_error?: string | null;
|
|
41
|
+
/**
|
|
42
|
+
* Consultas ao provider feitas pelo `POST /journeys/:code/signature/check`
|
|
43
|
+
* (feat-203), podadas a 1 h. É o contador do throttle por jornada (mínimo 90 s
|
|
44
|
+
* entre consultas, no máximo 5 por hora): a cota da D4Sign é 10 req/h na
|
|
45
|
+
* conta inteira. A re-checagem do webhook não entra aqui.
|
|
46
|
+
*/
|
|
47
|
+
checks_at?: Date[] | null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Por onde a assinatura foi confirmada no provider (feat-203). Vai em
|
|
51
|
+
* `data.via` do evento `contract_signed`: `webhook` é o POSTback da D4Sign,
|
|
52
|
+
* `check` é o "Verificar agora" do shop (caminho de destrave quando o webhook
|
|
53
|
+
* se perde).
|
|
54
|
+
*/
|
|
55
|
+
export type NexVendasJourneySignatureConfirmVia = 'webhook' | 'check';
|
|
56
|
+
/**
|
|
57
|
+
* Resultado do `POST /journeys/:code/signature/check` (feat-203 D4):
|
|
58
|
+
* - `signed`: o provider confirmou e ESTA chamada avançou a jornada;
|
|
59
|
+
* - `already_signed`: já estava assinada (ou o webhook venceu a corrida);
|
|
60
|
+
* - `pending`: o provider ainda não tem a assinatura;
|
|
61
|
+
* - `not_confirmed`: o provider respondeu outro status (recusado, cancelado…);
|
|
62
|
+
* - `not_applicable`: a jornada não está esperando assinatura — nada consultado;
|
|
63
|
+
* - `provider_unavailable`: sem provider configurado ou a consulta falhou.
|
|
64
|
+
*
|
|
65
|
+
* O throttle NÃO é um outcome: sai como 429 `too_many_checks` com `retry_after_s`.
|
|
66
|
+
*/
|
|
67
|
+
export type NexVendasJourneySignatureCheckOutcome = 'signed' | 'already_signed' | 'pending' | 'not_confirmed' | 'not_applicable' | 'provider_unavailable';
|
|
68
|
+
export interface INexVendasJourneySignatureCheckResult {
|
|
69
|
+
outcome: NexVendasJourneySignatureCheckOutcome;
|
|
70
|
+
/** Segundos até a próxima consulta ao provider ser aceita; ausente quando não se aplica. */
|
|
71
|
+
retry_after_s?: number | null;
|
|
41
72
|
}
|
|
42
73
|
/**
|
|
43
74
|
* Envelope substituído por correção de dados antes da assinatura (feat-200).
|
|
@@ -225,6 +256,29 @@ export interface INexVendasJourneyNotification {
|
|
|
225
256
|
sent_at: Date;
|
|
226
257
|
error?: string | null;
|
|
227
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Como o lead foi achado. `contact_index` = índice de contatos do chat pelo
|
|
261
|
+
* telefone (com e sem o 9º dígito); `phone` = telefone exato no lead;
|
|
262
|
+
* `algolia` = busca por dígitos no índice de leads; `email` = e-mail exato;
|
|
263
|
+
* `created` = nada casou e a jornada criou o lead.
|
|
264
|
+
*/
|
|
265
|
+
export type NexVendasJourneyLeadResolvedBy = 'contact_index' | 'phone' | 'algolia' | 'email' | 'created';
|
|
266
|
+
/**
|
|
267
|
+
* Lead do CRM do tenant das notificações da jornada. É a âncora que as
|
|
268
|
+
* notificações levam em `externalLinks` (`crm_lead`): sem ela o hub-omni
|
|
269
|
+
* descarta o e-mail, que não cria contato sozinho.
|
|
270
|
+
*
|
|
271
|
+
* Re-resolução por correção de telefone/e-mail que devolve OUTRO lead
|
|
272
|
+
* sobrescreve este bloco e registra o evento `lead_relinked`; falha do
|
|
273
|
+
* resolvedor registra `lead_resolve_failed` e não bloqueia a jornada.
|
|
274
|
+
*/
|
|
275
|
+
export interface INexVendasJourneyLeadRef {
|
|
276
|
+
/** Tenant dono do lead — o do canal resolvido para as notificações. */
|
|
277
|
+
tenant: string;
|
|
278
|
+
lead_id: string;
|
|
279
|
+
resolved_by: NexVendasJourneyLeadResolvedBy;
|
|
280
|
+
resolved_at: Date;
|
|
281
|
+
}
|
|
228
282
|
/**
|
|
229
283
|
* Slots que disparam efeito externo NÃO-idempotente e por isso precisam de
|
|
230
284
|
* reserva transacional: criar o contrato, criar o envelope de assinatura,
|
|
@@ -269,6 +323,8 @@ export interface INexVendasJourney extends IFireGlobalDoc {
|
|
|
269
323
|
contract_ref?: string | null;
|
|
270
324
|
tenant_ref?: string | null;
|
|
271
325
|
customer_id?: string | null;
|
|
326
|
+
/** Lead do CRM no tenant das notificações (feat-202). Ausente = ainda não resolvido. */
|
|
327
|
+
lead_ref?: INexVendasJourneyLeadRef | null;
|
|
272
328
|
customer_data?: INexVendasJourneyCustomerData | null;
|
|
273
329
|
signature?: INexVendasJourneySignature | null;
|
|
274
330
|
/** Envelopes substituídos por correção de dados (feat-200). */
|
|
@@ -91,6 +91,46 @@ export interface INexVendasJourneySignature {
|
|
|
91
91
|
requested_at?: Date | null;
|
|
92
92
|
signed_at?: Date | null;
|
|
93
93
|
last_error?: string | null;
|
|
94
|
+
/**
|
|
95
|
+
* Consultas ao provider feitas pelo `POST /journeys/:code/signature/check`
|
|
96
|
+
* (feat-203), podadas a 1 h. É o contador do throttle por jornada (mínimo 90 s
|
|
97
|
+
* entre consultas, no máximo 5 por hora): a cota da D4Sign é 10 req/h na
|
|
98
|
+
* conta inteira. A re-checagem do webhook não entra aqui.
|
|
99
|
+
*/
|
|
100
|
+
checks_at?: Date[] | null;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Por onde a assinatura foi confirmada no provider (feat-203). Vai em
|
|
105
|
+
* `data.via` do evento `contract_signed`: `webhook` é o POSTback da D4Sign,
|
|
106
|
+
* `check` é o "Verificar agora" do shop (caminho de destrave quando o webhook
|
|
107
|
+
* se perde).
|
|
108
|
+
*/
|
|
109
|
+
export type NexVendasJourneySignatureConfirmVia = 'webhook' | 'check';
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Resultado do `POST /journeys/:code/signature/check` (feat-203 D4):
|
|
113
|
+
* - `signed`: o provider confirmou e ESTA chamada avançou a jornada;
|
|
114
|
+
* - `already_signed`: já estava assinada (ou o webhook venceu a corrida);
|
|
115
|
+
* - `pending`: o provider ainda não tem a assinatura;
|
|
116
|
+
* - `not_confirmed`: o provider respondeu outro status (recusado, cancelado…);
|
|
117
|
+
* - `not_applicable`: a jornada não está esperando assinatura — nada consultado;
|
|
118
|
+
* - `provider_unavailable`: sem provider configurado ou a consulta falhou.
|
|
119
|
+
*
|
|
120
|
+
* O throttle NÃO é um outcome: sai como 429 `too_many_checks` com `retry_after_s`.
|
|
121
|
+
*/
|
|
122
|
+
export type NexVendasJourneySignatureCheckOutcome =
|
|
123
|
+
| 'signed'
|
|
124
|
+
| 'already_signed'
|
|
125
|
+
| 'pending'
|
|
126
|
+
| 'not_confirmed'
|
|
127
|
+
| 'not_applicable'
|
|
128
|
+
| 'provider_unavailable';
|
|
129
|
+
|
|
130
|
+
export interface INexVendasJourneySignatureCheckResult {
|
|
131
|
+
outcome: NexVendasJourneySignatureCheckOutcome;
|
|
132
|
+
/** Segundos até a próxima consulta ao provider ser aceita; ausente quando não se aplica. */
|
|
133
|
+
retry_after_s?: number | null;
|
|
94
134
|
}
|
|
95
135
|
|
|
96
136
|
/**
|
|
@@ -316,6 +356,38 @@ export interface INexVendasJourneyNotification {
|
|
|
316
356
|
error?: string | null;
|
|
317
357
|
}
|
|
318
358
|
|
|
359
|
+
// ── Lead do CRM (feat-202) ──
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* Como o lead foi achado. `contact_index` = índice de contatos do chat pelo
|
|
363
|
+
* telefone (com e sem o 9º dígito); `phone` = telefone exato no lead;
|
|
364
|
+
* `algolia` = busca por dígitos no índice de leads; `email` = e-mail exato;
|
|
365
|
+
* `created` = nada casou e a jornada criou o lead.
|
|
366
|
+
*/
|
|
367
|
+
export type NexVendasJourneyLeadResolvedBy =
|
|
368
|
+
| 'contact_index'
|
|
369
|
+
| 'phone'
|
|
370
|
+
| 'algolia'
|
|
371
|
+
| 'email'
|
|
372
|
+
| 'created';
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Lead do CRM do tenant das notificações da jornada. É a âncora que as
|
|
376
|
+
* notificações levam em `externalLinks` (`crm_lead`): sem ela o hub-omni
|
|
377
|
+
* descarta o e-mail, que não cria contato sozinho.
|
|
378
|
+
*
|
|
379
|
+
* Re-resolução por correção de telefone/e-mail que devolve OUTRO lead
|
|
380
|
+
* sobrescreve este bloco e registra o evento `lead_relinked`; falha do
|
|
381
|
+
* resolvedor registra `lead_resolve_failed` e não bloqueia a jornada.
|
|
382
|
+
*/
|
|
383
|
+
export interface INexVendasJourneyLeadRef {
|
|
384
|
+
/** Tenant dono do lead — o do canal resolvido para as notificações. */
|
|
385
|
+
tenant: string;
|
|
386
|
+
lead_id: string;
|
|
387
|
+
resolved_by: NexVendasJourneyLeadResolvedBy;
|
|
388
|
+
resolved_at: Date;
|
|
389
|
+
}
|
|
390
|
+
|
|
319
391
|
// ── Reserva de efeito externo ──
|
|
320
392
|
|
|
321
393
|
/**
|
|
@@ -368,6 +440,8 @@ export interface INexVendasJourney extends IFireGlobalDoc {
|
|
|
368
440
|
contract_ref?: string | null;
|
|
369
441
|
tenant_ref?: string | null;
|
|
370
442
|
customer_id?: string | null;
|
|
443
|
+
/** Lead do CRM no tenant das notificações (feat-202). Ausente = ainda não resolvido. */
|
|
444
|
+
lead_ref?: INexVendasJourneyLeadRef | null;
|
|
371
445
|
|
|
372
446
|
customer_data?: INexVendasJourneyCustomerData | null;
|
|
373
447
|
signature?: INexVendasJourneySignature | null;
|