Документация по Insta API

Синтаксис запроса

Чтобы обратиться к методу API, Вам необходимо выполнить POST или GET запрос такого вида:

https://api.getloo.ru/insta/TOKEN/METHOD_NAME

Он состоит из нескольких частей:

  • TOKEN - ключ доступа

  • METHOD_NAME - название метода API.

Описание методов:

getInfo (GET, POST)

Получить информацию о канале.

Пример вызова

Запрос:

https://api.getloo.ru/insta/G23SF-AKFH5-H390S-HDRJS-Y5U43/getInfo

Ответ сервера:

{
"result": {
"success": true
},
"channel": {
"id": "235",
"user_id": "47367670531",
"username": "getcourseru",
"status": true
},
"error": null
}

В ответ сервер вернет JSON-объект (или сообщение об ошибке, если что-то пошло не так) и http код в случаи успеха: 200.

Коды (http-статусы) ответов:

  • 200 - успешная авторизация
  • 400 - не верный запрос
  • 401 - недействительный токен
  • 402 - нет  активных каналов (оплаченных или авторизованных)

result.success отдает success false, если активных каналов нет у юзера

channel.status отдает статус канала, true - оплачен и авторизован, false - не оплачен или не авторизован

channel.user_id содержит уникальный id пользователя Insta, требуется для проверки уникальности привязки к интеграции к порталу.

channel.username содержит никнейм (юзернейм)  публичный  по которому можно найти пользователя в Insta. Параметр может быть сменен. Не проверяйте по нему уникальность.

channel.id содержит идентификатор канала  / группы каналов

error  передает описание ошибки, если success false

sendMsg (POST)

Отправка сообщений.

Обязательные параметры POST:

  • username - никнейм Insta, получателя сообщения без «@» вначале.
  • user_id - уникальный клиентский номер Insta или id комментария (приходит в хуке при комментарии)
  • file - ссылка на файл для отправки

Не обязательные параметры:

  • caption - текст сообщения. (максимальная длина 1000 символов). Форматирование – отсутствует.
  • options - массив кнопок быстрых ответов (до 13 кнопок,  текст до 20 символов)
{
"username": "ig_username",
"user_id": "1234556",
"file": "https://fileurl.ru/fileid",
"caption": "Пример текста",
"options": [
"Кнопка быстрого ответа 1",
"Кнопка быстрого ответа 2",
...
]
}

Пример вызова

Запрос:

https://api.getloo.ru/insta/G23SF-AKFH5-H390S-HDRJS-Y5U43/sendMsg

Ответ сервера:

{
"result": {
"success": true,
"queue_id": "035c10f2c99165a7f72683ffd0c01abcca1b2019"
},
"error": null
}

В ответ сервер вернет JSON-объект (или сообщение об ошибке, если что-то пошло не так) и http код в случаи успеха: 200.

Коды (http-статусы) ответов:

  • 200 - успешная авторизация
  • 400 - не верный запрос
  • 401 - недействительный токен
  • 402 - нет активных каналов (оплаченных или авторизованных)

result.success отдает success true, если сообщение принято в очередь на отправку

result.queue_id содержит уникальный идентификатор сообщения, который в дальнейшем будет приходить в веб-хуках со статусом

error  передает описание ошибки, если success false

Поддерживаемые типы и максимальные размеры файлов

Изображения:  .jpg, .png, .ico, .bmp
Максимальный размер файлов – 8 МБ.

Голосовые сообщения: mp3, acc, m4a, wav, mp4
Максимальный размер файлов –  25 МБ.

Видео:  mp4
Максимальный размер файлов –  25 МБ.


⚠️ Ответить на комментарий можно только текстовым сообщением. 

getUrl (GET)

Получение ссылки на direct Insta-профиль

Пример вызова

Запрос:

https://api.getloo.ru/insta/G23SF-AKFH5-H390S-HDRJS-Y5U43/getUrl

Ответ сервера:

{
"result": {
"success": true
},
"channel": {
"id": "235",
"user_id": "47367670531",
"username": "getcourseru",
"url": "https://ig.me/m/getcourseru"
},
"error": null
}

В ответ сервер вернет JSON-объект (или сообщение об ошибке, если что-то пошло не так) и http код в случаи успеха: 200.

Коды (http-статусы) ответов:

  • 200 - успешная авторизация
  • 400 - не верный запрос
  • 401 - недействительный токен
  • 402 - нет активных каналов (оплаченных или авторизованных)

result.success отдает success false, если активных каналов нет у юзера

channel.id содержит идентификатор канала  / группы каналов

channel.user_id содержит уникальный id пользователя Insta, требуется для проверки уникальности привязки к интеграции к порталу.

channel.username содержит никнейм (юзернейм)  публичный  по которому можно найти пользователя в Insta. Параметр может быть сменен. Не проверяйте по нему уникальность.

channel.url ссылка на директ Insta

⚠️ Прямая ссылка работает ТОЛЬКО при открытии через приложение на мобильном устройстве. С браузера не работает!

error  передает описание ошибки, если success false

Методы для работы с хуками

getWebHook (GET)

Получить webhook.

Пример вызова

Запрос:

https://api.getloo.ru/insta/G23SF-AKFH5-H390S-HDRJS-Y5U43/getWebHook

Ответ сервера:

{
"result": {
"success": true
},
"channel": {
"id": "235",
"webhook": "https://api.getloo.ru/hook_test.php"
},
"error": null
}

В ответ сервер вернет JSON-объект (или сообщение об ошибке, если что-то пошло не так) и http код в случаи успеха: 200.

Коды (http-статусы) ответов:

  • 200 - успешная авторизация
  • 400 - не верный запрос
  • 401 - недействительный токен
  • 402 - нет активных каналов (оплаченных или авторизованных)

result.success отдает success false, если активных каналов нет у юзера

channel.id содержит идентификатор канала  / группы каналов

channel.webhook содержит ссылку на установленный веб-хук на данный момент

error  передает описание ошибки, если success false

setWebHook (POST)

Установить webhook.

Обязательные параметры POST:

  • url - адрес хука.

Пример вызова

Запрос:

https://api.getloo.ru/insta/G23SF-AKFH5-H390S-HDRJS-Y5U43/setWebHook

Ответ сервера:

{
"result": {
"success": true
},
"channel": {
"id": "235",
"webhook": "https://api.getloo.ru/hook_test.php"
},
"error": null
}

В ответ сервер вернет JSON-объект (или сообщение об ошибке, если что-то пошло не так) и http код в случаи успеха: 200.

Коды (http-статусы) ответов:

  • 200 - успешная авторизация
  • 400 - не верный запрос
  • 401 - недействительный токен
  • 402 - нет активных каналов (оплаченных или авторизованных)

result.success отдает success false, если активных каналов нет у юзера

channel.id содержит идентификатор канала  / группы каналов

channel.webhook содержит ссылку на только что установленный  веб-хук в случае удачи

error  передает описание ошибки, если success false

Входящие веб-хуки

incomingMessage

Всякий раз, когда появляется новое входящее сообщение.

Пример запроса с текстом:

{
"event": {
"name": "incomingMessage",
"properties": {
"queueId": "a780f149df54c208dc8b41372ae3c458630067bd",
"type": "text",
"content": {
"body": "Отправленный текст"
}
},
"createdAt": "2022-12-07T12:29:21+03:00"
},
"device": {
"user_id": "47367670531",
"username": "getcourseru",
"profileName": "Алина из Getloo"
}
}

Пример запроса с комментарием:

{
"event": {
"name": "incomingComment",
"properties": {
"queueId": "a780f149df54c208dc8b41372ae3c458630067bd",
"type": "comment",
"content": {
"body": "Отправленный комментарий"
}
},
"createdAt": "2022-12-07T12:29:21+03:00"
},
"device": {
"user_id": "47367670531",
"comment_id": "47367670531",
"username": "getcourseru",
"profileName": "Алина из Getloo"
}
}

Пример запроса с изображением:

{
"event": {
"name": "incomingMessage",
"properties": {
"queueId": "a780f149df54c208dc8b41372ae3c458630067bd",
"type": "image",
"content": {
"body": "Подпись к картинке",
"mimeType": "image/jpeg",
"filename": "пример.jpg",
"href": "https://files.getloo.ru/ig/20221207/87b1e67ff6ec91a53e17f868ed8f1f4f/пример.jpg"
}
},
"createdAt": "2022-12-07T12:29:21+03:00"
},
"device": {
"user_id": "47367670531",
"username": "getcourseru",
"profileName": "Алина из Getloo"
},

}

Пример запроса с видео:

{
"event": {
"name": "incomingMessage",
"properties": {
"queueId": "a780f149df54c208dc8b41372ae3c458630067bd",
"type": "image",
"content": {
"mimeType": "video/mp4",
"filename": "пример.mp4",
"href": "https://files.getloo.ru/ig/20221207/87b1e67ff6ec91a53e17f868ed8f1f4f/пример.mp4"
}
},
"createdAt": "2022-12-07T12:29:21+03:00"
},
"device": {
"user_id": "47367670531",
"username": "getcourseru",
"profileName": "Алина из Getloo"
},
}

device.mdn отдает номер телефона с которого приходит входящее сообщение

device.user_id содержит уникальный id пользователя Insta, требуется для проверки уникальности привязки к интеграции к порталу.

device.comment_id содержит уникальный id комментария Insta. По нему можно дать ответ в direct клиенту в течении 24 часов 1 раз.

device.username содержит никнейм (юзернейм)  публичный  по которому можно найти пользователя в Insta. Параметр может быть сменен. Не проверяйте по нему уникальность.

device.profileName содержит имя заполненное в имени профиля Insta

Отбивки по доставке

Всякий раз, когда появляется новый статус по доставке сообщения.

Пример запроса, когда сообщение передано на отправку в WhatsApp:

{
"event": {
"name": "whatsappSuccess",
"properties": {
"queueId": "812b12dbd12ef082586a8cf8ec6f98f6692c7754",
"status": "pending"
},
"createdAt": "2020-00-00T00:00:00+00:00"
},
"device": {
"mdn": "79955069706",
"profileName": "Алина из Getloo"
}
}

Пример запроса, когда сообщение гарантировано доставлено получателю:

{
"event": {
"name": "reportActionReceived",
"properties": {
"queueId": "812b12dbd12ef082586a8cf8ec6f98f6692c7754",
"status": "delivered"
},
"createdAt": "2020-00-00T00:00:00+00:00"
},
"device": {
"mdn": "79955069706",
"profileName": "Алина из Getloo"
}
}

Пример запроса, когда сообщение  прочитано получателем:

{
"event": {
"name": "reportActionExecuted",
"properties": {
"queueId": "812b12dbd12ef082586a8cf8ec6f98f6692c7754",
"status": "read"
},
"createdAt": "2020-00-00T00:00:00+00:00"
},
"device": {
"mdn": "79955069706",
"profileName": "Алина из Getloo"
}
}

Пример запроса с ошибкой доставки:

{
"event": {
"name": "errorActionFail",
"properties": {
"queueId": "812b12dbd12ef082586a8cf8ec6f98f6692c7754",
"status": "fail"
},
"createdAt": "2020-00-00T00:00:00+00:00"
},
"device": {
"mdn": "79955069706",
"profileName": "Алина из Getloo"
}
}

ИНН: 500112198088

ИП Стремина Алина Геннадьевна

БИК  044525974

АО «ТИНЬКОФФ БАНК»

© 2023 «Getloo». Все права защищены.

КОНТАКТЫ

tech@getloo.ru

143915, Московская обл, г. Балашиха, ул. Заречная, д. 31, кв. 149

8 (995) 505-6598

ПОДПИСКА НА ОБНОВЛЕНИЯ