Post API

Используйте Post REST API, чтобы легко и удобно контролировать записи. Пространство имен записей содержит коллекции ресурсов для управления записями, комментариями, прикреплениями файлов и также отметками "мне нравится".

Вы можете разрешить пользователям добавлять новые записи, получать информации о записях и получать список записей по id. Более подробнее см. post

Вы можете разрешить пользователям добавлять и удалять отметки "мне нравится" к запиями. Более подробнее см. likes

Вы можете разрешить пользователям добавлять комментарии к записям а также получить список комментарий к определенной записи. Более подробнее см. comment

Вы можете разрешить пользователям загружать фотографии, прикреплять их к новым записям, более подробнее см. media

Вызовите эти методы для связанного пути:

Post (resource group)

Используйте ресурс /post для работы с записями.

Информация о записе

GET /post/show

Возвращает одну из запись с указанный параметром id.

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, которое показывает детали записи.

Параметры

В URI запросе укажите идентификатор записи, для которого будет отображаться подробная информация.
  • id

    integer

    Идентификатор записи.
     

Пример запроса


curl -v -X GET https://www.steein.ru/api/v2.0/post/show?id=1234 \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token"

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, в котором отображаются данные.

  • items

    array (contains the items object)

    Данные о записи. Используйте для сбора необходимой информации о записях.

     

Пример результата


{
    "items": {
        "id": 1,
        "text": "Hello @shamsudin we present you a new version #api",
        "created": "Sat, Jul 1, 2017 1:12 PM",
        "link": "https://www.steein.ru/shamsudin/posts/1",
        "user": {
            "objectType": "account",
            "kind": "steein#account",
            "username": "shamsudin",
            "displayName": "Шамсудин Сердеров",
            "name": {
                "first_name": "Шамсудин",
                "last_name": "Сердеров"
            },
            "id": 1,
            "description": "Steein developer",
            "country": "Россия, Москва",
            "link": "https://www.steein.ru/shamsudin",
            "verified": 1,
            "avatar": "https://www.steein.ru/media/i/p/05061707__3491572086__07042444025934e12df22aa4.51087758.jpg",
            "action": {
                "followers": 5,
                "following": 3,
                "posts": 226
            }
        },
        "media": {
            "image": "https://www.steein.ru/media/p/temporary/01071713__8790453216__0107201713595775aa6583e2.73301610.jpg",
            "files": [
                {
                    "name": "file.png",
                    "filesize": 21739,
                    "download": "https://www.steein.ru/download-B856C3D8-B27C-4F18-A0DE-2D0D30F87513"
                },
                {
                    "name": "file-24.jpg",
                    "filesize": 645190,
                    "download": "https://www.steein.ru/download-7F4F0808-8F3A-435D-B4C5-F4FB75A364B1"
                }
            ]
        },
        "hashtags": [
            {
                "text": "api"
            }
        ],
        "urls": [],
        "user_definition": [
            {
                "objectType": "account",
                "kind": "steein#account",
                "username": "shamsudin",
                "displayName": "Шамсудин Сердеров",
                "name": {
                    "first_name": "Шамсудин",
                    "last_name": "Сердеров"
                },
                "id": 1,
                "description": "Steein developer",
                "country": "Россия, Москва",
                "link": "https://www.steein.ru/shamsudin",
                "verified": 1,
                "avatar": "https://www.steein.ru/media/i/p/05061707__3491572086__07042444025934e12df22aa4.51087758.jpg",
                "action": {
                    "followers": 5,
                    "following": 3,
                    "posts": 226
                }
            }
        ],
        "action": {
            "likes": 0,
            "comments": 0,
            "reposts": 0
        }
    }
}

 

Список записей.

GET /post

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

Записи, принадлежащие защищенным пользователям, могут запрашиваться только в случае если пользователь является утвержденным.

Этот метод может вернуть только 3000 последних записей пользователя. Репосты других записей пользователя включаются в это общее количество при запросе этого ресурса.

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, которое показывает результат работы.

Параметры

  • user_id

    integer

    required

    Идентификатор пользователя.
     
  • count

    integer

    Указывает, какое максимальное число записей следует возвращать,но не более 100. По умолчанию 70.
     
  • page

    integer

    Постраничная навигация, для того,чтобы получить следующую часть.
     

Пример запроса


curl -v -X GET https://www.steein.ru/api/v2.0/post?id=1234 \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token" \

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON.

  • total

    integer

    Общее количество записей

     
  • count

    integer

    Количество записей на странице

     
  • items

    array (contains the items object)

    Данные о записи. Используйте для сбора необходимой информации о записях.

     

Пример результата


{
    "total": 228,
    "count": 20,
    "items": [
        {
            "id": 1,
            "text": "Все мы гении. Но если вы будете судить рыбу по её способности взбираться на дерево, она проживёт всю жизнь, считая себя дурой.\r\n(Альберт Эйнштейн).",
            "created": "Wed, Nov 9, 2016 8:46 AM",
            "link": "https://www.steein.ru/shamsudin/posts/1",
            "user": {
                "objectType": "account",
                "kind": "steein#account",
                "username": "shamsudin",
                "displayName": "Шамсудин Сердеров",
                "name": {
                    "first_name": "Шамсудин",
                    "last_name": "Сердеров"
                },
                "id": 1,
                "description": "Официальная учетная запись основателя микроблога - Steein",
                "country": "Россия, Москва",
                "link": "https://www.steein.ru/shamsudin",
                "verified": 1,
                "avatar": "https://www.steein.ru/media/i/p/05061707__3491572086__07042444025934e12df22aa4.51087758.jpg",
                "action": {
                    "followers": 5,
                    "following": 3,
                    "posts": 228
                }
            },
            "media": {
                "image": null,
                "files": []
            },
            "hashtags": [],
            "urls": [],
            "user_definition": [],
            "action": {
                "likes": 1,
                "comments": 1,
                "reposts": 1
            }
        }
    ]
}

 

Создание новой записи

GET /post/сreate

Саздание новой записи, со всеми доступными параметрами.

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, которое выводит список подписчиков пользователя.

Параметры

  • message

    string

    required

    Текст записи

    Максимальная длина: 400

  • media

    integer

    Указывает, какое максимальное число которые следует возвращать, но не более 100. По умолчанию 70.

    Более подробно см. media-upload

Пример запроса


curl -v -X GET https://www.steein.ru/api/v2.0/post/create?message=test&media={id_media} \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token" \

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON.

  • status

    string

    Статус добавления
     
  • message

    string

    Результат ответа на публикацию новой записи
     
  • items

    array (contains the items object)

    Данные о записи. Используйте для сбора необходимой информации о записях.

     

Пример результата


{
    "status": "succeeded",
    "message": "Запись опубликовано",
    "items": {
        "id": 4200,
        "text": "Hello",
        "created": "Sun, Jul 2, 2017 5:34 PM",
        "link": "https://www.steein.ru/shamsudin/posts/4200",
        "user": {
            "objectType": "account",
            "kind": "steein#account",
            "username": "shamsudin",
            "displayName": "Шамсудин Сердеров",
            "name": {
                "first_name": "Шамсудин",
                "last_name": "Сердеров"
            },
            "id": 1,
            "description": "Официальная учетная запись основателя микроблога - Steein",
            "country": "Россия, Москва",
            "link": "https://www.steein.ru/shamsudin",
            "verified": 1,
            "avatar": "https://www.steein.ru/media/i/p/05061707__3491572086__07042444025934e12df22aa4.51087758.jpg",
            "action": {
                "followers": 5,
                "following": 3,
                "posts": 229
            }
        },
        "media": {
            "image": null,
            "files": []
        },
        "hashtags": [],
        "urls": [],
        "user_definition": [],
        "action": {
            "likes": 0,
            "comments": 0,
            "reposts": 0
        }
    }
}

 

Comment (resource group)

Используйте ресурс /comment для работы с комментариями.

Список комментарий

GET /comment

Возвращает коллекцию добавленных комментарий выбранной записи. Этот метод может вернуть только 3000 последних комментарий.

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, которое показывает детали.

Параметры

В URI запросе укажите идентификатор записи, для которого будет отображаться комментарии.
  • item_id

    integer

    required

    Идентификатор записи.
     
  • type

    string

    required

    Тип комментарий. Передайте в этот параметры значение "post" без кавычек.
     

Пример запроса


curl -v -X GET https://www.steein.ru/api/v2.0/comment?item_id=1234&type=post \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token"

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, в котором отображаются данные.

  • total

    integer

    Общее количество комментарий

     
  • count

    integer

    Количество комментарий на странице

     
  • items.id

    integer

    Идентификатор комментария.

     
  • items.text

    string

    Текст

     
  • items.created

    string

    Дата и время публикации.

     
  • items.user

    array (contains the user object)

    Данные пользователя. Используйте для сбора необходимой информации о пользователе.

     

Пример результата


{
    "total": 1,
    "count": 1,
    "items": [
        {
            "id": 1,
            "text": "Все хорошо!",
            "created": "Wed, Nov 9, 2016 3:03 PM",
            "user": {
                "objectType": "account",
                "kind": "steein#account",
                "username": "steein_official",
                "displayName": "Steein Official",
                "name": {
                    "first_name": "Steein",
                    "last_name": "Official"
                },
                "id": 3,
                "description": "",
                "country": "Russia, Moscow",
                "link": "https://www.steein.ru/steein_official",
                "verified": 0,
                "avatar": "https://www.steein.ru/media/i/p/09111615__4326190785__010824381258234274e3a490.68516304.jpg",
                "action": {
                    "followers": 2,
                    "following": 2,
                    "posts": 3
                }
            }
        }
    ]
}

 

Новый комментарий

GET /comment/create

Добавляем новый комментарий к выбранной записи {item_id}.

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, которое показывает детали.

Параметры

 
  • item_id

    integer

    required

    Идентификатор записи.
     
  • type

    string

    required

    Тип комментарий. Передайте в этот параметры значение "post" без кавычек.
     
  • text

    string

    required

    Текст комментария
     

Пример запроса


curl -v -X GET https://www.steein.ru/api/v2.0/comment/create?item_id=1&type=post&text=message \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token"

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, в котором отображаются данные.

  • status

    integer

    Статус добавления

     
  • text

    string

    Текст

     
  • created

    string

    Дата и время публикации.

     
  • user

    array (contains the user object)

    Данные пользователя. Используйте для сбора необходимой информации о пользователе.

     

Пример результата


{
    "status": 0,
    "text": "New comment",
    "created": "Sun, Jul 2, 2017 6:21 PM",
    "user": {
        "objectType": "account",
        "kind": "steein#account",
        "username": "shamsudin",
        "displayName": "Шамсудин Сердеров",
        "name": {
            "first_name": "Шамсудин",
            "last_name": "Сердеров"
        },
        "id": 1,
        "description": "Официальная учетная запись основателя микроблога - Steein",
        "country": "Россия, Москва",
        "link": "https://www.steein.ru/shamsudin",
        "verified": 1,
        "avatar": "https://www.steein.ru/media/i/p/05061707__3491572086__07042444025934e12df22aa4.51087758.jpg",
        "action": {
            "followers": 5,
            "following": 3,
            "posts": 229
        }
    }
}

 

Likes (resource group)

Используйте ресурс /likes для работы c отметками.

Отметка "Мне нравится"

POST /likes/add

Добавляет указанный объект в список Мне нравится текущего пользователя.

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, которое показывает детали.

Параметры

В URI запросе укажите идентификатор записи, для которого будет поставлена отметка.
  • item_id

    integer

    required

    Идентификатор записи.
     
  • type

    string

    required

    Тип отметки. Передайте в этот параметры значение "post" без кавычек.
     

Пример запроса


curl -v -X POST https://www.steein.ru/api/v2.0/likes/add \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token"
-d '{
  "item_id": 1,
  "type": "post"
  }'

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, в котором отображаются данные.

  • count

    integer

    Общее количество положительных отметок

     

Пример результата


{
    "count": 2
}

 

Удаление отметки "Мне нравится"

POST /likes/delete

Удаляет указанный объект из списка Мне нравится текущего пользователя

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, которое показывает детали.

Параметры

В URI запросе укажите идентификатор записи, из которого будет удалена отметка.
  • item_id

    integer

    required

    Идентификатор записи.
     
  • type

    string

    required

    Тип отметки. Передайте в этот параметры значение "post" без кавычек.
     

Пример запроса


curl -v -X POST https://www.steein.ru/api/v2.0/likes/delete \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token"
-d '{
  "item_id": 1,
  "type": "post"
  }'

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, в котором отображаются данные.

  • count

    integer

    Общее количество положительных отметок

     

Пример результата


{
    "count": 2
}

 

Проверка отметки "Мне нравится"

GET /likes/is_liked

Проверяет, находится ли объект в списке Мне нравится у выбранного пользователя.

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, которое показывает детали.

Параметры

В URI запросе укажите идентификатор записи, у которого будет проверяться отметка "Мне нравится".
  • item_id

    integer

    required

    Идентификатор записи.
     
  • type

    string

    required

    Тип отметки. Передайте в этот параметры значение "post" без кавычек.
     

Пример запроса


curl -v -X GET https://www.steein.ru/api/v2.0/likes/is_liked?item_id=1&type=post \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token"

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, в котором отображаются данные.

  • response.liked

    integer

    Результат проверки

    • 1 - отметка добавлена
    • 0 - отметка не добавлена
     

Пример результата


{
    "response": {
        "liked": 1
    }
}

 

Media (resource group)

Используйте ресурс /media для работы c файлами.

Загрузка изображений

POST /media/upload

Воспользуйтесь этим способом для загрузки изображений в Steein. Он возвращает media_id, который может использоваться в большинстве случаях. Например, значение media_id может использоваться для создания новых записей с прикрепленной фотографией с использованием конечной точки post-create

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

Убедитесь, что POST представляет собой запрос данных multipart/form-data/

В результате вам придет идентификатор носителя media_id (64-bit integer) и media_id_string (string). Используйте media_id_string, указанную в ответе API, из JavaScript и других языков, которые не могут точно представить длинное целое число.

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, которое показывает детали.

Параметры

Для успешной загрузки файла, в поле media укажите полный путь к загружаемому файлу.
  • media

    string

    required

    Полный путь к загружаемому файлу через http(s)://.

    Разрешенный форматы: PNG, JPEG

Пример запроса


curl -v -X POST https://www.steein.ru/api/v2.0/media/upload \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token"
-d '{
  "media": "https://www.site.com/photo.jpg"
  }'

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, в котором отображаются данные.

  • status

    string

    Статус загрузки фотографии

     
  • finally.media_id

    integer

    Идентификатор фотографии

     
  • finally.media_id_string

    string

    Идентификатор фотографии в строковом формате

     
  • finally.size

    integer

    Размер фотографии

     
  • finally.image_type

    string

    Тип фотографии

     

Пример результата


{
    "status": "succeeded",
    "finally": {
        "media_id": 3880,
        "media_id_string": "3880",
        "size": 29456,
        "image_type": "image/jpeg"
    }
}

 

Список медиа-файлов

GET /media

Возвращает коллекцию медиа-файлов, опубликованных пользователем.

Медиа-файлы, принадлежащие защищенным пользователям, могут запрашиваться только в случае если пользователь является утвержденным.

Этот метод может вернуть только 3000 последних медиа-файлов пользователя.

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, которое показывает детали.

Параметры

 
  • user_id

    integer

     

    Идентификатор пользователя.
     
  • count

    integer

     

    Указывает, какое максимальное число медиа-файлов следует возвращать, но не более 100. По умолчанию 70.
     
  • page

    integer

     

    Постраничная навигация, для того чтобы получить следующую часть медиа-файлов
     

Пример запроса


curl -v -X GET https://www.steein.ru/api/v2.0/media?user_id=1234 \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token"

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, в котором отображаются данные.

  • total

    integer

    Общее количество медиа-файлов

     
  • count

    integer

    Количество медиа-файлов на странице

     
  • id

    integer

    Идентификатор медиа-файла

     
  • item_id

    integer

    Идентификатор записи

     
  • media.image

    string

    Фотография

     
  • user

    array (contains the user object)

    Данные пользователя. Используйте для сбора необходимой информации о пользователе.

     

Пример результата


{
    "total": 32,
    "count": 20,
    "items": [
        {
            "id": 2,
            "user": {
                "objectType": "account",
                "kind": "steein#account",
                "username": "shamsudin",
                "displayName": "Шамсудин Сердеров",
                "name": {
                    "first_name": "Шамсудин",
                    "last_name": "Сердеров"
                },
                "id": 1,
                "description": "Официальная учетная запись основателя микроблога - Steein",
                "country": "Россия, Москва",
                "link": "https://www.steein.ru/shamsudin",
                "verified": 1,
                "avatar": "https://www.steein.ru/media/i/p/05061707__3491572086__07042444025934e12df22aa4.51087758.jpg",
                "action": {
                    "followers": 5,
                    "following": 3,
                    "posts": 229
                }
            },
            "item_id": 5,
            "media": {
                "image": "https://www.steein.ru/media/i/p/09111617__9147802356__0208243802582356b40d7ef8.55332229.jpg"
            }
        }
   ]
}

 

Информация о медиа-файле

GET /media/show

Возвращает одну из медиа-файлов с указанный параметром id.

Параметры

 
  • id

    integer

     

    Идентификатор медиа-файла.
     

Пример запроса


curl -v -X GET https://www.steein.ru/api/v2.0/media/show?id=1234 \
-H "Content-Type:application/json" \
-H "Authorization: Bearer Access-Token"

Результат

Успешный запрос возвращает код состояния HTTP 200 OK и тело ответа JSON, в котором отображаются данные.

  • id

    integer

    Идентификатор медиа-файла

     
  • item_id

    integer

    Идентификатор записи

     
  • media.image

    string

    Фотография

     
  • user

    array (contains the user object)

    Данные пользователя. Используйте для сбора необходимой информации о пользователе.

     

Пример результата


{
    "items": [
        {
            "id": 2,
            "user": {
                "objectType": "account",
                "kind": "steein#account",
                "username": "shamsudin",
                "displayName": "Шамсудин Сердеров",
                "name": {
                    "first_name": "Шамсудин",
                    "last_name": "Сердеров"
                },
                "id": 1,
                "description": "Официальная учетная запись основателя микроблога - Steein",
                "country": "Россия, Москва",
                "link": "https://www.steein.ru/shamsudin",
                "verified": 1,
                "avatar": "https://www.steein.ru/media/i/p/05061707__3491572086__07042444025934e12df22aa4.51087758.jpg",
                "action": {
                    "followers": 5,
                    "following": 3,
                    "posts": 229
                }
            },
            "item_id": 5,
            "media": {
                "image": "https://www.steein.ru/media/i/p/09111617__9147802356__0208243802582356b40d7ef8.55332229.jpg"
            }
        }
   ]
}