Отправляйте свои шутки в GiggleTime
GiggleTime — сайт шуток на 26 языках. Если вы пишете шутки, ведёте юмористический аккаунт или собираете коллекцию, вы можете отправлять их нам из своего приложения или скрипта. Каждую шутку перед публикацией читает человек.
Как это работает
- Создайте бесплатный аккаунт GiggleTime или войдите.
- В разделе «Мои публикации» расскажите, что вы хотите отправлять и примерно сколько шуток.
- Мы читаем каждую заявку и отвечаем по почте, обычно в течение одного-двух дней.
- После одобрения создайте ключ на той же странице. Он показывается только один раз, поэтому храните его в надёжном месте.
- Отправляйте шутки простым HTTPS-запросом. Каждая ждёт проверки, а её статус можно узнать в любой момент.
Как мы проверяем шутки
Каждую шутку, пришла она через API или через форму на сайте, перед публикацией читает человек. Большинство проверяется в течение дня.
Мы проверяем, что это действительно шутка, что она на выбранном вами языке и подходит к категории, и что её ещё нет на GiggleTime ни на одном языке. Можем исправить опечатку или перенести шутку в более подходящую категорию.
Если мы не можем использовать шутку, мы всегда объясняем почему: причина видна в разделе «Мои публикации» и в API. Одобренные шутки публикуются на GiggleTime и доступны на всех наших языках.
Что мы принимаем
- Шутки, которые вы написали сами, или шутки, которыми можно свободно делиться, например народные анекдоты и фольклор.
- Короткие шутки, шутки с вопросом и ответом, короткие истории и шутки «тук-тук» на любом из наших 26 языков.
- Шутки, написанные с небольшой помощью ИИ, подходят, если вы их проверили и они хорошие. Массово сгенерированные ИИ шутки мы не принимаем.
- Никаких материалов, скопированных у других комиков, из книг или с сайтов, никакой ненависти и травли, никаких ссылок и рекламы.
- Отмечайте юмор для взрослых флагом NSFW. Он скрыт от посетителей, которые его не включили.
Ограничения
- Сначала до 20 шуток за 24 часа на один ключ. Тем, чьи шутки мы регулярно одобряем, мы повышаем лимит.
- Не больше 10 шуток в минуту.
- Когда наша очередь на проверку заполнена, новые шутки какое-то время не принимаются. Попробуйте снова на следующий день.
Справочник API
Все запросы отправляются на https://www.giggletime.app/api/v1/ и требуют ваш ключ в заголовке Authorization:
Authorization: Bearer gtj_your_key
Запросы
GET /api/v1/me | Ваши лимиты и сколько шуток вы отправили за последние 24 часа. |
GET /api/v1/categories?language=en | Номера и названия категорий на этом языке, языки и типы шуток. |
POST /api/v1/jokes | Отправляет одну шутку в формате JSON. |
GET /api/v1/jokes | Ваши шутки, сначала новые, с их статусом. Необязательно: limit (до 100) и before_id для следующей страницы. |
Поля для отправки шутки
language | Обязательно. Код языка, например en, bg или es. |
category_id | Обязательно. Номер категории из списка ниже или из /api/v1/categories. |
type | Обязательно. one-liner, setup-punchline, story или knock-knock. |
setup, punchline | Для шуток с вопросом и ответом — до 300 символов на каждую часть. |
text | Для всех остальных типов: до 300 символов, для историй — до 2000. |
author | Необязательно. Кому приписывается шутка, до 60 символов. |
nsfw | Необязательно. true для юмора для взрослых. |
Примеры
curl
curl -X POST https://www.giggletime.app/api/v1/jokes \
-H "Authorization: Bearer gtj_your_key" \
-H "Content-Type: application/json" \
-d '{"language": "en", "category_id": 16, "type": "setup-punchline",
"setup": "Why did the scarecrow win an award?",
"punchline": "He was outstanding in his field."}'
Python
import requests
r = requests.post("https://www.giggletime.app/api/v1/jokes",
headers={"Authorization": "Bearer gtj_your_key"},
json={"language": "en", "category_id": 16, "type": "one-liner",
"text": "I told my wife she draws her eyebrows too high. She looked surprised."})
print(r.status_code, r.json())
JavaScript
const r = await fetch("https://www.giggletime.app/api/v1/jokes", {
method: "POST",
headers: { "Authorization": "Bearer gtj_your_key", "Content-Type": "application/json" },
body: JSON.stringify({ language: "en", category_id: 16, type: "one-liner",
text: "I'm reading a book about anti-gravity. It's impossible to put down." })
});
console.log(r.status, await r.json());
Ответы
Полученная шутка отвечает кодом 201 и своим id. Она ждёт, пока мы её не проверим:
{"id": 1830, "status": "pending", "remaining_today": 19}
Ошибки возвращают код, по которому понятно, что делать:
400 | invalid_language, invalid_category, invalid_joke_type, missing_text, too_long, invalid_json |
401 | unauthorized: ключа нет, он неверный или отозван. |
403 | terms_required: войдите на сайт и примите текущие условия. account_suspended |
409 | duplicate_joke: такая же шутка уже есть на GiggleTime. |
429 | too_fast, daily_limit: подождите и попробуйте позже. |
503 | review_queue_full: попробуйте снова на следующий день. |
Статусы и причины
В GET /api/v1/jokes у каждой шутки статус pending (ждёт), approved (одобрена, с адресом url) или rejected (отклонена, с кодом и причиной на языке шутки):
duplicate | Не одобрено: эта шутка уже есть на GiggleTime. |
not_a_joke | Не одобрено: это не похоже на шутку. |
wrong_language | Не одобрено: текст не на указанном языке. |
offensive | Не одобрено: нарушает наши правила о контенте. |
copied | Не одобрено: похоже на материал другого комика. |
quality | Не одобрено: не подходит для GiggleTime. |
Категории
16Деньги12Еда и напитки8Животные15Здоровье и старение4Каламбур13Отношения17Повседневная жизнь2Программирование10Работа7Разное6Рождество9Семья5Страшный3Темный14Технологии11Школа
Языки
ar العربية
bg Български
ca Català
cs česky
cy Cymraeg
da dansk
de Deutsch
el Ελληνικά
en English
es español
et eesti, eesti keel
fr français
hi हिन्दी, हिंदी
id Bahasa Indonesia
it Italiano
ja 日本語
ka ქართული
nl Nederlands, Vlaams
pl polski
pt Português
ru Русский
sv svenska
tr Türkçe
uk Українська
vi Tiếng Việt
zh 中文
Вопросы
Это платно?
Нет. API бесплатный.
Кому принадлежат шутки, которые я отправляю?
Все ваши права остаются за вами. Отправляя шутку, вы разрешаете GiggleTime публиковать, переводить и показывать её в наших приложениях, как описано в наших условиях. Условия использования
Можно ли потом удалить шутку?
Да. Напишите нам, и мы её уберём. Контакты
Что, если мой ключ утёк?
Создайте новый ключ в разделе «Мои публикации». Старый сразу перестанет работать.
Я лучше покажу шутки на своём сайте.
Тогда попробуйте наш бесплатный виджет «Шутка дня». Виджет с анекдотами для вашего сайта