DOKKY SUITE - API Documentation

DOKKY SUITE API Documentation

In this section you can check the various API Requests and requirements.

Directions


È necessario un token JWT affinché le richieste vengano elaborate dal sistema.

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

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

Assicurati di conservare il tuo token JWT in un luogo sicuro per prevenire abusi.



AD 350 x 600

DOKKY SUITE - RIFERIMENTO API PER SVILUPPATORI





AUTENTICAZIONE


Nota: per autenticarsi con il sistema API, è necessario inviare il JWT come token di autorizzazione con ogni richiesta. Di seguito è riportato il codice di esempio.


RATE LIMIT


Nota: la API ha un limitatore di richieste per proteggersi da picchi e massimizzarne la stabilità. Il nostro limitatore di è attualmente configurato a 30 richieste al minuto.
Insieme alla risposta verranno inviate diverse intestazioni, che potranno essere esaminate per determinare diverse informazioni sulla richiesta.


GESTIONE DELLE RISPOSTE


Nota: tutte le risposte API vengono restituite in formato JSON per impostazione predefinita.
Per convertirle 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 (impostazione predefinita) o in un array (impostando il secondo parametro su true).
È molto importante controllare la chiave di errore, poiché fornisce informazioni sull'eventuale presenza di un errore.
È anche possibile controllare il codice dell'intestazione.


API UPLOAD FILE - [POST]



Questa API consente 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 Richiesta curl
curl -X POST "https://my-dev.it/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 Obbligatori
  • file (obbligatorio): il file da caricare.
  • title (obbligatorio): il titolo del file.
  • description (obbligatorio): una descrizione del file.
  • tags (obbligatorio): i tag associati al file, separati da virgole.
  • category_id (obbligatorio): ID della categoria esistente.
  • new_category_name (facoltativo): il nome della nuova categoria da creare (se category_id non è fornito).
  • category_description (facoltativo): la descrizione della nuova categoria.
  • category_tags (facoltativo): i tag associati alla nuova categoria, separati da virgole.
  • cc_license (obbligatorio): la licenza Creative Commons per il file (ad esempio: CC BY) (List).
  • video (facoltativo): URL di un video associato (ad esempio YouTube o Vimeo).
Esempio di richiesta completa
curl -X POST "https://my-dev.it/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="
Risposta di esempio
{ "status": "success", "message": "File uploaded successfully.", "file_id": "12345", "category_id": "1", "category_name": "New Category"
}


API Download File - [GET]



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

Esempio Richiesta curl
curl -X GET "https://my-dev.it/api/V1/docs/api-download?file_id=123" \
-H "X-Authorization: Bearer Your JWT Token here"
Parametri Obbligatori
  • file_id (obbligatorio): ID del file da scaricare.
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
Esempio di richiesta completa
curl -X GET "https://my-dev.it/api/V1/docs/api-download?file_id=123" \
-H "X-Authorization: Bearer Your JWT Token here"

Risposta di successo
{ "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 consente di eliminare un file specificandone l'ID. Per autenticare la richiesta di eliminazione del file è necessario un token JWT valido.

Esempio Richiesta curl
curl -X DELETE "https://my-dev.it/api/V1/docs/api-delete" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json" \
-d '{"id": "20"}'
Parametri Obbligatori
  • id (obbligatorio): ID del file da eliminare.
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
  • Header Content-Type: Impostare su application/json per inviare dati in formato JSON.
Esempio di richiesta completa
curl -X DELETE "https://my-dev.it/api/V1/docs/api-delete" \
-H "X-Authorization: Your JWT Token here \
-H "Content-Type: application/json" \
-d '{"id": "20"}'
Risposta di successo
{ "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 Search File - [POST]



Questa API consente di cercare file specificando un termine di ricerca. Per autenticare la richiesta di ricerca è necessario un token JWT valido.

Esempio Richiesta curl
curl -X POST "https://my-dev.it/api/V1/stats/api-search" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json" \
-d '{"search": "your-search-term"}'
Parametri Obbligatori
  • search (obbligatorio): il termine di ricerca utilizzato per trovare i file.
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
  • Header Content-Type: Impostare su application/json per inviare dati in formato JSON..
Esempio di richiesta completa
curl -X POST "https://my-dev.it/api/V1/stats/api-search" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json" \
-d '{"search": "document"}'
Risposta di successo
{ "status": "success", "results": [ { "id": "123", "title": "Document Title", "link": "https://my-dev.it/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. Per autenticare la richiesta è necessario un token JWT valido.

Esempio Richiesta curl
curl -X POST "https://my-dev.it/api/V1/stats/api-stats" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Parametri Obbligatori
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
  • Header Content-Type: Impostare su application/json per inviare dati in formato JSON..
Esempio di richiesta completa
curl -X POST "https://my-dev.it/api/V1/stats/api-stats" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Risposta di successo
{ "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 degli utenti.
  • 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 di file utente.
  • total_sales: numero totale di vendite di file 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 Documentazioni Utente - [GET]



Questa API consente di ottenere l'elenco dei file caricati da un determinato utente. Per autenticare la richiesta è necessario un token JWT valido. È possibile specificare l'ID utente per visualizzare i file caricati.

Esempio Richiesta curl
curl -X GET "https://my-dev.it/api/V1/users/api-files?user_id=1" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Parametri Obbligatori
  • 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: Impostare su application/json per inviare dati in formato JSON..
Esempio di richiesta completa
curl -X GET "https://my-dev.it/api/V1/users/api-files?user_id=1" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Risposta di successo
{ "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://my-dev.it/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://my-dev.it/view?project_preview.pdf" } ]
}
Descrizione dei campi nella risposta
  • status: Stato della risposta (ad esempio, successo).
  • user: Informazioni utente (ID e nome).
  • files: Elenco dei file caricati dall'utente.
  • file_id: ID file univoco.
  • upload_date: Data di caricamento del file.
  • 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 degli utenti - [POST]



Questa API consente di ottenere i commenti ricevuti da un utente autenticato. È necessario fornire un token JWT valido per accedere a questa risorsa.

Esempio Richiesta curl
curl -X POST "https://my-dev.it/api/V1/users/api-comments" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Parametri Obbligatori
  • Header X-Authorization: Token JWT richiesto per l'autenticazione.
  • Header Content-Type: Impostare su application/json per inviare dati in formato JSON..
Esempio di richiesta completa
curl -X POST "https://my-dev.it/api/V1/users/api-comments" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Risposta di successo
{ "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://my-dev.it/view/report_october" }, { "comment_id": 202, "submission_date": "2024-09-20", "title": "Project Introduction", "comment": "This is an exellent Introduction! Well done!", "link": "https://my-dev.it/view/project_preview" } ]
}
Descrizione dei campi nella risposta
  • status: Stato della risposta (ad esempio, successo).
  • data: Elenco dei commenti ricevuti.
  • comment_id: ID commento univoco.
  • submission_date: Data di pubblicazione del commento.
  • 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"
}