added Bash example
parent
fdf3c3bf64
commit
31b173ee81
@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
## Bash Library for sending out Pages and/or getting their State
|
||||||
|
# dependencies: curl, jq
|
||||||
|
|
||||||
|
# echo "Bericht" | send_page "duplex" "dapnet=dl-all#DXxxx"
|
||||||
|
send_page() {
|
||||||
|
text=$(cat -)
|
||||||
|
endpoint=$1
|
||||||
|
msgType=$2
|
||||||
|
deviceType=$3
|
||||||
|
argArr=("$@")
|
||||||
|
connectorJSON=$(for arg in "${argArr[@]}"; do echo $arg; done | jq -Rcs '{array:split("\n")|.[3:-1]|map(split("=")|[(.[0]),.[1]]?)}.array')
|
||||||
|
echo $connectorJSON |\
|
||||||
|
jq -c --arg t "$msgType" --arg d "$deviceType" --arg p "$text" '{type:$t, routing: {connectors:.,device:$d}, payload:$p}' |\
|
||||||
|
curl -s -XPOST -H "Content-type: application/json" "$endpoint/api/message/advanced" -d @- |\
|
||||||
|
jq -r .
|
||||||
|
}
|
||||||
|
msg_status() {
|
||||||
|
endpoint=$1
|
||||||
|
msgid=$2
|
||||||
|
curl -s "$endpoint/api/message/status/$msgid" |\
|
||||||
|
jq -r ._routerData
|
||||||
|
}
|
||||||
|
is_msg_recv() {
|
||||||
|
msg_status $* | jq .recvAck | grep -q "true"
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
is_msg_read() {
|
||||||
|
msg_status $* | jq .readAck | grep -q "true"
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
is_msg_resp() {
|
||||||
|
msg_status $* | jq .response | grep -vq "false"
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
ENDPOINT="http://127.0.0.1:3000"
|
||||||
|
#echo "Test" | send_page "$ENDPOINT" "duplex" "birdyslim" "pocsag=133701D" "test=123"
|
||||||
|
#msgid=$(echo "Test" | send_page "$ENDPOINT" "duplex" "birdyslim" "pocsag=133701D" "test=123")
|
||||||
|
msgid="Bznka"
|
||||||
|
msg_status "$ENDPOINT" "$msgid"
|
||||||
|
|
||||||
|
|
||||||
|
if is_msg_recv "$ENDPOINT" "$msgid"; then
|
||||||
|
echo "message is recv"
|
||||||
|
fi
|
||||||
|
if is_msg_read "$ENDPOINT" "$msgid"; then
|
||||||
|
echo "message is read"
|
||||||
|
fi
|
Loading…
Reference in New Issue