Mentions
Reply to a mention (API key)
Reply to a caption or comment that @mentioned the connected account,
using your hmok_ API key. Accepts an API key scoped to
messages.send or channel.manage. Delivery is at-least-once: do
not retry a request whose response you did not receive without
checking first.
POST
/
channels
/
{ch}
/
instagram
/
mentions
/
{mediaId}
/
replies
Reply to a mention (API key)
curl --request POST \
--url https://api.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"text": "<string>",
"commentId": "<string>"
}
'import requests
url = "https://api.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies"
payload = {
"text": "<string>",
"commentId": "<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({text: '<string>', commentId: '<string>'})
};
fetch('https://api.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies', 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.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies",
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([
'text' => '<string>',
'commentId' => '<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.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies"
payload := strings.NewReader("{\n \"text\": \"<string>\",\n \"commentId\": \"<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.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"<string>\",\n \"commentId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies")
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 \"text\": \"<string>\",\n \"commentId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"channelId": "<string>",
"mediaId": "<string>",
"target": "comment",
"replyId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}Use
Authorization: Bearer hmok_... (an API key, or a dashboard session) instead of a channel token. Accepted scopes are messages.send or channel.manage.
Delivery is at-least-once: don’t automatically retry after an ambiguous failure (timeout, dropped connection). Check the mention’s thread first to see whether your reply already posted.
If you need the raw Graph request, see the hmat_ gateway twin.Authorizations
Authorization: Bearer hmok_... API key or a dashboard session token
Body
application/json
⌘I
Reply to a mention (API key)
curl --request POST \
--url https://api.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"text": "<string>",
"commentId": "<string>"
}
'import requests
url = "https://api.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies"
payload = {
"text": "<string>",
"commentId": "<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({text: '<string>', commentId: '<string>'})
};
fetch('https://api.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies', 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.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies",
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([
'text' => '<string>',
'commentId' => '<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.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies"
payload := strings.NewReader("{\n \"text\": \"<string>\",\n \"commentId\": \"<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.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"<string>\",\n \"commentId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hookmyapp.com/channels/{ch}/instagram/mentions/{mediaId}/replies")
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 \"text\": \"<string>\",\n \"commentId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"channelId": "<string>",
"mediaId": "<string>",
"target": "comment",
"replyId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}{
"statusCode": 403,
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}