evo360-types 1.3.518 → 1.3.522
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.
|
@@ -39,6 +39,23 @@ export interface INexVendasJourneySignature {
|
|
|
39
39
|
signed_at?: Date | null;
|
|
40
40
|
last_error?: string | null;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* PDF da proposta comercial já persistido no bucket, pronto para virar anexo do
|
|
44
|
+
* envelope de assinatura (feat-136).
|
|
45
|
+
*
|
|
46
|
+
* `sha256` é o hash do HTML **sanitizado** que originou o PDF, não do PDF: é o
|
|
47
|
+
* que permite detectar que o vendedor editou a proposta depois da geração e
|
|
48
|
+
* regerar em vez de anexar um documento obsoleto. `storage_path` é o objeto
|
|
49
|
+
* determinístico derivado desse mesmo hash.
|
|
50
|
+
*/
|
|
51
|
+
export interface INexVendasJourneyProposalPdf {
|
|
52
|
+
/** Caminho do objeto no bucket, sem o `gs://` e sem o nome do bucket. */
|
|
53
|
+
storage_path: string;
|
|
54
|
+
/** SHA-256 hex do HTML SANITIZADO que gerou o PDF. */
|
|
55
|
+
sha256: string;
|
|
56
|
+
size_bytes: number;
|
|
57
|
+
generated_at: Date;
|
|
58
|
+
}
|
|
42
59
|
export interface INexVendasJourneyCompany {
|
|
43
60
|
legal_name?: string | null;
|
|
44
61
|
trade_name?: string | null;
|
|
@@ -187,15 +204,20 @@ export interface INexVendasJourneyNotification {
|
|
|
187
204
|
}
|
|
188
205
|
/**
|
|
189
206
|
* Slots que disparam efeito externo NÃO-idempotente e por isso precisam de
|
|
190
|
-
* reserva transacional: criar o contrato, criar o envelope de assinatura
|
|
191
|
-
* (feat-131) criar o artefato de pagamento
|
|
207
|
+
* reserva transacional: criar o contrato, criar o envelope de assinatura,
|
|
208
|
+
* (feat-131) criar o artefato de pagamento e (feat-136) renderizar o PDF da
|
|
209
|
+
* proposta.
|
|
192
210
|
*
|
|
193
|
-
* `payment` difere dos outros
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
211
|
+
* `payment` difere dos outros num ponto: contrato e envelope são efeito ÚNICO
|
|
212
|
+
* por jornada, enquanto o artefato de pagamento pode legitimamente ser recriado
|
|
213
|
+
* quando o cliente troca de método. Por isso o slot de pagamento é um mutex
|
|
214
|
+
* puro — não tem valor "definitivo" que o torne `already_done`.
|
|
215
|
+
*
|
|
216
|
+
* `proposal_pdf` também é mutex puro, por motivo diferente: o PDF é reemitido
|
|
217
|
+
* quando o vendedor edita o `html_content`, e o "já feito" é decidido por
|
|
218
|
+
* comparação de hash antes do claim, não pela presença do campo.
|
|
197
219
|
*/
|
|
198
|
-
export type NexVendasJourneySlot = 'contract' | 'signature' | 'payment';
|
|
220
|
+
export type NexVendasJourneySlot = 'contract' | 'signature' | 'payment' | 'proposal_pdf';
|
|
199
221
|
/**
|
|
200
222
|
* Marca de reserva de um slot, gravada e liberada dentro de transaction.
|
|
201
223
|
*
|
|
@@ -227,6 +249,12 @@ export interface INexVendasJourney extends IFireGlobalDoc {
|
|
|
227
249
|
customer_data?: INexVendasJourneyCustomerData | null;
|
|
228
250
|
signature?: INexVendasJourneySignature | null;
|
|
229
251
|
payment?: INexVendasJourneyPayment | null;
|
|
252
|
+
/**
|
|
253
|
+
* PDF da proposta pronto para anexar ao envelope (feat-136). Ausente = ainda
|
|
254
|
+
* não gerado, ou proposta sem `html_content` — nos dois casos o envelope sai
|
|
255
|
+
* sem anexo.
|
|
256
|
+
*/
|
|
257
|
+
proposal_pdf?: INexVendasJourneyProposalPdf | null;
|
|
230
258
|
/**
|
|
231
259
|
* Espelho PLANO de todo id externo de pagamento que a jornada já produziu —
|
|
232
260
|
* checkout, cobrança, assinatura e link, **inclusive os superseded**.
|
|
@@ -93,6 +93,26 @@ export interface INexVendasJourneySignature {
|
|
|
93
93
|
last_error?: string | null;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
// ── PDF da proposta (anexo do envelope) ──
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* PDF da proposta comercial já persistido no bucket, pronto para virar anexo do
|
|
100
|
+
* envelope de assinatura (feat-136).
|
|
101
|
+
*
|
|
102
|
+
* `sha256` é o hash do HTML **sanitizado** que originou o PDF, não do PDF: é o
|
|
103
|
+
* que permite detectar que o vendedor editou a proposta depois da geração e
|
|
104
|
+
* regerar em vez de anexar um documento obsoleto. `storage_path` é o objeto
|
|
105
|
+
* determinístico derivado desse mesmo hash.
|
|
106
|
+
*/
|
|
107
|
+
export interface INexVendasJourneyProposalPdf {
|
|
108
|
+
/** Caminho do objeto no bucket, sem o `gs://` e sem o nome do bucket. */
|
|
109
|
+
storage_path: string;
|
|
110
|
+
/** SHA-256 hex do HTML SANITIZADO que gerou o PDF. */
|
|
111
|
+
sha256: string;
|
|
112
|
+
size_bytes: number;
|
|
113
|
+
generated_at: Date;
|
|
114
|
+
}
|
|
115
|
+
|
|
96
116
|
// ── Dados de identificação coletados ──
|
|
97
117
|
|
|
98
118
|
export interface INexVendasJourneyCompany {
|
|
@@ -275,15 +295,20 @@ export interface INexVendasJourneyNotification {
|
|
|
275
295
|
|
|
276
296
|
/**
|
|
277
297
|
* Slots que disparam efeito externo NÃO-idempotente e por isso precisam de
|
|
278
|
-
* reserva transacional: criar o contrato, criar o envelope de assinatura
|
|
279
|
-
* (feat-131) criar o artefato de pagamento
|
|
298
|
+
* reserva transacional: criar o contrato, criar o envelope de assinatura,
|
|
299
|
+
* (feat-131) criar o artefato de pagamento e (feat-136) renderizar o PDF da
|
|
300
|
+
* proposta.
|
|
301
|
+
*
|
|
302
|
+
* `payment` difere dos outros num ponto: contrato e envelope são efeito ÚNICO
|
|
303
|
+
* por jornada, enquanto o artefato de pagamento pode legitimamente ser recriado
|
|
304
|
+
* quando o cliente troca de método. Por isso o slot de pagamento é um mutex
|
|
305
|
+
* puro — não tem valor "definitivo" que o torne `already_done`.
|
|
280
306
|
*
|
|
281
|
-
* `
|
|
282
|
-
*
|
|
283
|
-
*
|
|
284
|
-
* mutex puro — não tem valor "definitivo" que o torne `already_done`.
|
|
307
|
+
* `proposal_pdf` também é mutex puro, por motivo diferente: o PDF é reemitido
|
|
308
|
+
* quando o vendedor edita o `html_content`, e o "já feito" é decidido por
|
|
309
|
+
* comparação de hash antes do claim, não pela presença do campo.
|
|
285
310
|
*/
|
|
286
|
-
export type NexVendasJourneySlot = 'contract' | 'signature' | 'payment';
|
|
311
|
+
export type NexVendasJourneySlot = 'contract' | 'signature' | 'payment' | 'proposal_pdf';
|
|
287
312
|
|
|
288
313
|
/**
|
|
289
314
|
* Marca de reserva de um slot, gravada e liberada dentro de transaction.
|
|
@@ -323,6 +348,13 @@ export interface INexVendasJourney extends IFireGlobalDoc {
|
|
|
323
348
|
signature?: INexVendasJourneySignature | null;
|
|
324
349
|
payment?: INexVendasJourneyPayment | null;
|
|
325
350
|
|
|
351
|
+
/**
|
|
352
|
+
* PDF da proposta pronto para anexar ao envelope (feat-136). Ausente = ainda
|
|
353
|
+
* não gerado, ou proposta sem `html_content` — nos dois casos o envelope sai
|
|
354
|
+
* sem anexo.
|
|
355
|
+
*/
|
|
356
|
+
proposal_pdf?: INexVendasJourneyProposalPdf | null;
|
|
357
|
+
|
|
326
358
|
/**
|
|
327
359
|
* Espelho PLANO de todo id externo de pagamento que a jornada já produziu —
|
|
328
360
|
* checkout, cobrança, assinatura e link, **inclusive os superseded**.
|