diff --git a/doc/EXAMPLES.md b/doc/EXAMPLES.md new file mode 100644 index 0000000..f4cce4c --- /dev/null +++ b/doc/EXAMPLES.md @@ -0,0 +1,104 @@ + +# Sample REST API calls: + +- Register a number (with SMS verification) + +`curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/register/'` + +e.g: + +`curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/register/+431212131491291'` + +- Register a number (with voice verification) + +`curl -X POST -H "Content-Type: application/json" --data '{"use_voice": true}' 'http://127.0.0.1:8080/v1/register/'` + +e.g: + +`curl -X POST -H "Content-Type: application/json" --data '{"use_voice": true}' 'http://127.0.0.1:8080/v1/register/+431212131491291'` + +- Verify the number using the code received via SMS/voice + + `curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/register//verify/'` + + e.g: + + `curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/register/+431212131491291/verify/123-456'` + +- Send a message to multiple recipients + + `curl -X POST -H "Content-Type: application/json" -d '{"message": "", "number": "", "recipients": ["", ""]}' 'http://127.0.0.1:8080/v2/send'` + + e.g: + + `curl -X POST -H "Content-Type: application/json" -d '{"message": "Hello World!", "number": "+431212131491291", "recipients": ["+4354546464654", "+4912812812121"]}' 'http://127.0.0.1:8080/v2/send'` + +- Send a message (+ base64 encoded attachment) to multiple recipients + + `curl -X POST -H "Content-Type: application/json" -d '{"message": "", "base64_attachments": [""], "number": "", "recipients": ["", ""]}' 'http://127.0.0.1:8080/v2/send'` + +- Send a message to a group + + The group id can be obtained via the "List groups" REST call. + + `curl -X POST -H "Content-Type: application/json" -d '{"message": "", "number": "", "recipients": [""]}' 'http://127.0.0.1:8080/v2/send'` + + e.g: + + `curl -X POST -H "Content-Type: application/json" -d '{"message": "Hello World!", "number": "+431212131491291", "recipients": ["group.ckRzaEd4VmRzNnJaASAEsasa", "+4912812812121"]}' 'http://127.0.0.1:8080/v2/send'` + +- Receive messages + + Fetch all new messages in the inbox of the specified number. + + `curl -X GET -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/receive/'` + + e.g: + + `curl -X GET -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/receive/+431212131491291'` + +- Create a new group + + Create a new group with the specified name and members. + + `curl -X POST -H "Content-Type: application/json" -d '{"name": "", "members": ["", ""]}' 'http://127.0.0.1:8080/v1/groups/'` + + e.g: + + `curl -X POST -H "Content-Type: application/json" -d '{"name": "my group", "members": ["+4354546464654", "+4912812812121"]}' 'http://127.0.0.1:8080/v1/groups/+431212131491291'` + +- List groups + + `curl -X GET -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/groups/'` + + e.g: + + `curl -X GET -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/groups/+431212131491291'` + +- Delete a group + + Delete the group with the given group id. The group id can be obtained via the "List groups" REST call. + + `curl -X DELETE -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/groups//'` + + e.g: + + `curl -X DELETE -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/groups/+431212131491291/ckRzaEd4VmRzNnJaASAEsasa'` + +- Link a device + + `curl -X GET -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/qrcodelink?device_name='` + + e.g: + + `curl -X GET -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/qrcodelink?device_name=HomeAssistant'` + + This provides a QR-Code image. In case of an error a JSON object will be returned. + + Due to security reason of Signal, the provided QR-Code will change with each request. + +The following REST API endpoints are **deprecated and no longer maintained!** + + +`/v1/send` +