cashumit/curl_scripts/get_transactions.sh

39 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# --- Script untuk Mendapatkan Daftar Transaksi dari Firefly III ---
# Gantilah nilai berikut dengan nilai yang sesuai:
# - FIREFLY_URL: URL instance Firefly III Anda
# - ACCESS_TOKEN: Token akses personal yang valid
# Contoh menjalankan:
# FIREFLY_URL="http://localhost:8080" ACCESS_TOKEN="token_anda" ./get_transactions.sh
if [[ -z \"${FIREFLY_URL}\" || -z \"${ACCESS_TOKEN}\" ]]; then
echo \"Error: FIREFLY_URL dan ACCESS_TOKEN harus diset.\"
echo \"Contoh penggunaan:\"
echo \"FIREFLY_URL=\\\"http://localhost:8080\\\" ACCESS_TOKEN=\\\"token_anda\\\" ./get_transactions.sh\"
exit 1
fi
echo \"Mengambil daftar transaksi dari Firefly III...\"
echo \"URL: $FIREFLY_URL\"
echo \"\"
# Ambil 5 transaksi terakhir
RESPONSE=$(curl -s -w \"%{http_code}\" -X GET \"${FIREFLY_URL}/api/v1/transactions\" \
-H \"Authorization: Bearer ${ACCESS_TOKEN}\" \
-H \"Accept: application/json\")
HTTP_CODE=\"${RESPONSE: -3}\"
JSON_RESPONSE=\"${RESPONSE%???}\"
echo \"HTTP Code: $HTTP_CODE\"
if [[ \"$HTTP_CODE\" -eq 200 ]]; then
echo \"Daftar transaksi (5 terakhir):\"
echo \"$JSON_RESPONSE\" | jq '.data[0:5] | .[] | {id: .id, journal_id: .attributes.transactions[0].transaction_journal_id, description: .attributes.description, date: .attributes.date}'
else
echo \"Gagal mengambil daftar transaksi.\"
if [[ -n \"$JSON_RESPONSE\" ]]; then
echo \"Response: $JSON_RESPONSE\"
fi
fi