@veriko-mx/sdk 0.4.3
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 +186 -0
- package/LICENSE +21 -0
- package/README.md +566 -0
- package/dist/cjs/client.d.ts +128 -0
- package/dist/cjs/client.d.ts.map +1 -0
- package/dist/cjs/client.js +145 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/errors.d.ts +110 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/cjs/errors.js +133 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/generated/openapi.d.ts +8404 -0
- package/dist/cjs/generated/openapi.d.ts.map +1 -0
- package/dist/cjs/generated/openapi.js +7 -0
- package/dist/cjs/generated/openapi.js.map +1 -0
- package/dist/cjs/http.d.ts +75 -0
- package/dist/cjs/http.d.ts.map +1 -0
- package/dist/cjs/http.js +237 -0
- package/dist/cjs/http.js.map +1 -0
- package/dist/cjs/index.d.ts +35 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +91 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal.d.ts +40 -0
- package/dist/cjs/internal.d.ts.map +1 -0
- package/dist/cjs/internal.js +92 -0
- package/dist/cjs/internal.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/pagination.d.ts +41 -0
- package/dist/cjs/pagination.d.ts.map +1 -0
- package/dist/cjs/pagination.js +66 -0
- package/dist/cjs/pagination.js.map +1 -0
- package/dist/cjs/resources.d.ts +522 -0
- package/dist/cjs/resources.d.ts.map +1 -0
- package/dist/cjs/resources.js +1361 -0
- package/dist/cjs/resources.js.map +1 -0
- package/dist/cjs/types.d.ts +559 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +117 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/webhooks.d.ts +54 -0
- package/dist/cjs/webhooks.d.ts.map +1 -0
- package/dist/cjs/webhooks.js +116 -0
- package/dist/cjs/webhooks.js.map +1 -0
- package/dist/esm/client.d.ts +128 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/client.js +141 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/errors.d.ts +110 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +117 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/generated/openapi.d.ts +8404 -0
- package/dist/esm/generated/openapi.d.ts.map +1 -0
- package/dist/esm/generated/openapi.js +6 -0
- package/dist/esm/generated/openapi.js.map +1 -0
- package/dist/esm/http.d.ts +75 -0
- package/dist/esm/http.d.ts.map +1 -0
- package/dist/esm/http.js +229 -0
- package/dist/esm/http.js.map +1 -0
- package/dist/esm/index.d.ts +35 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +33 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal.d.ts +40 -0
- package/dist/esm/internal.d.ts.map +1 -0
- package/dist/esm/internal.js +82 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/pagination.d.ts +41 -0
- package/dist/esm/pagination.d.ts.map +1 -0
- package/dist/esm/pagination.js +62 -0
- package/dist/esm/pagination.js.map +1 -0
- package/dist/esm/resources.d.ts +522 -0
- package/dist/esm/resources.d.ts.map +1 -0
- package/dist/esm/resources.js +1346 -0
- package/dist/esm/resources.js.map +1 -0
- package/dist/esm/types.d.ts +559 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +109 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/webhooks.d.ts +54 -0
- package/dist/esm/webhooks.d.ts.map +1 -0
- package/dist/esm/webhooks.js +109 -0
- package/dist/esm/webhooks.js.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos del dominio.
|
|
3
|
+
*
|
|
4
|
+
* Los que describen lo que viaja por el cable salen del spec de OpenAPI, no se
|
|
5
|
+
* escriben a mano: `src/generated/openapi.ts` lo genera `openapi-typescript`
|
|
6
|
+
* desde `spec/openapi.yaml`, que es copia de la versión pública publicada en
|
|
7
|
+
* https://docs.veriko.mx/openapi.yaml.
|
|
8
|
+
*
|
|
9
|
+
* Este archivo pone nombres cortos sobre esos tipos y añade los que el SDK
|
|
10
|
+
* necesita y el spec no describe, como la forma de una entrega de webhook.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Los campos de `ValidationRequest`, para el candado que los compara con el
|
|
14
|
+
* spec. El orden es el del spec.
|
|
15
|
+
*/
|
|
16
|
+
export const VALIDATION_REQUEST_FIELDS = [
|
|
17
|
+
'fecha',
|
|
18
|
+
'monto',
|
|
19
|
+
'clave_rastreo',
|
|
20
|
+
'referencia_numerica',
|
|
21
|
+
'emisor',
|
|
22
|
+
'receptor',
|
|
23
|
+
'cuenta_beneficiaria',
|
|
24
|
+
'receptor_participante',
|
|
25
|
+
'retry_policy',
|
|
26
|
+
];
|
|
27
|
+
/** Los campos de `OcrValidationRequest`, para el candado que los compara con el spec. */
|
|
28
|
+
export const OCR_VALIDATION_REQUEST_FIELDS = [
|
|
29
|
+
'image',
|
|
30
|
+
'image_url',
|
|
31
|
+
'cuenta_beneficiaria',
|
|
32
|
+
'retry_policy',
|
|
33
|
+
];
|
|
34
|
+
/** Veredictos que admiten reintento automático. */
|
|
35
|
+
export const RETRYABLE_OUTCOMES = ['not_found', 'cep_unavailable', 'error'];
|
|
36
|
+
/** Estados en los que una validación ya no cambia por sí sola. */
|
|
37
|
+
export const TERMINAL_STATUSES = [
|
|
38
|
+
'valid',
|
|
39
|
+
'not_found',
|
|
40
|
+
'cep_unavailable',
|
|
41
|
+
'invalid',
|
|
42
|
+
'returned',
|
|
43
|
+
'failed',
|
|
44
|
+
'error',
|
|
45
|
+
];
|
|
46
|
+
/** `true` cuando el estado ya no va a cambiar sin una acción externa. */
|
|
47
|
+
export function isTerminal(status) {
|
|
48
|
+
return TERMINAL_STATUSES.includes(status);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* `true` cuando el veredicto ya no va a cambiar, ni por reintentos.
|
|
52
|
+
*
|
|
53
|
+
* `isTerminal()` mira sólo el estado. Un `not_found` es terminal para la consulta
|
|
54
|
+
* que lo produjo, pero si la validación tiene un ciclo de reintentos en marcha la
|
|
55
|
+
* API va a volver a preguntar a Banxico, y el veredicto puede cambiar. Ésta es la
|
|
56
|
+
* condición que espera `waitFor()`.
|
|
57
|
+
*/
|
|
58
|
+
export function isSettled(validation) {
|
|
59
|
+
if (!isTerminal(validation.attributes.status))
|
|
60
|
+
return false;
|
|
61
|
+
const state = validation.attributes.retry_state;
|
|
62
|
+
const cycleAlive = state?.enabled === true &&
|
|
63
|
+
(state.terminal_state === undefined ||
|
|
64
|
+
state.terminal_state === null ||
|
|
65
|
+
state.terminal_state === 'pending');
|
|
66
|
+
return !cycleAlive;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* `true` cuando hay comprobante que descargar.
|
|
70
|
+
*
|
|
71
|
+
* Se deriva de `links.cep_xml`, que es lo que publica el servidor. Un
|
|
72
|
+
* `returned` nacido de `cep_unavailable` no lo trae.
|
|
73
|
+
*/
|
|
74
|
+
export function hasCep(validation) {
|
|
75
|
+
return Boolean(validation.links?.cep_xml);
|
|
76
|
+
}
|
|
77
|
+
/** Formatos en los que la API entrega el comprobante. */
|
|
78
|
+
export const CEP_FORMATS = ['xml', 'pdf'];
|
|
79
|
+
/** Formatos de las exportaciones. */
|
|
80
|
+
export const EXPORT_FORMATS = ['csv', 'xlsx'];
|
|
81
|
+
/** Tipos de evento que emiten los webhooks salientes. */
|
|
82
|
+
export const WEBHOOK_EVENTS = [
|
|
83
|
+
'validation.completed',
|
|
84
|
+
'validation.failed',
|
|
85
|
+
'validation.error',
|
|
86
|
+
'validation.retry.scheduled',
|
|
87
|
+
'validation.retry.resolved',
|
|
88
|
+
'validation.retry.exhausted',
|
|
89
|
+
'validation_import.completed',
|
|
90
|
+
];
|
|
91
|
+
/** Formatos de la plantilla de importación. */
|
|
92
|
+
export const IMPORT_TEMPLATE_FORMATS = ['csv', 'xlsx', 'xls', 'txt', 'json'];
|
|
93
|
+
/** Estados finales de una importación de beneficiarios. */
|
|
94
|
+
export const IMPORT_TERMINAL_STATUSES = ['completed', 'failed', 'cancelled'];
|
|
95
|
+
/** `true` cuando el trabajo terminó, con éxito o no. */
|
|
96
|
+
export function isImportTerminal(status) {
|
|
97
|
+
return IMPORT_TERMINAL_STATUSES.includes(status);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* `true` cuando el trabajo ya no avanza por sí solo.
|
|
101
|
+
*
|
|
102
|
+
* Cubre `preview_ready`, donde el avance se detiene a esperar la revisión, y los
|
|
103
|
+
* estados finales. Es lo que espera `importWait()`.
|
|
104
|
+
*/
|
|
105
|
+
export function isImportSettled(job) {
|
|
106
|
+
const status = job.attributes?.status;
|
|
107
|
+
return status === 'preview_ready' || isImportTerminal(status);
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAsDH;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,OAAO;IACP,OAAO;IACP,eAAe;IACf,qBAAqB;IACrB,QAAQ;IACR,UAAU;IACV,qBAAqB;IACrB,uBAAuB;IACvB,cAAc;CACN,CAAC;AAoBX,yFAAyF;AACzF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,OAAO;IACP,WAAW;IACX,qBAAqB;IACrB,cAAc;CACN,CAAC;AAcX,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAU,CAAC;AAErF,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO;IACP,WAAW;IACX,iBAAiB;IACjB,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;CACC,CAAC;AAEX,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,MAA0B;IACnD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,MAA4C,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,UAAsB;IAC9C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;IAChD,MAAM,UAAU,GACd,KAAK,EAAE,OAAO,KAAK,IAAI;QACvB,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS;YACjC,KAAK,CAAC,cAAc,KAAK,IAAI;YAC7B,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,UAAsB;IAC3C,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAQD,yDAAyD;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,CAAU,CAAC;AAGnD,qCAAqC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;AAkBvD,yDAAyD;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,sBAAsB;IACtB,mBAAmB;IACnB,kBAAkB;IAClB,4BAA4B;IAC5B,2BAA2B;IAC3B,4BAA4B;IAC5B,6BAA6B;CACrB,CAAC;AAkZX,+CAA+C;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAGtF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC;AAEtF,wDAAwD;AACxD,MAAM,UAAU,gBAAgB,CAAC,MAA0B;IACzD,OAAO,wBAAwB,CAAC,QAAQ,CAAC,MAAmD,CAAC,CAAC;AAChG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAyB;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC;IACtC,OAAO,MAAM,KAAK,eAAe,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verificación de la firma de un webhook.
|
|
3
|
+
*
|
|
4
|
+
* Cada entrega llega firmada con HMAC-SHA256 del cuerpo, usando el secreto que
|
|
5
|
+
* devolvió `POST /v1/webhooks` al registrar el endpoint. La firma viaja en
|
|
6
|
+
* hexadecimal, prefijada por el algoritmo:
|
|
7
|
+
*
|
|
8
|
+
* X-Webhook-Signature: sha256=<hex>
|
|
9
|
+
*
|
|
10
|
+
* Lo que se firma es el cuerpo tal como llegó. Interpretar el JSON y volver a
|
|
11
|
+
* serializarlo cambia los bytes, porque el orden de las claves, los espacios y
|
|
12
|
+
* el escape de los caracteres no ASCII no se conservan, y la firma deja de
|
|
13
|
+
* cuadrar. En Express, eso significa `express.raw()` en la ruta del webhook.
|
|
14
|
+
*
|
|
15
|
+
* @see https://docs.veriko.mx/es/concepts/webhooks-architecture
|
|
16
|
+
*/
|
|
17
|
+
import type { WebhookEvent } from './types.js';
|
|
18
|
+
/** Cabecera de la firma. Es genérica a propósito, no lleva el nombre de la marca. */
|
|
19
|
+
export declare const SIGNATURE_HEADER = "X-Webhook-Signature";
|
|
20
|
+
/** Las otras tres cabeceras de una entrega sí derivan del nombre del servicio. */
|
|
21
|
+
export declare const EVENT_HEADER = "X-Veriko-Event";
|
|
22
|
+
export declare const DELIVERY_ID_HEADER = "X-Veriko-Delivery-Id";
|
|
23
|
+
export declare const TIMESTAMP_HEADER = "X-Veriko-Timestamp";
|
|
24
|
+
type Payload = string | Uint8Array;
|
|
25
|
+
/** Devuelve el HMAC-SHA256 hexadecimal del cuerpo, sin el prefijo `sha256=`. */
|
|
26
|
+
export declare function computeSignature(payload: Payload, secret: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Comprueba la firma de una entrega. Devuelve `true` o `false`, sin lanzar.
|
|
29
|
+
*
|
|
30
|
+
* Acepta el valor de la cabecera con o sin el prefijo `sha256=`. La comparación
|
|
31
|
+
* es en tiempo constante, para no filtrar información por el tiempo de
|
|
32
|
+
* respuesta.
|
|
33
|
+
*
|
|
34
|
+
* @param payload El cuerpo crudo de la petición, sin reserializar.
|
|
35
|
+
* @param signature El valor de la cabecera `X-Webhook-Signature`.
|
|
36
|
+
* @param secret El secreto del endpoint, entregado al registrarlo.
|
|
37
|
+
*/
|
|
38
|
+
export declare function verifyWebhook(payload: Payload, signature: string | null | undefined, secret: string): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Busca la cabecera de firma en cualquiera de sus grafías.
|
|
41
|
+
*
|
|
42
|
+
* Los nombres de cabecera no distinguen mayúsculas, y cada framework los
|
|
43
|
+
* entrega a su manera.
|
|
44
|
+
*/
|
|
45
|
+
export declare function signatureFromHeaders(headers: Record<string, string | string[] | undefined>): string | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Verifica la firma y devuelve el evento ya interpretado.
|
|
48
|
+
*
|
|
49
|
+
* @throws {SignatureVerificationError} Si la firma no cuadra con el cuerpo. En
|
|
50
|
+
* ese caso el cuerpo no se interpreta.
|
|
51
|
+
*/
|
|
52
|
+
export declare function parseWebhook(payload: Payload, signature: string | null | undefined, secret: string): WebhookEvent;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=webhooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3D,qFAAqF;AACrF,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD,kFAAkF;AAClF,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AACzD,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AASrD,KAAK,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAMnC,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,GACb,OAAO,CAWT;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,MAAM,GAAG,SAAS,CAOpB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,GACb,YAAY,CA4Bd"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verificación de la firma de un webhook.
|
|
3
|
+
*
|
|
4
|
+
* Cada entrega llega firmada con HMAC-SHA256 del cuerpo, usando el secreto que
|
|
5
|
+
* devolvió `POST /v1/webhooks` al registrar el endpoint. La firma viaja en
|
|
6
|
+
* hexadecimal, prefijada por el algoritmo:
|
|
7
|
+
*
|
|
8
|
+
* X-Webhook-Signature: sha256=<hex>
|
|
9
|
+
*
|
|
10
|
+
* Lo que se firma es el cuerpo tal como llegó. Interpretar el JSON y volver a
|
|
11
|
+
* serializarlo cambia los bytes, porque el orden de las claves, los espacios y
|
|
12
|
+
* el escape de los caracteres no ASCII no se conservan, y la firma deja de
|
|
13
|
+
* cuadrar. En Express, eso significa `express.raw()` en la ruta del webhook.
|
|
14
|
+
*
|
|
15
|
+
* @see https://docs.veriko.mx/es/concepts/webhooks-architecture
|
|
16
|
+
*/
|
|
17
|
+
import { createHmac, timingSafeEqual } from 'node:crypto';
|
|
18
|
+
import { SignatureVerificationError } from './errors.js';
|
|
19
|
+
/** Cabecera de la firma. Es genérica a propósito, no lleva el nombre de la marca. */
|
|
20
|
+
export const SIGNATURE_HEADER = 'X-Webhook-Signature';
|
|
21
|
+
/** Las otras tres cabeceras de una entrega sí derivan del nombre del servicio. */
|
|
22
|
+
export const EVENT_HEADER = 'X-Veriko-Event';
|
|
23
|
+
export const DELIVERY_ID_HEADER = 'X-Veriko-Delivery-Id';
|
|
24
|
+
export const TIMESTAMP_HEADER = 'X-Veriko-Timestamp';
|
|
25
|
+
const SIGNATURE_PREFIX = 'sha256=';
|
|
26
|
+
/** `true` cuando `data` es el recurso JSON:API de una validación. */
|
|
27
|
+
function isValidationResource(data) {
|
|
28
|
+
return typeof data === 'object' && data !== null && 'type' in data && data.type === 'validation';
|
|
29
|
+
}
|
|
30
|
+
function toBuffer(payload) {
|
|
31
|
+
return typeof payload === 'string' ? Buffer.from(payload, 'utf8') : Buffer.from(payload);
|
|
32
|
+
}
|
|
33
|
+
/** Devuelve el HMAC-SHA256 hexadecimal del cuerpo, sin el prefijo `sha256=`. */
|
|
34
|
+
export function computeSignature(payload, secret) {
|
|
35
|
+
return createHmac('sha256', secret).update(toBuffer(payload)).digest('hex');
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Comprueba la firma de una entrega. Devuelve `true` o `false`, sin lanzar.
|
|
39
|
+
*
|
|
40
|
+
* Acepta el valor de la cabecera con o sin el prefijo `sha256=`. La comparación
|
|
41
|
+
* es en tiempo constante, para no filtrar información por el tiempo de
|
|
42
|
+
* respuesta.
|
|
43
|
+
*
|
|
44
|
+
* @param payload El cuerpo crudo de la petición, sin reserializar.
|
|
45
|
+
* @param signature El valor de la cabecera `X-Webhook-Signature`.
|
|
46
|
+
* @param secret El secreto del endpoint, entregado al registrarlo.
|
|
47
|
+
*/
|
|
48
|
+
export function verifyWebhook(payload, signature, secret) {
|
|
49
|
+
if (!signature || !secret)
|
|
50
|
+
return false;
|
|
51
|
+
let received = signature.trim();
|
|
52
|
+
if (received.toLowerCase().startsWith(SIGNATURE_PREFIX)) {
|
|
53
|
+
received = received.slice(SIGNATURE_PREFIX.length);
|
|
54
|
+
}
|
|
55
|
+
const expected = computeSignature(payload, secret);
|
|
56
|
+
const receivedBuffer = Buffer.from(received.toLowerCase(), 'utf8');
|
|
57
|
+
const expectedBuffer = Buffer.from(expected, 'utf8');
|
|
58
|
+
if (receivedBuffer.length !== expectedBuffer.length)
|
|
59
|
+
return false;
|
|
60
|
+
return timingSafeEqual(receivedBuffer, expectedBuffer);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Busca la cabecera de firma en cualquiera de sus grafías.
|
|
64
|
+
*
|
|
65
|
+
* Los nombres de cabecera no distinguen mayúsculas, y cada framework los
|
|
66
|
+
* entrega a su manera.
|
|
67
|
+
*/
|
|
68
|
+
export function signatureFromHeaders(headers) {
|
|
69
|
+
const wanted = SIGNATURE_HEADER.toLowerCase();
|
|
70
|
+
for (const [name, value] of Object.entries(headers)) {
|
|
71
|
+
if (name.toLowerCase() !== wanted)
|
|
72
|
+
continue;
|
|
73
|
+
return Array.isArray(value) ? value[0] : value;
|
|
74
|
+
}
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Verifica la firma y devuelve el evento ya interpretado.
|
|
79
|
+
*
|
|
80
|
+
* @throws {SignatureVerificationError} Si la firma no cuadra con el cuerpo. En
|
|
81
|
+
* ese caso el cuerpo no se interpreta.
|
|
82
|
+
*/
|
|
83
|
+
export function parseWebhook(payload, signature, secret) {
|
|
84
|
+
if (!verifyWebhook(payload, signature, secret)) {
|
|
85
|
+
throw new SignatureVerificationError('La firma de la entrega no cuadra con el cuerpo recibido. Revisa que el ' +
|
|
86
|
+
'cuerpo sea el crudo, sin reserializar, y que el secreto sea el del ' +
|
|
87
|
+
'endpoint que envía.');
|
|
88
|
+
}
|
|
89
|
+
const text = typeof payload === 'string' ? payload : new TextDecoder().decode(payload);
|
|
90
|
+
const parsed = JSON.parse(text);
|
|
91
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
92
|
+
throw new SignatureVerificationError('El cuerpo de la entrega no es un objeto JSON');
|
|
93
|
+
}
|
|
94
|
+
const document = parsed;
|
|
95
|
+
const data = document['data'];
|
|
96
|
+
const validation = isValidationResource(data) ? data : undefined;
|
|
97
|
+
const event = {
|
|
98
|
+
event: typeof document['event'] === 'string' ? document['event'] : '',
|
|
99
|
+
};
|
|
100
|
+
if (typeof document['timestamp'] === 'string')
|
|
101
|
+
event.timestamp = document['timestamp'];
|
|
102
|
+
if (validation)
|
|
103
|
+
event.data = validation;
|
|
104
|
+
if (document['meta'] && typeof document['meta'] === 'object') {
|
|
105
|
+
event.meta = document['meta'];
|
|
106
|
+
}
|
|
107
|
+
return event;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=webhooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/webhooks.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@veriko-mx/sdk",
|
|
3
|
+
"version": "0.4.3",
|
|
4
|
+
"description": "SDK oficial de Veriko: valida transferencias SPEI contra el CEP de Banxico",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"cep",
|
|
7
|
+
"spei",
|
|
8
|
+
"banxico",
|
|
9
|
+
"veriko",
|
|
10
|
+
"mexico",
|
|
11
|
+
"payments",
|
|
12
|
+
"api",
|
|
13
|
+
"sdk",
|
|
14
|
+
"typescript"
|
|
15
|
+
],
|
|
16
|
+
"homepage": "https://docs.veriko.mx",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/veriko-mx-labs/veriko-js.git"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/veriko-mx-labs/veriko-js/issues"
|
|
23
|
+
},
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"author": "Veriko <soporte@veriko.mx>",
|
|
26
|
+
"type": "module",
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=18"
|
|
29
|
+
},
|
|
30
|
+
"main": "./dist/cjs/index.js",
|
|
31
|
+
"module": "./dist/esm/index.js",
|
|
32
|
+
"types": "./dist/esm/index.d.ts",
|
|
33
|
+
"exports": {
|
|
34
|
+
".": {
|
|
35
|
+
"import": {
|
|
36
|
+
"types": "./dist/esm/index.d.ts",
|
|
37
|
+
"default": "./dist/esm/index.js"
|
|
38
|
+
},
|
|
39
|
+
"require": {
|
|
40
|
+
"types": "./dist/cjs/index.d.ts",
|
|
41
|
+
"default": "./dist/cjs/index.js"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"./package.json": "./package.json"
|
|
45
|
+
},
|
|
46
|
+
"files": [
|
|
47
|
+
"dist",
|
|
48
|
+
"CHANGELOG.md",
|
|
49
|
+
"LICENSE",
|
|
50
|
+
"README.md"
|
|
51
|
+
],
|
|
52
|
+
"scripts": {
|
|
53
|
+
"build": "npm run build:esm && npm run build:cjs && node scripts/finish-build.mjs",
|
|
54
|
+
"build:esm": "tsc -p tsconfig.build.json --outDir dist/esm",
|
|
55
|
+
"build:cjs": "tsc -p tsconfig.build.json --module commonjs --moduleResolution node10 --outDir dist/cjs",
|
|
56
|
+
"gen:types": "openapi-typescript spec/openapi.yaml -o src/generated/openapi.ts",
|
|
57
|
+
"check:types-fresh": "node scripts/check-generated-types.mjs",
|
|
58
|
+
"check:spec-public": "node scripts/check-spec-is-public.mjs",
|
|
59
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
60
|
+
"lint": "eslint .",
|
|
61
|
+
"format": "prettier --write .",
|
|
62
|
+
"format:check": "prettier --check .",
|
|
63
|
+
"pretest": "tsc -p tsconfig.test.json",
|
|
64
|
+
"test": "node scripts/run-tests.mjs",
|
|
65
|
+
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true});require('node:fs').rmSync('dist-test',{recursive:true,force:true})\""
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@eslint/js": "^9.13.0",
|
|
69
|
+
"@types/node": "^22.7.0",
|
|
70
|
+
"ajv": "^8.20.0",
|
|
71
|
+
"eslint": "^9.13.0",
|
|
72
|
+
"openapi-typescript": "^7.4.0",
|
|
73
|
+
"prettier": "^3.3.0",
|
|
74
|
+
"typescript": "^5.6.0",
|
|
75
|
+
"typescript-eslint": "^8.10.0",
|
|
76
|
+
"yaml": "^2.9.1"
|
|
77
|
+
}
|
|
78
|
+
}
|