Kategoria: FAQ

Opublikowano: 2 lata 7 miesięcy temu Autor: admin

Od wersji 8.0 iDir oferuje ujednolicone API za pomocą którego można stworzyć automatyczne dodawarki, sprawdzarki albo panele moderacji centralnej. Niniejszy post jest krótkim wprowadzeniem do korzystania z API. Do testowania poszczególnych requestów polecam zaopatrzyć się w darmowy program Postman.

# Import dostępnych enpointów

Mając zainstalowany program Postman, w górnym menu należy wybrać Import, zaznaczyć zakładkę Link i wstawić link z oficjalnej dokumentacji API iDir https://demo.idir.intelekt.net.pl/docs/collection.json.

# Dodawanie nowych wpisów

Domyślnie w iDir dodawanie nowych wpisów dostępne jest zarówno dla zalogowanych użytkowników serwisu jak i gości. W przypadku dodawania wpisów jako gość, wymagane jest dodatkowo podanie unikalnego adresu email. Z racji tego API nie wymaga w tym przypadku autentykacji za pomocą tokena API.

Aby dodać wpis do katalogu należy znać ID grupy. Grupy można wyciągnąć za pomocą endpointu:

pokaż więcej »

Opublikowano: 3 lata 3 miesiące temu Autor: admin

Od jakiegoś czasu niektórzy właściciele katalogów na iDir otrzymują prośbę od twórców pewnej dodawarki o przesłanie zrzutu SQL z listą ID kategorii. Autor dodawarki tłumaczy to koniecznością posiadania tych ID do celów dodawania wpisów. Jest to rozwiązanie wyjątkowo nieefektywne gdyż:

  • każdy katalog ma inną bazę kategorii, jeśli dodawarka będzie dodawać do powiedzmy 1mln katalogów, a każdy z nich ma po 300 kategorii dodawarka będzie musiała przechowywać w swojej bazie 300mln rekordów samych kategorii
  • tabela kategorii nie jest stała. Właściciel każdego katalogu może w pewnym momencie w przyszłości usunąć jakąś kategorię co poskutkuje tym, że dodawarka dodając do takiego nieistniejącego ID otrzyma walidacyjny komunikat o nieprawidłowej kategorii

Jeśli mimo wszystko chcą Państwo udostępnić autorom tej bezsensownej z mojego punktu widzenia - dodawarki listę ID swoich kategorii proszę postępować według poniższej instrukcji:

  1. Wejść do phpMyAdmin (dane logowania znajdują się w pliku ENV), wybrać bazę katalogu, wybrać zakładkę SQL lub Kwerenda
  2. Wkleić i wykonać:
    SELECT `categories`.`id`, `categories`.`name`, `categories`.`parent_id` FROM `categories` WHERE `categories`.`status` = 1 AND `categories`.`model_type` = "N1ebieski\\IDir\\Models\\Dir" ORDER BY `categories`.`parent_id` ASC;
  3. Na samym dole w belce "Operacje na wynikach zapytania" kliknąć Eksport
  4. Wybrać metoda eksportu: szybka; format: SQL, kliknąć Wykonaj
Opublikowano: 4 lata 1 miesiąc temu Autor: admin

iDir posiada system cron sprawdzający status każdego umieszczonego w katalogu wpisu. Sprawdzany jest wyłącznie nagłówek odpowiedzi:

  • w przypadku statusu 200 OK strona jest przepuszczana
  • w przypadku statusu 301 lub 302 Redirect sprawdzana jest trasa przekierowań (max. 5), jeśli nie kieruje do serwisów parkujących (np. aftermarket) strona jest przepuszczana
  • w przypadku statusu 4xx-5xx strona jest dezaktywowana

Niestety, czasami zdarza się sytuacja w której strona w przeglądarce na request użytkownika odpowiada prawidłowym statusem 200 OK, a dla bota wysyłającego request z serwera na którym umieszczony jest katalog odpowiada 403 Forbidden. Przyczyn takiego stanu rzeczy może być kilka:

  • serwer strony blokuje adres IP katalogu
  • serwer strony blokuje wszystkie User-Agent spoza whitelisty
  • serwer strony uznaje pozostałe elementy nagłówka requesta za podejrzane

Nie ma technicznego sposobu aby obejść te problemy z poziomu aplikacji iDir bez użycia proxy. To właściciel wpisu musi skonfigurować swój firewall aby przepuszczał bota sprawdzającego z iDir. Aby ułatwić ten proces, bot posługuje się określonym User-Agent zawierającym rodzaj aplikacji, jego wersję oraz host katalogu np:

iDir v1.1.3 demo.idir.intelekt.net.pl