Skip to content

Webhook — def-exsport-webhook

App Express kecil yang menerima callback dari third party lalu mempublish ulang tiap callback ke SNS topic. Ini sisi fan-out masuk dari integrasi.

Cara halaman ini diverifikasi

Dibaca pada 2026-09-15 dari index.js dan package.json. Checkout lokal: /Volumes/xpro/erisristemena/nodejs/def-exsport-webhook.

Stack

Express 5.1, plain JavaScript (index.js, tanpa TypeScript), aws-sdk 2, axios, dotenv. Node ≥ 20. Script: start = node index.js, dev = nodemon index.js. Port dari APP_PORT (default 3000). Punya Dockerfile. Single-branch: main only — commit langsung di situ, dan tetap auto-deploy saat push (deploy/prod.sh).

Apa yang dilakukan

Route diberi prefix APP_PREFIX kalau diset. GET / dan GET di tiap path callback mengembalikan ok (health). Tiga callback POST masuk, masing-masing dipublish ulang ke SNS topic berbeda lewat SNS.publish:

CallbackRouteEnv SNS topic
WMS / stockPOST /inventorySNS_TOPIC_WMS_ARN
BiteshipPOST /deliverySNS_TOPIC_DELIVERY_ARN
DOKUPOST /paymentSNS_TOPIC_PAYMENT_ARN

Tiap handler mencatat header dan body, lalu mempublish Message: JSON.stringify(req.body). AWS dikonfigurasi dari AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY.

SNS topic dan subscription-nya didefinisikan di Pulumi stack webhook. Lihat Third parties untuk bagaimana callback ini sampai ke handler webhooks/* di backend.