Процесс покупки ссылок

После того, как удалось удачно авторизоваться, следующим важным этапом является создание проекта (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).