Synchronous mode
When you send a message in synchronous mode with Pushback's API , it'll hold the connection open (long-polling) until a user replies to the message.
To use synchronous mode, change the API endpoint from send
to send_sync
. The full API endpoint for sync mode is https://api.pushback.io/v1/send_sync
. Refer to Getting Started) for code examples.
Caution: Since network conditions are unreliable, a synchronous connection can't be garanteed. In order to get reliable replies from messages consider using Webhooks.
Pushback does its best to maintain the connection for about 24 hours.
Example: Bash Workout Tracker
Here's an example of how to make a workout tracker in bash
.
export PUSHBACK_TOKEN=<token>
export WORKOUT_DURATION=10s
export PUSHBACK_CHANNEL=<channel id>
curl -s https://api.pushback.io/v1/send_sync \
-u $PUSHBACK_TOKEN: \
-d "id=$PUSHBACK_CHANNEL" \
-d 'title=Workout time' \
-d 'body=Its time to start your workout' \
-d 'action1=Start' \
| xargs -I {} bash -c 'if [[ "Start" == "{}" ]]; then
sleep $WORKOUT_DURATION && curl -s https://api.pushback.io/v1/send \
-u $PUSHBACK_TOKEN: \
-d "id=$PUSHBACK_CHANNEL" \
-d "title=Workout finished" \
-d "body=Great job, you worked out for $WORKOUT_DURATION"
fi'
The first curl will send a message with an action Start
.
We were ready to workout so we pressed Start
on the notification. The first curl receives the response Start
as plain-text. We can use xargs to pipe the response into another bash script that will sleep 10 seconds, then send another message.
Whew, what a workout!