#!/usr/bin/env sh
set -eu

: "${WA_WEBHOOK_SECRET:?Set WA_WEBHOOK_SECRET first}"

WA_WEBHOOK_URL="${WA_WEBHOOK_URL:-http://localhost:3000/webhook/booking}"
REQUIRE_WEBHOOK_SIGNATURE="${REQUIRE_WEBHOOK_SIGNATURE:-false}"

BODY='{
  "trip_title": "Test voyage TopTravel",
  "event_date": "25 mai 2026",
  "full_name": "Client Test",
  "phone": "0664726044",
  "whatsapp": "0664726044",
  "participants": "2",
  "departure_point": "Casablanca",
  "whatsapp_opt_in": "Oui"
}'

if [ "$REQUIRE_WEBHOOK_SIGNATURE" = "true" ]; then
  TS="$(date +%s)"
  SIG="$(printf '%s.%s' "$TS" "$BODY" | openssl dgst -sha256 -hmac "$WA_WEBHOOK_SECRET" -hex | awk '{print $NF}')"

  curl -sS -X POST "$WA_WEBHOOK_URL" \
    -H "Content-Type: application/json" \
    -H "X-TT-WA-SECRET: ${WA_WEBHOOK_SECRET}" \
    -H "X-TT-WA-TIMESTAMP: ${TS}" \
    -H "X-TT-WA-SIGNATURE: ${SIG}" \
    -d "$BODY"
  exit $?
fi

curl -sS -X POST "$WA_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -H "X-TT-WA-SECRET: ${WA_WEBHOOK_SECRET}" \
  -d "$BODY"
