curl --request POST \
--url https://{organization}.rescueconsole.com/api/communications/threads/{id}/reply \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"body": "Saturday at 10am works well. See you then."
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({body: JSON.stringify('Saturday at 10am works well. See you then.')})
};
fetch('https://{organization}.rescueconsole.com/api/communications/threads/{id}/reply', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/communications/threads/{id}/reply"
payload = { "body": "Saturday at 10am works well. See you then." }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"status": "sent",
"to": "<string>",
"to_addresses": [
"<string>"
],
"cc_addresses": [
"<string>"
],
"subject": "<string>"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "<string>",
"reason": "<string>",
"message_id": "<string>"
}Reply in a conversation
Sends a reply in a conversation. This sends real email to real people, and it cannot be undone. Once the email service accepts a message it is on its way, and nothing can recall it. There is no test mode.
Who it goes to is read off the conversation, never from the request: the sender of the latest message when it came in, or everybody the latest message went to when it was yours. cc_person_ids adds people on file as copies.
What stops it, before anything is sent:
- A merge field such as
{{first_name}}is left anywhere in the subject or body (400). - Any address it goes to or copies is suppressed (409).
- A person copied has opted out of email altogether, or out of the category general (409). The people the reply goes to are not checked against preferences.
- Your organization cannot send email yet (409), or the conversation has no message or no address to reply to (409).
If the email service refuses the reply, the answer is 502: the reply is kept in the conversation, marked as not sent, and the reason is in reason.
A key sees the inboxes that the person who made the key may read, as that person’s access stands at the moment of the request; a conversation in any other inbox answers 404, the same as one that does not exist. Needs write on Communications.
curl --request POST \
--url https://{organization}.rescueconsole.com/api/communications/threads/{id}/reply \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"body": "Saturday at 10am works well. See you then."
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({body: JSON.stringify('Saturday at 10am works well. See you then.')})
};
fetch('https://{organization}.rescueconsole.com/api/communications/threads/{id}/reply', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/communications/threads/{id}/reply"
payload = { "body": "Saturday at 10am works well. See you then." }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"status": "sent",
"to": "<string>",
"to_addresses": [
"<string>"
],
"cc_addresses": [
"<string>"
],
"subject": "<string>"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "<string>",
"reason": "<string>",
"message_id": "<string>"
}Authorizations
An API key from Settings, API keys. It starts with rc_live_.
Path Parameters
The conversation's ID.
Body
Send the body as body_blocks or as body.
A message written as a document: at most 200 blocks.
One block of a document. An unknown type is refused.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
Show child attributes
Show child attributes
The body as plain text, when you do not send body_blocks.
Re: and the conversation's subject, unless you say.
People on file to copy, 20 at most. Copies can only be people on file, never typed addresses.
20