DOKKY SUITE Demo Documentazione API

In questa sezione puoi controllare le varie Richieste e requisiti API.

Direzioni


Un Token JWT è richiesto affinché le richieste vengano elaborate dal sistema.

Una volta che un Utente si registra, un Token JWT viene generato automaticamente per questo utente.

Se il JWT non viene inviato o è scaduto, si verificherà un errore.

Si prega di assicurarsi di conservare il proprio Token JWT in un luogo sicuro, per prevenire abusi.



AD 350 x 600

DOKKY SUITE Demo - RIFERIMENTO API PER SVILUPPATORI





AUTENTICAZIONE


Nota: Per autenticarti con il sistema API, devi inviare il tuo JWT come Token di Autorizzazione con ogni richiesta. Puoi vedere l'esempio di codice qui sotto.


LIMITATORE DI VELOCITÀ


Nota: La nostra API ha un limitatore di velocità per proteggersi dai picchi di richieste per massimizzare la sua stabilità. Il nostro limitatore di velocità è attualmente fissato a 30 richieste al minuto.
Diversi header verranno inviati insieme alla risposta e questi possono essere esaminati per determinare varie informazioni sulla richiesta.


GESTIONE DELLA RISPOSTA


Nota: Tutte le risposte API vengono restituite in formato JSON per impostazione predefinita.
Per convertire questo in dati utilizzabili, sarà necessario utilizzare la funzione appropriata in base al linguaggio. In PHP, ad esempio, la funzione json_decode() può essere utilizzata per convertire i dati in un oggetto (predefinito) o in un array (impostare il secondo parametro su true).
È molto importante controllare la chiave di errore in quanto fornisce informazioni sul fatto che ci sia stato un errore o meno.
Puoi anche controllare il codice dell'header.


API Carica File - [POST]



Questa API ti permette di caricare un file sul server specificando vari metadati come titolo, descrizione, tag e licenza. Può anche creare una nuova categoria per il file se necessario.

Esempio di richiesta curl
curl -X POST "https://dokky.scriptnet.net/api/V1/docs/api-upload" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: multipart/form-data" \
-F "file=@/path/to/your/file.pdf" \
-F "title=Upload via API" \
-F "description=Upload File via API" \
-F "tags=tag1, tag2, upload, api, pdf, scriptnet" \
-F "category_id=1" \
-F "cc_license=CC BY" \
Parametri richiesti
  • file (richiesto): Il file da caricare.
  • title (richiesto): Il titolo del file.
  • description (richiesto): Una descrizione del file.
  • tags (richiesto): I tag associati al file, separati da virgole.
  • category_id (richiesto): L'ID della categoria esistente.
  • new_category_name (opzionale): Il nome della nuova categoria da creare (se category_id non è fornito).
  • category_description (opzionale): La descrizione della nuova categoria.
  • category_tags (opzionale): I tag associati alla nuova categoria, separati da virgole.
  • cc_license (richiesto): La licenza Creative Commons per il file (ad es. 'CC BY') (List).
  • video (opzionale): URL di un video associato (ad es. YouTube o Vimeo).
Esempio di una richiesta completa
curl -X POST "https://dokky.scriptnet.net/api/V1/docs/api-upload" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: multipart/form-data" \
-F "file=@/path/to/your/file.pdf" \
-F "title=Upload via API" \
-F "description=Upload File via API" \
-F "tags=tag1, tag2, upload, api, pdf, scriptnet" \
-F "new_category_name=New Category Name" \
-F "category_description=New Category Description" \
-F "category_tags=tag1, tag2" \
-F "cc_license=CC BY-NC-ND" \
-F "video="
Esempio di risposta
{ "status": "success", "message": "File uploaded successfully.", "file_id": "12345", "category_id": "1", "category_name": "New Category"
}


API Scarica File - [GET]



Questa API ti permette di scaricare un file dal server specificando l'ID del file. Verifica che il file sia disponibile per il download e non sia in vendita o disabilitato.

Esempio di richiesta curl
curl -X GET "https://dokky.scriptnet.net/api/V1/docs/api-download?file_id=123" \
-H "X-Authorization: Bearer Your JWT Token here"
Parametri richiesti
  • file_id (richiesto): L'ID del file da scaricare.
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
Esempio di una richiesta completa
curl -X GET "https://dokky.scriptnet.net/api/V1/docs/api-download?file_id=123" \
-H "X-Authorization: Bearer Your JWT Token here"

Risposta riuscita
{ "status": "success", "original_file_name": "File_Name.pdf", "message": "File downloaded successfully"
}

Possibili risposte di errore
{ "status": "error", "message": "Rate limit exceeded. Please try again later."
}
{ "status": "error", "message": "File ID is required"
}
{ "status": "error", "message": "File not found"
}
{ "status": "error", "message": "File is either for sale or not enabled"
}
{ "status": "error", "message": "Invalid request method"
}


API Elimina File - [DELETE]



Questa API ti permette di eliminare un file specificando il suo ID. Un token JWT valido è richiesto per autenticare la richiesta di eliminazione del file.

Esempio di richiesta curl
curl -X DELETE "https://dokky.scriptnet.net/api/V1/docs/api-delete" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json" \
-d '{"id": "20"}'
Parametri richiesti
  • id (richiesto): L'ID del file da eliminare.
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
  • Header Content-Type: Imposta su application/json per inviare i dati in formato JSON.
Esempio di una richiesta completa
curl -X DELETE "https://dokky.scriptnet.net/api/V1/docs/api-delete" \
-H "X-Authorization: Your JWT Token here \
-H "Content-Type: application/json" \
-d '{"id": "20"}'
Risposta riuscita
{ "status": "success", "message": "File deleted successfully"
}
Possibili risposte di errore
{ "status": "error", "message": "Missing JWT token"
}
{ "status": "error", "message": "File ID is required"
}
{ "status": "error", "message": "File not found"
}
{ "status": "error", "message": "Invalid JWT token"
}
{ "status": "error", "message": "Error during deletion"
}


API Cerca File - [POST]



Questa API ti permette di cercare file specificando un termine di ricerca. Un token JWT valido è richiesto per autenticare la richiesta di ricerca.

Esempio di richiesta curl
curl -X POST "https://dokky.scriptnet.net/api/V1/stats/api-search" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json" \
-d '{"search": "your-search-term"}'
Parametri richiesti
  • search (richiesto): Il termine di ricerca utilizzato per trovare i file.
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
  • Header Content-Type: Imposta su application/json per inviare i dati in formato JSON.
Esempio di una richiesta completa
curl -X POST "https://dokky.scriptnet.net/api/V1/stats/api-search" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json" \
-d '{"search": "document"}'
Risposta riuscita
{ "status": "success", "results": [ { "id": "123", "title": "Document Title", "link": "https://dokky.scriptnet.net/view/123", "description": "A brief description of the document", "category": "Category Name", "tag": "tag1, tag2" } ]
}
Possibili risposte di errore
{ "status": "error", "message": "Missing JWT token"
}
{ "status": "error", "message": "Search term is required"
}
{ "status": "error", "message": "No results found"
}
{ "status": "error", "message": "Invalid JWT token"
}
{ "status": "error", "message": "Error during search"
}


API Statistiche Utente - [POST]



Questa API fornisce statistiche sull'utente autenticato, come il numero totale di commenti, file caricati, visualizzazioni, download e vendite. Un token JWT valido è richiesto per autenticare la richiesta.

Esempio di richiesta curl
curl -X POST "https://dokky.scriptnet.net/api/V1/stats/api-stats" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Parametri richiesti
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
  • Header Content-Type: Imposta su application/json per inviare i dati in formato JSON..
Esempio di una richiesta completa>
curl -X POST "https://dokky.scriptnet.net/api/V1/stats/api-stats" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Risposta riuscita
{ "status": "success", "data": { "total_comments": 45, "total_files": 120, "total_views": 10500, "total_downloads": 800, "total_sales": 50 }
}
Descrizione dei campi nella risposta
  • total_comments: Numero totale di commenti dell'utente.
  • total_files: Numero totale di file caricati dall'utente.
  • total_views: Numero totale di visualizzazioni dei file dell'utente.
  • total_downloads: Numero totale di download dei file dell'utente.
  • total_sales: Numero totale di vendite dei file dell'utente.
Possibili risposte di errore
{ "status": "error", "message": "Missing JWT token"
}
{ "status": "error", "message": "Invalid JWT token"
}
{ "status": "error", "message": "Error fetching user stats"
}


API File Utente - [GET]



Questa API ti permette di ottenere la lista dei file caricati da un dato utente. Un token JWT valido è richiesto per autenticare la richiesta. Puoi specificare l'ID dell'utente per visualizzare i file caricati.

Esempio di richiesta curl
curl -X GET "https://dokky.scriptnet.net/api/V1/users/api-files?user_id=1" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Parametri richiesti
  • Query Parameter user_id: ID dell'utente di cui vuoi ottenere i file.
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
  • Header Content-Type: Imposta su application/json per inviare i dati in formato JSON..
Esempio di una richiesta completa
curl -X GET "https://dokky.scriptnet.net/api/V1/users/api-files?user_id=1" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Risposta riuscita
{ "status": "success", "user": { "id": 1, "name": "John Doe" }, "files": [ { "file_id": 101, "upload_date": "2024-10-01", "title": "SEO Report", "description": "SEO Report October", "file_url": "https://dokky.scriptnet.net/view?report_october.pdf" }, { "file_id": 102, "upload_date": "2024-09-15", "title": "Preview SEO Project", "description": "Preview of the new SEO Project", "file_url": "https://dokky.scriptnet.net/view?project_preview.pdf" } ]
}
Descrizione dei campi nella risposta
  • status: Stato della risposta (ad esempio, success).
  • user: Informazioni utente (ID e nome).
  • files: Lista dei file caricati dall'utente.
  • file_id: ID unico del file.
  • upload_date: Data in cui il file è stato caricato.
  • title: Titolo del file.
  • description: Descrizione del file.
  • file_url: URL per accedere al file.
Possibili risposte di errore
{ "status": "error", "message": "Missing JWT token"
}
{ "status": "error", "message": "Invalid JWT token"
}
{ "status": "error", "message": "User not found"
}


API Commenti Utente - [POST]



Questa API ti permette di ottenere i commenti ricevuti da un utente autenticato. Devi fornire un token JWT valido per accedere a questa risorsa.

Esempio di richiesta curl
curl -X POST "https://dokky.scriptnet.net/api/V1/users/api-comments" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Parametri richiesti
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
  • Header Content-Type: Imposta su application/json per inviare i dati in formato JSON..
Esempio di una richiesta completa
curl -X POST "https://dokky.scriptnet.net/api/V1/users/api-comments" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Risposta riuscita
{ "status": "success", "data": [ { "comment_id": 201, "submission_date": "2024-10-05", "title": "Monthly Report Project", "comment": "I love the details of this Project, compliments!", "link": "https://dokky.scriptnet.net/view/report_october" }, { "comment_id": 202, "submission_date": "2024-09-20", "title": "Project Introduction", "comment": "This is an exellent Introduction! Well done!", "link": "https://dokky.scriptnet.net/view/project_preview" } ]
}
Descrizione dei campi nella risposta
  • status: Stato della risposta (ad esempio, success).
  • data: Lista dei commenti ricevuti.
  • comment_id: ID unico del commento.
  • submission_date: Data in cui il commento è stato pubblicato.
  • title: Titolo del contenuto a cui si riferisce il commento.
  • comment: Testo del commento ricevuto.
  • link: URL del contenuto commentato.
Possibili risposte di errore
{ "status": "error", "message": "Missing JWT token"
}
{ "status": "error", "message": "Invalid JWT token"
}
{ "status": "error", "message": "User not found"
}