GIF'ler¶
GIF, örneğin (instance) GIF sağlayıcısından gelen hareketli bir medya öğesidir. TEBHOS; arama, gündemdekiler, kategori ve bağlantı çözümleme isteklerini sağlayıcıya aktarır ve doğrudan medya URL'leri içeren sade bir GIF nesnesi döndürür.
Her yol bir kullanıcı oturum token'ı (Authorization: Bearer <token>) gerektirir; geçerli bir Bot <token> kimlik bilgisi 403 ACCESS_DENIED ile (geçersiz olanı 401 UNAUTHORIZED ile) reddedilir.
Sağlayıcı kullanılabilirliği¶
TEBHOS'un desteklediği tek sağlayıcı KLIPY'dir. Örnek keşif bilgisini getir ucu bunu gif nesnesi olarak yayımlar:
attribution_required değeri true olduğundan istemci, GIF sonuçlarının yanında KLIPY kaynak işaretini gösterir.
Sağlayıcı anahtarı yapılandırılmamış bir örnek (instance), bu sayfadaki her yolu 404 NOT_FOUND ile reddeder. Örneğin services nesnesindeki gif_enabled, bir operatör bayrağı geçersiz kılmadıkça anahtarın yapılandırılıp yapılandırılmadığını bildirir; bu yüzden gif_enabled değerini true olarak okuyan bir istemci yine de 404 alabilir.
Sağlayıcı kesintisi, okunamayan bir sağlayıcı yükü ya da dahili GIF hizmetinin 5 saniye içinde yanıt vermemesi 500 INTERNAL_SERVER_ERROR döndürür.
Dil ve ülke¶
TEBHOS sağlayıcıyı sabit tr_TR dili ve TR ülkesiyle sorgular. Hiçbir yol dil veya ülke parametresi kabul etmez.
Sonuçların güncelliği¶
Kategori listesi bir saat önbelleğe alınır, çözümlenen bağlantılar ise bellekte önbelleğe alınır. Arama ve gündemdeki sonuçlar her istekte sağlayıcıdan getirilir.
GIF nesnesi¶
Sağlayıcının sahip olduğu tek bir medya öğesi. İçindeki her URL, sağlayıcının barındırdığı baytlara çözümlenir.
Yapı¶
| Alan | Tür | Açıklama |
|---|---|---|
| id | string | GIF'in sağlayıcıda kalıcı olan tanımlayıcısı |
| title | string | Sağlayıcının GIF'e verdiği başlık (boş olabilir) |
| url | string | İstemcinin gönderdiği veya tam boyutta çizdiği doğrudan medya URL'si. gif, mediumgif, tinygif sırasıyla ilk mevcut olan |
| preview | string | Küçük ızgara önizlemesinin doğrudan medya URL'si. tinygif, nanogif, gif sırasıyla ilk mevcut olan; hiçbiri yoksa url |
| width | integer | Önizleme biçiminin piksel cinsinden genişliği (sağlayıcı bildirmezse 200) |
| height | integer | Önizleme biçiminin piksel cinsinden yüksekliği (sağlayıcı bildirmezse 200) |
| itemurl? | string | GIF'in sağlayıcıdaki sayfa URL'si (örneğin https://klipy.com/gifs/{slug}). Sağlayıcı döndürmediyse bulunmaz |
GIF'in snowflake'i ve oluşturulma zaman damgası yoktur. id sağlayıcının kendi tanımlayıcısıdır ve zamana göre sıralanmaz.
Mesajda GIF göndermek
GIF'in itemurl değerini mesaj içeriği olarak gönderin. İstemciler, sağlayıcı sayfa bağlantısını GIF bağlantısını çözümle ile çözümleyerek GIF olarak çizer.
Örnek¶
{
"id": "goat-plays-banjo-4",
"title": "Goat Plays Banjo",
"url": "https://static.example.com/goat-plays-banjo.gif",
"preview": "https://static.example.com/goat-plays-banjo-tiny.gif",
"width": 137,
"height": 90,
"itemurl": "https://klipy.com/gifs/goat-plays-banjo-4"
}
GIF kategori nesnesi¶
Bir kategori arama terimini o terime ait bir önizleme görseliyle eşleştirir.
Yapı¶
| Alan | Tür | Açıklama |
|---|---|---|
| searchterm | string | Kategorinin temsil ettiği arama terimi |
| name | string | Kategorinin başında # olmayan görünen adı. Yoksa searchterm kullanılır |
| image | string | Kategori önizleme görselinin doğrudan URL'si (boş olabilir) |
Bir kategoriyi açmak için istemci, searchterm değerini GIF ara ucunun q parametresi olarak gönderir.
GIF ara¶
GET /gifs/search
Sağlayıcıda bir sorguyla eşleşen GIF'leri arar. Sağlayıcının döndürdüğü sırayla en fazla 50 GIF nesnesi döndürür.
Sorgu parametreleri¶
| Alan | Tür | Açıklama |
|---|---|---|
| q | string | Arama terimi. Baştaki ve sondaki boşluklar kırpılır ve sonuç boş olmamalıdır |
Hiçbir şeyle eşleşmeyen bir terim, boş diziyle 200 döndürür.
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 200 | array[GIF nesnesi] | Sonuçlar döndürüldü (boş dizi olabilir) |
| 400 | hata yanıtı | q yok veya boş (BAD_REQUEST) |
| 401 | hata yanıtı | Kimlik bilgisi eksik veya kullanıcıya ait değil |
| 404 | hata yanıtı | Örnekte (instance) sağlayıcı anahtarı yapılandırılmamış (NOT_FOUND) |
| 500 | hata yanıtı | Sağlayıcı veya dahili GIF hizmeti başarısız oldu (INTERNAL_SERVER_ERROR) |
Hız sınırı¶
gif:search kovasında, her istemci kimlik bilgisi için 10 saniyede 40 istek.
Gündemdeki GIF'leri getir¶
GET /gifs/trending
Sağlayıcının öne çıkardığı GIF nesnelerinden en fazla 50 tanesini döndürür.
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 200 | array[GIF nesnesi] | Gündemdeki GIF'ler döndürüldü (boş dizi olabilir) |
| 401 | hata yanıtı | Kimlik bilgisi eksik veya kullanıcıya ait değil |
| 404 | hata yanıtı | Örnekte (instance) sağlayıcı anahtarı yapılandırılmamış (NOT_FOUND) |
| 500 | hata yanıtı | Sağlayıcı veya dahili GIF hizmeti başarısız oldu (INTERNAL_SERVER_ERROR) |
Hız sınırı¶
gif:trending kovasında, her istemci kimlik bilgisi için 10 saniyede 40 istek.
GIF kategorilerini getir¶
GET /gifs/categories
Sağlayıcının öne çıkardığı kategorileri bir GIF kategori nesneleri dizisi olarak döndürür. Arama terimi olmayan kategoriler atılır.
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 200 | array[GIF kategori nesnesi] | Kategoriler döndürüldü (boş dizi olabilir) |
| 401 | hata yanıtı | Kimlik bilgisi eksik veya kullanıcıya ait değil |
| 404 | hata yanıtı | Örnekte (instance) sağlayıcı anahtarı yapılandırılmamış (NOT_FOUND) |
| 500 | hata yanıtı | Sağlayıcı veya dahili GIF hizmeti başarısız oldu (INTERNAL_SERVER_ERROR) |
Bu yolun kendine özgü bir hız sınırı kovası yoktur; yalnızca genel sınır uygulanır.
GIF bağlantısını çözümle¶
GET /gifs/resolve
Bir sağlayıcı sayfa bağlantısını GIF nesnesine çözümler. İstemciler bunu, bir mesajda paylaşılan KLIPY bağlantısını GIF'in kendisi olarak çizmek için kullanır.
Sorgu parametreleri¶
| Alan | Tür | Açıklama |
|---|---|---|
| url | string | https://klipy.com/{kind}/{slug} biçiminde bir sağlayıcı sayfa bağlantısı; kind değeri gif, gifs, clip veya clips olur. http:// ve www. ana makine öneki kabul edilir |
Yanıt¶
| Durum | Gövde | Koşul |
|---|---|---|
| 200 | GIF nesnesi | Bağlantı çözümlendi |
| 400 | hata yanıtı | url yok veya tanınan bir sağlayıcı bağlantısı değil (BAD_REQUEST) |
| 401 | hata yanıtı | Kimlik bilgisi eksik veya kullanıcıya ait değil |
| 404 | hata yanıtı | Sağlayıcı bu slug için bir GIF tanımıyor veya örnekte (instance) sağlayıcı anahtarı yapılandırılmamış (NOT_FOUND) |
| 500 | hata yanıtı | Sağlayıcı veya dahili GIF hizmeti başarısız oldu (INTERNAL_SERVER_ERROR) |
Bu yolun kendine özgü bir hız sınırı kovası yoktur; yalnızca genel sınır uygulanır.
curl "https://tebhos.com/api/v1/gifs/resolve?url=https://klipy.com/gifs/goat-plays-banjo-4" \
-H "Authorization: Bearer $TEBHOS_TOKEN"
TEBHOS'ta desteklenmiyor
TEBHOS'ta arama önerisi yolu, paylaşım kaydı yolu, locale parametresi, sağlayıcı yanıt başlıkları ve sağlayıcı adını taşıyan eski yol önekleri yoktur. GIF nesneleri Media Proxy URL'leri veya biçim eşlemesi taşımaz.