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

1. Общие положения
Любой запрос к API содержит следующие обязательные параметры:
  • id — Ваш идентификатор в Сервисе;
  • unixtime — текущее время в формате unixtime (кол-во секунд с 1 января 1970 года);
  • sign — цифровая подпись, md5-хеш, который получается путем склеивания Вашего id, Вашего пароля в Сервисе и unixtime. Например, для id=10, пароля=pass и unixtime=1347531826 параметр sign будет равен 28882d3ab82d2e005672947db4f49eb6.

Дополнительные параметры запроса формируются в зависимости от его типа. Все значения параметров запроса передаются, а ответы сервера возвращаются в кодировке utf-8.



2. Запрашиваем проекты, в которых есть Ваши ключевые слова
Запрос направляем к http://www.newtemper.com/c/api/question, а дополнительные параметры формируем такие:
  • url — url-адрес рекламируемого сайта. Спецсимволы должны быть экранированы;
  • keywords — ключевые слова (ключевики) для этого сайта. Они также д.б. экранированы.

Пример, в котором задействованы такие дополнительные параметры: url — «http://mysite.ru», keywords — «ремонт компьютеров».

http://www.newtemper.com/c/api/question?id=10&unixtime=1347531826&sign=28882d3ab82d2e005672947db4f49eb6&url=http%3A%2F%2Fmysite.ru&keywords=%D1%80%D0%B5%D0%BC%D0%BE%D0%BD%D1%82+%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BE%D0%B2

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


Ответ получаем в формате JSON. Пример полученного массива:
[
{"na":43, "price":0.0001, "title":"Суп-пюре", "url":"newtemper.com/razdel/..._43?..."},
{"na":25, "price":0.0001, "title":"Вышиванка", "url":"newtemper.com/razdel/..._25?..."}
]

Где:

  • na — номер проекта в Сервисе, где может быть размещена реклама;
  • price — оплата за размещение ссылки в этом проекте, у.е. в сутки;
  • title — название проекта;
  • url — url проекта с предварительно размещеной в нём Вашей ссылки.

Элементы массива отсотрированы в порядке релевантности (наиболее релевантные в начале). По одному и тому же ключевику производить запрос рекомендуется не чаще раза в сутки.



3. Размещаем рекламу в проектах исходя из запроса в п.2
Запрос направляем к http://www.newtemper.com/c/api/placement, а дополнительные параметры формируем такие:
  • url — url-адрес рекламируемого сайта (как и в п.2);
  • keywords — ключевые слова для этого сайта (как и в п.2);
  • na — список номеров проектов в которых размещаем рекламу, через запятую. Пример: na=43,25


Ответ получаем в формате JSON. Пример полученного массива:
[
{"np":12, "na":43, "price":0.0001, "title":"Суп-пюре", "url":"newtemper.com/razdel/..._43"},
{"np":12, "na":25, "price":0.0001, "title":"Вышиванка", "url":"newtemper.com/razdel/..._25"}
]

Где:

  • np — уникальный номер рекламной кампании в Сервисе. Может быть общим для всего запроса;
  • na — номер проекта в Сервисе с размещенной рекламой;
  • price — оплата за размещение ссылки в этом проекте, у.е. в сутки;
  • title — название проекта;
  • url — url проекта с размещеной в нём Вашей ссылки.

После данного запроса реальное размещение ссылок в выбранных проектах может произойти в течение 15-ти минут. Задействованный id (п.1) должен иметь в Сервисе достаточный баланс для суммарной суточной оплаты за размещение рекламы во всех выбранных проектах.



4. Управление рекламной кампанией
Запрос направляем к http://www.newtemper.com/c/api/status_set, а дополнительные параметры формируем такие:
  • status — устанавливаемый статус для проектов;
  • np — список номеров рекламных кампаний в которых устанавливаем данный статус, через запятую. Параметр устанавливаем для статуса 97 и 99. Пример: np=12,14
  • na — список номеров проектов в которых устанавливаем данный статус, через запятую. Параметр устанавливаем для статуса 200. Пример: na=43,25

Параметр status может иметь следующие значения

97 — все проекты данных рекламных кампаний устанавливаются в положение sleep, при котором ссылки с проектов снимаются на 24 часа. Если за это время поступит запрос со статусом 99 — все эти проекты восстанавливают ссылки и продолжают работать в обычном режиме. Если такового запроса не поступит, то кампании считаются завершенными.

99 — все перечисленные в запросе рекламные кампании восстанавливают свою работу в случае, если со времени запроса со статусом 97 прошло не более 24-х часов.

Статусы 97 и 99 нужны в случае отсутствия средств на счете рекламодателя в Вашем сервисе. За 24 часа он может пополнить счет и восстановить работу своей рекламной кампании. Ответ от запросов с этими статусами получаем в формате JSON. Пример полученного массива:

[
{"np":12, "status":97},
{"np":14, "status":97}
]

В массиве перечислены рекламные кампании и их теперешний статус.


200 — все перечисленные в запросе проекты считаются завершенными, ссылки с них снимаются, а оплата за них более не вычитается с Вашего счета. Ответ получаем в формате JSON. Пример полученного массива:
[
{"na":25, "status":200},
{"na":43, "status":255}
]

В массиве перечислены проекты и их теперешний статус. Статус 255 означает, что эта рекламная кампания была завершена ещё до данного запроса. Статус 98 — эти проекты или рекламные кампании находятся в sleep, но по причине нулевого баланса Вашего счета в Сервисе; если в течение 24-х часов Ваш баланс будет пополнен, то их работа полностью восстановится. Статус 0 означает отсутствие доступа к данному проекту или рекламной кампании.



5. Получаем статус размещенных проектов и статистику оплаты
Запрос направляем к http://www.newtemper.com/c/api/balans, а дополнительные параметры формируем такие:
  • curdate — день в формате curdate за который запрашивается статистика. Пример: curdate=2012-09-14
  • npna — список, разделенный запятыми, каждый элемент которого записывается как [np,na], где: np — номер рекламной кампании, na — номер проекта в этой кампании. Пример: npna=[12,25],[12,43],[14,33] — запрос в такой форме необходим потому, что один и тот же проект может в разные дни быть задействован в разных рекламных кампаниях.

Ответ получаем в формате JSON. Пример полученного массива:

[
{"np":12, "na":25, "status":100, "price":0.0001},
{"np":12, "na":43, "status":100, "price":0.0001},
{"np":14, "na":33, "status":100, "price":0.0001},
]

Где:

  • status — текущий статус размещенного проекта;
  • price — оплата за этот день, у.е.

Статистику можно получить за текущий, или за один из 30-ти предыдущих дней. Делать этот запрос рекомендуется раз в сутки.
Статус 100 означает, что проект с размещенной в нём рекламой работает в нормальном режиме.