Create conversation
curl --request POST \
--url https://api.managem.co.uk/conversations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"source": {
"id": "<string>"
},
"recipientId": "<string>",
"body": "<string>"
}
'import requests
url = "https://api.managem.co.uk/conversations"
payload = {
"source": { "id": "<string>" },
"recipientId": "<string>",
"body": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
source: {id: '<string>'},
recipientId: '<string>',
body: JSON.stringify('<string>')
})
};
fetch('https://api.managem.co.uk/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.managem.co.uk/conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'source' => [
'id' => '<string>'
],
'recipientId' => '<string>',
'body' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.managem.co.uk/conversations"
payload := strings.NewReader("{\n \"source\": {\n \"id\": \"<string>\"\n },\n \"recipientId\": \"<string>\",\n \"body\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.managem.co.uk/conversations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"source\": {\n \"id\": \"<string>\"\n },\n \"recipientId\": \"<string>\",\n \"body\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.managem.co.uk/conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"source\": {\n \"id\": \"<string>\"\n },\n \"recipientId\": \"<string>\",\n \"body\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"source": {
"id": "<string>"
},
"userA": {
"id": "<string>",
"username": "<string>",
"reviews": 123,
"rating": 123,
"score": 123,
"sales": 123,
"purchases": 123,
"joined": "2023-11-07T05:31:56Z",
"avatar": "<string>",
"cover": "<string>",
"profile": "<string>"
},
"userB": {
"id": "<string>",
"username": "<string>",
"reviews": 123,
"rating": 123,
"score": 123,
"sales": 123,
"purchases": 123,
"joined": "2023-11-07T05:31:56Z",
"avatar": "<string>",
"cover": "<string>",
"profile": "<string>"
},
"locked": true,
"createdAt": "<string>",
"updatedAt": "<string>",
"lastMessage": {
"id": "<string>",
"conversationId": "<string>",
"sender": {
"id": "<string>",
"username": "<string>",
"reviews": 123,
"rating": 123,
"score": 123,
"sales": 123,
"purchases": 123,
"joined": "2023-11-07T05:31:56Z",
"avatar": "<string>",
"cover": "<string>",
"profile": "<string>"
},
"body": "<string>",
"createdAt": "<string>",
"viewedAt": "<string>",
"attachments": [
{
"id": "<string>",
"imageId": "<string>",
"url": "<string>"
}
]
}
}Conversations
Create conversation
Create a conversation and send the first message.
Use this endpoint to start buyer/seller conversations from listing or order context.
Behavior:
- Creates the conversation and initial message in one request.
- Sends an email notification when the recipient is inactive.
POST
/
conversations
Create conversation
curl --request POST \
--url https://api.managem.co.uk/conversations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"source": {
"id": "<string>"
},
"recipientId": "<string>",
"body": "<string>"
}
'import requests
url = "https://api.managem.co.uk/conversations"
payload = {
"source": { "id": "<string>" },
"recipientId": "<string>",
"body": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
source: {id: '<string>'},
recipientId: '<string>',
body: JSON.stringify('<string>')
})
};
fetch('https://api.managem.co.uk/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.managem.co.uk/conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'source' => [
'id' => '<string>'
],
'recipientId' => '<string>',
'body' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.managem.co.uk/conversations"
payload := strings.NewReader("{\n \"source\": {\n \"id\": \"<string>\"\n },\n \"recipientId\": \"<string>\",\n \"body\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.managem.co.uk/conversations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"source\": {\n \"id\": \"<string>\"\n },\n \"recipientId\": \"<string>\",\n \"body\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.managem.co.uk/conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"source\": {\n \"id\": \"<string>\"\n },\n \"recipientId\": \"<string>\",\n \"body\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"source": {
"id": "<string>"
},
"userA": {
"id": "<string>",
"username": "<string>",
"reviews": 123,
"rating": 123,
"score": 123,
"sales": 123,
"purchases": 123,
"joined": "2023-11-07T05:31:56Z",
"avatar": "<string>",
"cover": "<string>",
"profile": "<string>"
},
"userB": {
"id": "<string>",
"username": "<string>",
"reviews": 123,
"rating": 123,
"score": 123,
"sales": 123,
"purchases": 123,
"joined": "2023-11-07T05:31:56Z",
"avatar": "<string>",
"cover": "<string>",
"profile": "<string>"
},
"locked": true,
"createdAt": "<string>",
"updatedAt": "<string>",
"lastMessage": {
"id": "<string>",
"conversationId": "<string>",
"sender": {
"id": "<string>",
"username": "<string>",
"reviews": 123,
"rating": 123,
"score": 123,
"sales": 123,
"purchases": 123,
"joined": "2023-11-07T05:31:56Z",
"avatar": "<string>",
"cover": "<string>",
"profile": "<string>"
},
"body": "<string>",
"createdAt": "<string>",
"viewedAt": "<string>",
"attachments": [
{
"id": "<string>",
"imageId": "<string>",
"url": "<string>"
}
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Response
201 - application/json
Conversation created
Unique identifier for the conversation
Conversation source
Show child attributes
Show child attributes
First participant
Show child attributes
Show child attributes
Second participant
Show child attributes
Show child attributes
Whether the conversation is locked
Timestamp when the conversation was created
Timestamp when the conversation was last updated
Latest message in the conversation
Show child attributes
Show child attributes
⌘I