/getAuthors
/getBooks/{author_id}
/getStories/{book_id}
Да я сам немного протупил...потому что, если один пользователь смотрит данные на конечном ресурсе какой-то раздел и даёт ссылку другому обычному юзеру на этот раздел, то выйдет фигня))
Это, если не брать во внимание "программиста", который пользуется этим API, чтобы "вывести" эти данные на своём ресурсе...
Исходя из вопроса и у меня и у всех Вас ход мыслей правильный...тыкну решением...вот и всё))
При запросе книг этого автора по уникальному айди - ставьте ему отметку «протух». Тогда пусть ваши юзеры пьют чай неделями, айдишка их будет ждать.
Есть мысли подменять ID'шники с какой-то "солью/хэшем" и т.п...
чтобы в дальнейшем не было возможности, раз сохранив ID'шники авторов, напрямую обращаться к этому методу, минуя метод "получения авторов"...
и не дать возможность закэшировать ответ, например, метода "получения книг по автору", чтобы в дальнейшем не было возможности, раз сохранив ID'шники авторов, напрямую обращаться к этому методу, минуя метод "получения авторов"...
- о распространении какой информации идет речь (хотя бы в общих чертах)?
- насколько критично для бизнес плана будет появление в сети обновляемой копии распространяемой инфы скажем недельной свежести? и если критично, то почему?
- возможно ли введение штрафных санкций к тем, у кого слита информация (способы вычислить чью копию слили есть)?
- насколько введение данных санкций на ваш взгляд будет эффективно и почему
Ну смотри...
Я дал тебе API...
А какие там у тебя пользователи - мне не интересно...))
Понимаешь?)
Ты имеешь отношения со мной.
А твои пользователи - с тобой.
И мне хотелось побеспокоится о ТВОИХ пользователях в конечном итоге, если в идеале...
1. сервис содержит API выдающее некую информацию
2. информация хранится на сервисе в виде данных в БД и файлов
3. ваш сервис содержит собственный вэб интерфейс для предоставления этих данных
4. партнеры должны посредством API получать данные и ссылки на файлы, которыми могут делится через свои сайты
5. каждый партнер полностью свободен в реализации своего сайта
6. ссылки, которые предоставляют партнеры третьим лицам должны вести на сайт партнера
7. ссылки, которые предоставляют партнеры третьим лицам должны вести на ваш сайт
8. при этом ссылки не должны препятствовать SEO
9. при этом вы хотите максимально затруднить автоматизированное создание копии предоставляемой информации для партнеров
10. при этом вы хотите максимально затруднить ручное создание копии предоставляемой информации для партнеров
11. при этом вы хотите максимально затруднить автоматизированное создание копии предоставляемой информации для третьих лиц
12. при этом вы хотите максимально затруднить ручное создание копии предоставляемой информации для третьих лиц
3. ваш сервис содержит собственный вэб интерфейс для предоставления этих данных
Имеется виду что помимо API вы содержите и сайт с интерфейсом для доступа к данным через браузер
serviceAPI
- это данная библиотекаserviceAPI.getData(source, targets);
- метод, получающий данные от API сервиса{
head: "текст заголовка",
list: [ // массив с данными авторов
{name: "Дем Михайлов", info: "какаято инфа", id: "id автора"},
{name: "Дем Михайлов", info: "какаято инфа", id: "id автора"},
],
footer: "текст под списком",
}
const authors = serviceAPI.getData("authors");
authors.insert("head", "id блока в который засунуть инфу");
authors.foreach("list", (item)=>{
// тут партнер создает блоки для размещения инфы об очередном авторе и заполняет их
item.insert("name", "id блока для имени");
item.insert("info", "id блока для инфы");
item.link("id", "id блока для создания ссылки");
});
.insert("наименование ключа", "id блока для вставки данных из данного ключа");
.foreach("наименование ключа", (item)=>{
// функция получающая для каждой записи из массива "наименование ключа" объект item, имеющий те же методы что и authors а так же доступ к полям/ключам текущего автора/или чего еще
});
.link("наименование ключа", "id блока для создания ссылки");