#!/bin/bash # === CONFIGURACIÓN: Tus credenciales === API_KEY="bg_28730a088b4b71c307ed5773b84d8267" API_SECRET="f7e4872f828c99612df009c3641421fc41d9dfb9cfc56dce3311fdaae70f5b29" PASSPHRASE="cQTVzepB6KuFWgWLgCpB6kW84iiqJr3u" # === ENDPOINT === METHOD="GET" BASE_URL="https://api.bitget.com" ENDPOINT="/api/v2/tax/spot-record" # === ARCHIVO SALIDA === OUTPUT_FILE="spot-record-2025.csv" > "$OUTPUT_FILE" # === CABECERA CSV === echo '"id","coin","spotTaxType","amount","fee","balance","ts","fecha_gmt1","bizOrderId"' > "$OUTPUT_FILE" # === FUNCIONES === function timestamp() { date -u -j -f "%Y-%m-%d" "$1" +"%s" } function build_request() { local START_TS_MS="$1" local END_TS_MS="$2" local LIMIT=100 local QUERY_STRING="startTime=${START_TS_MS}&endTime=${END_TS_MS}&limit=${LIMIT}" local FULL_URL="${BASE_URL}${ENDPOINT}?${QUERY_STRING}" local TIMESTAMP=$(curl -s https://api.bitget.com/api/v2/public/time | jq -r '.data.serverTime') local PREHASH="${TIMESTAMP}${METHOD}${ENDPOINT}?${QUERY_STRING}" local SIGNATURE=$(echo -n "${PREHASH}" | openssl dgst -sha256 -hmac "${API_SECRET}" -binary | base64) curl -s "${FULL_URL}" \ -H "ACCESS-KEY: ${API_KEY}" \ -H "ACCESS-SIGN: ${SIGNATURE}" \ -H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \ -H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \ -H "Content-Type: application/json" \ -H "locale: en-US" } # === BUCLE POR BLOQUES DE 30 DÍAS === START_DATE="2025-01-01" END_DATE="2026-01-01" CURRENT_DATE="$START_DATE" while [[ "$CURRENT_DATE" < "$END_DATE" ]]; do NEXT_DATE=$(date -j -v+30d -f "%Y-%m-%d" "$CURRENT_DATE" +"%Y-%m-%d") START_MS=$(($(timestamp "$CURRENT_DATE") * 1000)) END_MS=$(($(timestamp "$NEXT_DATE") * 1000)) echo "🔄 Consultando de $CURRENT_DATE a $NEXT_DATE..." RESPONSE=$(build_request "$START_MS" "$END_MS") echo "$RESPONSE" | jq -r ' if .code == "00000" and (.data | length > 0) then .data[] | [ .id, .coin, .spotTaxType, .amount, .fee, .balance, .ts, (.ts|tonumber/1000 | strflocaltime("%Y-%m-%d %H:%M:%S +0100")), .bizOrderId ] | @csv else empty end ' >> "$OUTPUT_FILE" sleep 2 CURRENT_DATE="$NEXT_DATE" done echo "✅ Exportado como $OUTPUT_FILE"