--- title: crwdns59378:0crwdne59378:0 image: crwdns59380:0crwdne59380:0 info: crwdns59382:0crwdne59382:0 --- Header ## crwdns59384:0crwdne59384:0 crwdns59386:0crwdne59386:0 crwdns59388:0crwdne59388:0 crwdns59390:0crwdne59390:0 crwdns59392:0crwdne59392:0 crwdns59394:0crwdne59394:0 ## crwdns59396:0crwdne59396:0 crwdns59398:0crwdne59398:0 1. crwdns59400:0crwdne59400:0 2. crwdns59402:0crwdne59402:0 3. crwdns59404:0crwdne59404:0 crwdns59406:0crwdne59406:0 4. crwdns59408:0crwdne59408:0 crwdns59410:0crwdne59410:0 crwdns59412:0crwdne59412:0 crwdns59414:0crwdne59414:0 crwdns59416:0crwdne59416:0 ## crwdns59418:0crwdne59418:0 crwdns59420:0crwdne59420:0 crwdns59422:0crwdne59422:0 - crwdns59424:0crwdne59424:0 - crwdns59426:0crwdne59426:0 - crwdns59428:0crwdne59428:0 - crwdns59430:0crwdne59430:0 crwdns59432:0crwdne59432:0 crwdns59434:0crwdne59434:0 crwdns59436:0crwdne59436:0 ``` { "event": "person.created", "data": { "id": "abc12345", "firstName": "Alice", "lastName": "Doe", "email": "alice@example.com", "createdAt": "2025-02-10T15:30:45Z", "createdBy": "user_123" }, "timestamp": "2025-02-10T15:30:50Z" } ``` crwdns59438:0crwdne59438:0 - crwdns59440:0crwdne59440:0 - crwdns59442:0crwdne59442:0 - crwdns59444:0crwdne59444:0 crwdns59446:0crwdne59446:0 crwdns59448:0crwdne59448:0 crwdns59450:0crwdne59450:0 crwdns59452:0crwdne59452:0 crwdns59454:0crwdne59454:0 ## crwdns59456:0crwdne59456:0 crwdns59458:0crwdne59458:0 crwdns59460:0crwdne59460:0 crwdns59462:0crwdne59462:0 1. crwdns59464:0crwdne59464:0 2. crwdns59466:0crwdne59466:0 3. crwdns59468:0crwdne59468:0 crwdns59470:0crwdne59470:0 ```javascript const crypto = require("crypto"); const timestamp = "1735066639761"; const payload = JSON.stringify({...}); const secret = "your-secret"; const stringToSign = `${timestamp}:${JSON.stringify(payload)}`; const signature = crypto.createHmac("sha256", secret) .update(stringToSign) .digest("hex"); ```