Процесс покупки ссылок
После того, как удалось удачно авторизоваться, следующим важным этапом является создание проекта (API-метод Project.addSimpleProjectAndContent
). Для этого потребуется домен для продвижения (например, https://example.com/"):
curl --location 'https://api-links.sape.ru/rest/Project/addSimpleProjectAndContent' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer XXXXXXXXXXXX' \
--header 'Cookie: AUTH_TICKET=XXXXXXXXXXX' \
--data '{
"domain": "https://example.com/"
}'
Наиболее важные данные из ответа API:
id
– идентификатор созданного проекта (понадобится при покупки ссылки)urlId
– идентификатор продвигаемого URL (главная страница продвигаемого домена; формируется автоматически)textId
– идентификатор текста (название домена продвижения; формируется автоматически)isError
– признак наличия ошибки создания проекта
Для создания произвольного URL продвижения, используется метод API-метод Content.addTexts
. для этого потребуется идентификатор созданного проекта:
curl --location 'https://api-links.sape.ru/rest/Content/add/texts/projectId/123456' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: XXXXXXXXXXXX' \
--header 'Cookie: AUTH_TICKET=XXXXXXXXXXXX' \
--data '{
"urlsTexts": [
{
"url": "https://example.com/blog/",
"texts": [
{
"text": "Create #a#a new#/a# example"
}
]
}
]
}'
В ответе будет присутствовать идентификаторы созданного URL и текста.
Получив urlId, можно приступать к покупке ссылок. Для этого нужно произвести поиск площадок по каким-либо критериям. Для примера зададим фильтр по цене от 30 до 50 рублей в арендном поиске, в режиме отображения “дерево” API-метод SearchRent.searchRentTree
:
curl --location 'https://api-links.sape.ru/rest/SearchRent/rent/tree/urlId/12345 \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer XXXXXXXXXXXX' \
--header 'Cookie: AUTH_TICKET= XXXXXXXXXXXX' \
--data '{
"priceRentFrom": 30,
"priceRentTo": 50
}'
В ответе получаем:
{
"jobHandleId": "217d8f355065b59072f1dbfceed92204a435368f",
"message": " Task added to queue ",
"metaData": "{"SAPE":"XXXXXXXXXXXX","cgeoip_country_iso_code":"RU"}"
}
Этот результат означает, что запрос прошел успешно и на сервере сейчас происходит подбор нужных площадок. Для того, чтобы создать более конкретный фильтр, нужно задать параметры фильтра. Их можно найти в спецификации на API-метод SearchRent.searchRentTree
.
Из полученного ответа понадобятся данные jobHandleId и metadata. Для получения результатов используем SearchRent.searchRentTreeResult
:
curl --location 'https://api-links.sape.ru/rest/SearchRent/rent/tree/getResult/jobHandleId/217d8f355065b59072f1dbfceed92204a435368f/rentSearchMetaData/{"SAPE":"XXXXXXXXXXXX","cgeoip_country_iso_code":"RU"}' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer XXXXXXXXXXXX ' \
--header 'Cookie: AUTH_TICKET= XXXXXXXXXXXX '
В ответе содержится список площадок, на которых можно будет купить ссылки на переданных URL.
Основные параметры в ответе, которые далее понадобятся для покупки ссылок это:
pageId
– идентификатор найденной страницы-донораsearchId, forceSeoWait, mosSites
– дополнительные технические параметры, которые нужно передать в покупку ссылки
Для покупки используем API-метод Placement.createPlacementsRent
:
curl --location 'https://api-links.sape.ru/rest/Placement/rent/create/projectId/123456 \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer XXXXXXXXXXXX ' \
--header 'Cookie: AUTH_TICKET= XXXXXXXXXXXX ' \
--data '{
"forceSeoWait": 2,
"linkTypeId": 1,
"filterId": null,
"mosSites": "Yw==",
"pagesExtra": null,
"searchId": 213456,
"pages": [
{
"pageId": 312456,
"urlId": 412356,
"textId": 512346
}
]
}'
В ответе будут содержаться ID купленных ссылок.
Для просмотра всех ссылок проекта используем API-метод Placement.getProjectPlacementsLinks
:
curl --location --request POST https://api-links.sape.ru/rest/Project/placements/links?projectId=48872' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer XXXXXXXXXXXX ' \
--header 'Cookie: AUTH_TICKET= XXXXXXXXXXXX ' \
--data ''
Также доступна фильтрация списка ссылок (см. API-метод Placement.getProjectPlacementsLinks
).