Версия API Graph

Сообщение

Отдельное сообщение в переписке в Messenger или Instagram.

Используйте конечную точку переписки или Webhooks для получения ID отдельных сообщений.

Чтение

Graph API Explorer
GET /v21.0/{message-id} HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{message-id}',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{message-id}",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{message-id}",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{message-id}"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Требования

ТипОписание

Проверка приложения

Обязательна для доступа к данным людей, у которых нет роли в вашем приложении (например, роли разработчика, тестировщика или администратора).

Функции

Неприменимо.

Маркеры

Маркер доступа к Странице от пользователя, способного выполнять задачу MODERATE или MESSAGING на Странице, которая запрашивается или связана с профессиональным аккаунтом Instagram.

Разрешения

Разрешения pages_messaging и pages_manage_metadata.

Разрешения instagram_basic и instagram_manage_messaging также необходимы для обмена сообщениями в Instagram.

Ограничения

Для обмена сообщениями в Instagram

  • Доступ к этой конечной точке могут получить только профессиональные аккаунты Instagram, имеющие связанную Страницу Facebook.
  • При запросе этой конечной точки будут возвращены все сообщения в переписке. Однако вы сможете запросить данные только для 20 последних сообщений в переписке. Если сообщение не находится среди 20 последних, появится ошибка с информацией о его удалении.

Поля

Если в поле нет данных, оно не будет возвращено в ответе JSON.

ИмяОписание

attachments.data

Массив
file_url
generic_template
id
image_data
name
video_data

Прикрепленные к сообщению медиафайлы, например изображения, видео или URL файла в сети распространения контента.


URL файла, прикрепленного к сообщению.

URL изображения, прикрепленного к сообщению. Может содержать следующие пары "ключ:значение":

  • cta — объект с title, type, url;
  • medial_url — строка, URL изображения;
  • subtitle — строка, значение в пикселях;
  • title — строка.

ID вложения.

URL изображения, прикрепленного к сообщению. Может содержать следующие пары "ключ — значение":

  • animated_gif_preview_url — строка, URL для предпросмотра GIF;
  • animated_gif_url — строка, URL файла GIF;
  • height — целое число, высота в пикселях;
  • max_height — целое число, максимальная высота в пикселях;
  • max_width — целое число, максимальная ширина в пикселях;
  • preview_url — строка, предпросмотр для URL;
  • render_as_sticker (отображение в виде стикера) — логическое значение true или false;
  • url — строка, URL изображения;
  • width — целое число, ширина в пикселях.

Имя вложения.

URL видео, прикрепленного к сообщению.

created_time

datetime

Время создания сообщения.

from

Объект
id
email
name
username

Информация об отправителе сообщения. Может представлять человека, Страницу или профессиональный аккаунт Instagram.

В качестве ID может быть ID с областью действия Instagram или ID с областью действия Страницы для пользователя либо ID Страницы или ID профессионального аккаунта Instagram для вашей компании.

Электронный адрес пользователя или Страницы Facebook. Только обмен сообщениями на Странице

Имя пользователя или Страницы Facebook. Только обмен сообщениями на Странице

Имя пользователя Instagram или вашего профессионального аккаунта Instagram. Только обмен сообщениями в Instagram

"from": {
    "username": "INSTAGRAM-USERNAME",
    "id": "ID"
  }

id

Строка

ID сообщения.

is_unsupported

Логическое значение

Only returned when true; a message contains unsupported content.

message

Строка

Текст сообщения. Если текст не является частью сообщения, это поле будет пустым.

reactions

Массив
data Массив
reaction Смайлик
users Массив объектов
id

username

Типы реакций, полученных сообщением, со списком всех пользователей, которые продемонстрировали тот тип реакции.

Массив объектов реакции.

Тип смайлика реакции.

Список людей, отреагировавших на сообщение.


В качестве ID может быть ID с областью действия Instagram для пользователя в Instagram или ID профессионального аккаунта Instagram для вашей компании.

Имя пользователя для пользователя Instagram или для вашего профессионального аккаунта Instagram. Только обмен сообщениями в Instagram

"reactions":
  {
    "reaction": "❤️",
    "users" : [
      {
        "username": "INSTAGRAM-USERNAME",
        "id": "ID", 
      },
    ]
  }

shares

Массив

Репосты медиафайлов, например публикации или шаблоны товара, добавленные в сообщение. Обратите внимание: чтобы получить данные, для объекта репостов вам необходимо также запросить дополнительные поля.

"shares": {
  "data": [{
    "template": {
      "payload":{
        "product": {
           "elements":{     //Can contain multiple products if applicable
             "data": [
              {
                "id" : "PRODUCT-ID",    // 0 if business can't see this product
                "retailer_id": "ID-ASSIGNED-BY-THE-RETAILER", 
                "image_url" : "IMAGE-URL", 
                "name" : "PRODUCT-NAME",
                "price" : "$10"
              },
            ],
          }
        }
      }
    }
  }]
}   

story

Массив

Ссылка и ID истории. Поддерживаются только упоминания и ответы.

StoryReply: 
{
    "link": "CDN-URL",
    "id": "STORY-ID"
}

StoryMention: 
{
    "link": "CDN-URL",
    "id": "STORY-ID"
}

tags

Объект

Массив data с именами тегов, указывающих на папку и источник сообщения.

  • Для Страниц Facebook в качестве name могут использоваться inbox, read, source:chat,

to

Объект
data Массив
id
email
name
username

Информация о получателе сообщения.



В качестве ID может использоваться ID с областью действия Instagram или ID с областью действия Страницы для пользователя либо ID Страницы или ID профессионального аккаунта Instagram для компании.

Электронный адрес пользователя или Страницы Facebook. Только обмен сообщениями на Странице

Имя пользователя или Страницы Facebook. Только обмен сообщениями на Странице

Имя пользователя Instagram или вашего профессионального аккаунта Instagram. Только обмен сообщениями в Instagram

"to": {
  "data": [
    { 
      "username": "INSTAGRAM-USERNAME", 
      "id": "ID" 
    }
  ]
}

Границы контекста

Имя Описание

/attachments

Файлы, прикрепленные к сообщению.

/shares

Отправленные объекты, в том числе ссылки, фотографии, видео, стикеры и продукты.

Создание

Эта операция не поддерживается для данной конечной точки.

Обновление

Эта операция не поддерживается для данной конечной точки.

Удаление

Эта операция не поддерживается для данной конечной точки.