
Језик 🇧🇦 Српски (БиХ)
Почетак
Документација
Агрегација
Ревизиони дневници
Блокирање из коментара
Провера блокираних коментара
Коментари
Конфигурације домена
Шаблони електронске поште
Дневник догађаја
Објаве фида
Пријави коментар
Хештегови
Модератори
Број обавештења
Обавештења
Странице
Неразрешени вебхук догађаји
Конфигурације питања
Резултати питања
Агрегација резултата питања
SSO корисници
Претплате
Дневна употреба закупца
Пакети закупца
Корисници закупца
Закупци
Отпреми слику
Напредак корисничке значке
Корисничке значке
Корисничка обавештења
Статуси присутности корисника
Претрага корисника
Корисници
Гласови
FastComments Rust SDK
Ово је званични Rust SDK за FastComments.
Званични Rust SDK за FastComments API
Репозиторијум
Садржај библиотеке 
The FastComments Rust SDK se sastoji od nekoliko modula:
Client Module - Automatski generisan API klijent za FastComments REST API-je
- Kompletne definicije tipova za sve API modele
- I autentifikovani (
DefaultApi) i javni (PublicApi) krajnji tačke - Potpuna podrška za async/await uz tokio
- Pogledajte client/README.md za detaljnu API dokumentaciju
SSO Module - Alati za Single Sign-On (SSO) na serverskoj strani
- Sigurno generisanje tokena za autentifikaciju korisnika
- Podrška za jednostavne i sigurne SSO režime
- Potpisivanje tokena zasnovano na HMAC-SHA256
Core Types - Zajedničke definicije tipova i alati
- Modeli komentara i strukture metapodataka
- Konfiguracije korisnika i tenant-a
- Pomoćne funkcije za uobičajene operacije
Брзи почетак 
Korištenje javnog API-ja
use fastcomments_sdk::client::apis::configuration::Configuration;
use fastcomments_sdk::client::apis::public_api;
#[tokio::main]
async fn main() {
// Kreiraj konfiguraciju API-ja
let config = Configuration::new();
// Dohvati komentare za stranicu
let result = public_api::get_comments_public(
&config,
public_api::GetCommentsPublicParams {
tenant_id: "your-tenant-id".to_string(),
urlid: Some("page-url-id".to_string()),
url: None,
count_only: None,
skip: None,
limit: None,
sort_dir: None,
page: None,
sso_hash: None,
simple_sso_hash: None,
has_no_comment: None,
has_comment: None,
comment_id_filter: None,
child_ids: None,
start_date_time: None,
starts_with: None,
},
)
.await;
match result {
Ok(response) => {
println!("Found {} comments", response.comments.len());
for comment in response.comments {
println!("Comment: {:?}", comment);
}
}
Err(e) => eprintln!("Error fetching comments: {:?}", e),
}
}
Korištenje autentificiranog API-ja
use fastcomments_sdk::client::apis::configuration::{ApiKey, Configuration};
use fastcomments_sdk::client::apis::default_api;
#[tokio::main]
async fn main() {
// Kreiraj konfiguraciju sa API ključem
let mut config = Configuration::new();
config.api_key = Some(ApiKey {
prefix: None,
key: "your-api-key".to_string(),
});
// Dohvati komentare koristeći autentificirani API
let result = default_api::get_comments(
&config,
default_api::GetCommentsParams {
tenant_id: "your-tenant-id".to_string(),
skip: None,
limit: None,
sort_dir: None,
urlid: Some("page-url-id".to_string()),
url: None,
is_spam: None,
user_id: None,
all_comments: None,
for_moderation: None,
parent_id: None,
is_flagged: None,
is_flagged_tag: None,
is_by_verified: None,
is_pinned: None,
asc: None,
include_imported: None,
origin: None,
tags: None,
},
)
.await;
match result {
Ok(response) => {
println!("Total comments: {}", response.count);
for comment in response.comments {
println!("Comment ID: {}, Text: {}", comment.id, comment.comment);
}
}
Err(e) => eprintln!("Error: {:?}", e),
}
}
Korištenje SSO za autentifikaciju
use fastcomments_sdk::sso::{
fastcomments_sso::FastCommentsSSO,
secure_sso_user_data::SecureSSOUserData,
};
fn main() {
let api_key = "your-api-key".to_string();
// Kreiraj sigurne SSO podatke korisnika (samo na serverskoj strani!)
let user_data = SecureSSOUserData::new(
"user-123".to_string(), // ID korisnika
"user@example.com".to_string(), // E-pošta
"John Doe".to_string(), // Korisničko ime
"https://example.com/avatar.jpg".to_string(), // URL avatara
);
// Generiši SSO token
let sso = FastCommentsSSO::new_secure(api_key, &user_data).unwrap();
let token = sso.create_token().unwrap();
println!("SSO Token: {}", token);
// Proslijedi ovaj token svom frontendu za autentifikaciju
}
Чести проблеми 
401 Unauthorized Errors
If you're getting 401 errors when using the authenticated API:
- Check your API key: Ensure you're using the correct API key from your FastComments dashboard
- Verify the tenant ID: Make sure the tenant ID matches your account
- API key format: The API key should be passed in the Configuration:
let mut config = Configuration::new();
config.api_key = Some(ApiKey {
prefix: None,
key: "YOUR_API_KEY".to_string(),
});
SSO Token Issues
If SSO tokens aren't working:
- Use secure mode for production: Always use
FastCommentsSSO::new_secure()with your API key for production - Server-side only: Generate SSO tokens on your server, never expose your API key to clients
- Check user data: Ensure all required fields (id, email, username) are provided
Async Runtime Errors
The SDK uses tokio for async operations. Make sure to:
Add tokio to your dependencies:
[dependencies] tokio = { version = "1", features = ["full"] }Use the tokio runtime:
#[tokio::main] async fn main() { // Ваш асинхрони код овдје }
Напомене 
Идентификатори емитовања
Видећете да треба да проследите broadcastId у појединим API позивима. Када примите догађаје, добићете овај ID назад, па ћете знати да игноришете догађај ако планирате оптимистички применити измене на клијенту (што ћете вероватно желети да урадите јер пружа најбоље корисничко искуство). Овде проследите UUID. ID би требало да буде довољно јединствен да се не појави два пута у једној сесији прегледача.
aggregate 
Grupira dokumente primjenom grupisanja (ako je groupBy naveden) i izvođenjem više operacija. Podržane su različite operacije (npr. sum, countDistinct, avg, itd.).
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| aggregation_request | models::AggregationRequest | Da | |
| parent_tenant_id | String | Ne | |
| include_stats | bool | Ne |
Odgovor
Vraća: AggregationResponse
get_audit_logs 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| limit | f64 | Не | |
| skip | f64 | Не | |
| order | models::SortDir | Не | |
| after | f64 | Не | |
| before | f64 | Не |
Одговор
Враћа: GetAuditLogs200Response
block_from_comment_public 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| comment_id | String | Да | |
| public_block_from_comment_params | models::PublicBlockFromCommentParams | Да | |
| sso | String | Не |
Одговор
Враћа: BlockFromCommentPublic200Response
un_block_comment_public 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| comment_id | String | Да | |
| public_block_from_comment_params | models::PublicBlockFromCommentParams | Да | |
| sso | String | Не |
Одговор
Враћа: UnBlockCommentPublic200Response
checked_comments_for_blocked 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_ids | String | Da | |
| sso | String | Ne |
Odgovor
Vraća: CheckedCommentsForBlocked200Response
block_user_from_comment 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| block_from_comment_params | models::BlockFromCommentParams | Да | |
| user_id | String | Не | |
| anon_user_id | String | Не |
Одговор
create_comment_public 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| url_id | String | Da | |
| broadcast_id | String | Da | |
| comment_data | models::CommentData | Da | |
| session_id | String | Ne | |
| sso | String | Ne |
Odgovor
Vraća: CreateCommentPublic200Response
delete_comment 
Параметри
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| context_user_id | String | Не | |
| is_live | bool | Не |
Одговор
Враћа: DeleteComment200Response
delete_comment_public 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_id | String | Da | |
| broadcast_id | String | Da | |
| edit_key | String | Ne | |
| sso | String | Ne |
Odgovor
Vraća: DeleteCommentPublic200Response
delete_comment_vote 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_id | String | Da | |
| vote_id | String | Da | |
| url_id | String | Da | |
| broadcast_id | String | Da | |
| edit_key | String | Ne | |
| sso | String | Ne |
Odgovor
Vraća: DeleteCommentVote200Response
flag_comment 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| user_id | String | Не | |
| anon_user_id | String | Не |
Одговор
Враћа: FlagComment200Response
get_comment 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да |
Одговор
Враћа: GetComment200Response
get_comment_text 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_id | String | Da | |
| edit_key | String | Ne | |
| sso | String | Ne |
Odgovor
Vraća: GetCommentText200Response
get_comment_vote_user_names 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_id | String | Da | |
| dir | i32 | Da | |
| sso | String | Ne |
Odgovor
Vraća: GetCommentVoteUserNames200Response
get_comments 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| page | i32 | Ne | |
| limit | i32 | Ne | |
| skip | i32 | Ne | |
| as_tree | bool | Ne | |
| skip_children | i32 | Ne | |
| limit_children | i32 | Ne | |
| max_tree_depth | i32 | Ne | |
| url_id | String | Ne | |
| user_id | String | Ne | |
| anon_user_id | String | Ne | |
| context_user_id | String | Ne | |
| hash_tag | String | Ne | |
| parent_id | String | Ne | |
| direction | models::SortDirections | Ne |
Odgovor
Vraća: GetComments200Response
get_comments_public 
req tenantId urlId
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| url_id | String | Da | |
| page | i32 | Ne | |
| direction | models::SortDirections | Ne | |
| sso | String | Ne | |
| skip | i32 | Ne | |
| skip_children | i32 | Ne | |
| limit | i32 | Ne | |
| limit_children | i32 | Ne | |
| count_children | bool | Ne | |
| fetch_page_for_comment_id | String | Ne | |
| include_config | bool | Ne | |
| count_all | bool | Ne | |
| includei10n | bool | Ne | |
| locale | String | Ne | |
| modules | String | Ne | |
| is_crawler | bool | Ne | |
| include_notification_count | bool | Ne | |
| as_tree | bool | Ne | |
| max_tree_depth | i32 | Ne | |
| use_full_translation_ids | bool | Ne | |
| parent_id | String | Ne | |
| search_text | String | Ne | |
| hash_tags | Vec |
Ne | |
| user_id | String | Ne | |
| custom_config_str | String | Ne | |
| after_comment_id | String | Ne | |
| before_comment_id | String | Ne |
Odgovor
Vraća: GetCommentsPublic200Response
lock_comment 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| comment_id | String | Да | |
| broadcast_id | String | Да | |
| sso | String | Не |
Одговор
Враћа: LockComment200Response
pin_comment 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| comment_id | String | Да | |
| broadcast_id | String | Да | |
| sso | String | Не |
Одговор
Враћа: PinComment200Response
save_comment 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| create_comment_params | models::CreateCommentParams | Da | |
| is_live | bool | Ne | |
| do_spam_check | bool | Ne | |
| send_emails | bool | Ne | |
| populate_notifications | bool | Ne |
Odgovor
Vraća: SaveComment200Response
save_comments_bulk 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| create_comment_params | Vecmodels::CreateCommentParams | Da | |
| is_live | bool | Ne | |
| do_spam_check | bool | Ne | |
| send_emails | bool | Ne | |
| populate_notifications | bool | Ne |
Odgovor
Vraća: Vec<models::SaveComment200Response>
set_comment_text 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_id | String | Da | |
| broadcast_id | String | Da | |
| comment_text_update_request | models::CommentTextUpdateRequest | Da | |
| edit_key | String | Ne | |
| sso | String | Ne |
Odgovor
Vraća: SetCommentText200Response
un_block_user_from_comment 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| un_block_from_comment_params | models::UnBlockFromCommentParams | Да | |
| user_id | String | Не | |
| anon_user_id | String | Не |
Одговор
un_flag_comment 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| user_id | String | Ne | |
| anon_user_id | String | Ne |
Odgovor
Vraća: FlagComment200Response
un_lock_comment 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_id | String | Da | |
| broadcast_id | String | Da | |
| sso | String | Ne |
Odgovor
Vraća: LockComment200Response
un_pin_comment 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| comment_id | String | Да | |
| broadcast_id | String | Да | |
| sso | String | Не |
Одговор
Враћа: PinComment200Response
update_comment 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| body | models::PickApiCommentPeriodUpdatableCommentFields | Da | |
| context_user_id | String | Ne | |
| do_spam_check | bool | Ne | |
| is_live | bool | Ne |
Odgovor
Vraća: FlagCommentPublic200Response
vote_comment 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_id | String | Da | |
| url_id | String | Da | |
| broadcast_id | String | Da | |
| vote_body_params | models::VoteBodyParams | Da | |
| session_id | String | Ne | |
| sso | String | Ne |
Odgovor
Vraća: VoteComment200Response
add_domain_config 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| add_domain_config_params | models::AddDomainConfigParams | Da |
Odgovor
Vraća: AddDomainConfig200Response
delete_domain_config 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| domain | String | Da |
Odgovor
Vraća: DeleteDomainConfig200Response
get_domain_config 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| domain | String | Да |
Одговор
Враћа: GetDomainConfig200Response
get_domain_configs 
Parametri
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Da |
Odgovor
Vraća: GetDomainConfigs200Response
patch_domain_config 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| domain_to_update | String | Da | |
| patch_domain_config_params | models::PatchDomainConfigParams | Da |
Odgovor
Vraća: GetDomainConfig200Response
put_domain_config 
Parameters
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| domain_to_update | String | Да | |
| update_domain_config_params | models::UpdateDomainConfigParams | Да |
Одговор
Враћа: GetDomainConfig200Response
create_email_template 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| create_email_template_body | models::CreateEmailTemplateBody | Da |
Odgovor
Vraća: CreateEmailTemplate200Response
Primjer

delete_email_template 
Параметри
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да |
Одговор
Враћа: FlagCommentPublic200Response
Пример

delete_email_template_render_error 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| error_id | String | Да |
Одговор
Враћа: FlagCommentPublic200Response
Пример

get_email_template 
Parametri
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: GetEmailTemplate200Response
Primjer

get_email_template_definitions 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da |
Odgovor
Vraća: GetEmailTemplateDefinitions200Response
Primjer

get_email_template_render_errors 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| skip | f64 | Ne |
Odgovor
Vraća: GetEmailTemplateRenderErrors200Response
Primjer

get_email_templates 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| skip | f64 | Не |
Одговор
Враћа: GetEmailTemplates200Response
Пример

render_email_template 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| render_email_template_body | models::RenderEmailTemplateBody | Da | |
| locale | String | Ne |
Odgovor
Vraća: RenderEmailTemplate200Response
Primjer

update_email_template 
Parametri
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| update_email_template_body | models::UpdateEmailTemplateBody | Da |
Odgovor
Vraća: FlagCommentPublic200Response
Primjer

get_event_log 
req tenantId urlId userIdWS
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| url_id | String | Da | |
| user_id_ws | String | Da | |
| start_time | i64 | Da | |
| end_time | i64 | Da |
Odgovor
Vraća: GetEventLog200Response
get_global_event_log 
req tenantId urlId userIdWS
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| url_id | String | Да | |
| user_id_ws | String | Да | |
| start_time | i64 | Да | |
| end_time | i64 | Да |
Одговор
Враћа: GetEventLog200Response
create_feed_post 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| create_feed_post_params | models::CreateFeedPostParams | Да | |
| broadcast_id | String | Не | |
| is_live | bool | Не | |
| do_spam_check | bool | Не | |
| skip_dup_check | bool | Не |
Одговор
Враћа: CreateFeedPost200Response
create_feed_post_public 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| create_feed_post_params | models::CreateFeedPostParams | Да | |
| broadcast_id | String | Не | |
| sso | String | Не |
Одговор
Враћа: CreateFeedPostPublic200Response
delete_feed_post_public 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| post_id | String | Da | |
| broadcast_id | String | Ne | |
| sso | String | Ne |
Odgovor
Vraća: DeleteFeedPostPublic200Response
get_feed_posts 
req tenantId afterId
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| after_id | String | Ne | |
| limit | i32 | Ne | |
| tags | Vec |
Ne |
Odgovor
Vraća: GetFeedPosts200Response
get_feed_posts_public 
req tenantId afterId
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| after_id | String | Ne | |
| limit | i32 | Ne | |
| tags | Vec |
Ne | |
| sso | String | Ne | |
| is_crawler | bool | Ne | |
| include_user_info | bool | Ne |
Odgovor
Vraća: GetFeedPostsPublic200Response
get_feed_posts_stats 
Parametri
| Name | Type | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| post_ids | Vec |
Da | |
| sso | String | Ne |
Odgovor
Vraća: GetFeedPostsStats200Response
get_user_reacts_public 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Да | |
| post_ids | Vec |
Не | |
| sso | String | Не |
Одговор
Враћа: GetUserReactsPublic200Response
react_feed_post_public 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| post_id | String | Da | |
| react_body_params | models::ReactBodyParams | Da | |
| is_undo | bool | Ne | |
| broadcast_id | String | Ne | |
| sso | String | Ne |
Odgovor
Vraća: ReactFeedPostPublic200Response
update_feed_post 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| feed_post | models::FeedPost | Da |
Odgovor
Vraća: FlagCommentPublic200Response
update_feed_post_public 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| post_id | String | Da | |
| update_feed_post_params | models::UpdateFeedPostParams | Da | |
| broadcast_id | String | Ne | |
| sso | String | Ne |
Odgovor
Vraća: CreateFeedPostPublic200Response
flag_comment_public 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_id | String | Da | |
| is_flagged | bool | Da | |
| sso | String | Ne |
Odgovor
Vraća: FlagCommentPublic200Response
add_hash_tag 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Ne | |
| create_hash_tag_body | models::CreateHashTagBody | Ne |
Odgovor
Vraća: AddHashTag200Response
Primjer

add_hash_tags_bulk 
Параметри
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Не | |
| bulk_create_hash_tags_body | models::BulkCreateHashTagsBody | Не |
Одговор
Враћа: AddHashTagsBulk200Response
Пример

delete_hash_tag 
Parametri
| Name | Type | Required | Description |
|---|---|---|---|
| tag | String | Da | |
| tenant_id | String | Ne | |
| delete_hash_tag_request | models::DeleteHashTagRequest | Ne |
Odgovor
Vraća: FlagCommentPublic200Response
Primjer

get_hash_tags 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| page | f64 | Ne |
Odgovor
Vraća: GetHashTags200Response
Primjer

patch_hash_tag 
Параметри
| Name | Type | Required | Description |
|---|---|---|---|
| tag | String | Да | |
| tenant_id | String | Не | |
| update_hash_tag_body | models::UpdateHashTagBody | Не |
Одговор
Враћа: PatchHashTag200Response
Пример

create_moderator 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| create_moderator_body | models::CreateModeratorBody | Да |
Одговор
Враћа: CreateModerator200Response
Пример

delete_moderator 
Параметри
| Ime | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| send_email | String | Не |
Одговор
Враћа: FlagCommentPublic200Response
Пример

get_moderator 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да |
Одговор
Враћа: GetModerator200Response
Пример

get_moderators 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| skip | f64 | Ne |
Odgovor
Vraća: GetModerators200Response
Primjer

send_invite 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| from_name | String | Да |
Одговор
Враћа: FlagCommentPublic200Response
Примјер

update_moderator 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| update_moderator_body | models::UpdateModeratorBody | Да |
Одговор
Враћа: FlagCommentPublic200Response
Пример

delete_notification_count 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да |
Одговор
Враћа: FlagCommentPublic200Response
Пример

get_cached_notification_count 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: GetCachedNotificationCount200Response
Primjer

get_notification_count 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| user_id | String | Ne | |
| url_id | String | Ne | |
| from_comment_id | String | Ne | |
| viewed | bool | Ne |
Odgovor
Vraća: GetNotificationCount200Response
Primjer

get_notifications 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| user_id | String | Ne | |
| url_id | String | Ne | |
| from_comment_id | String | Ne | |
| viewed | bool | Ne | |
| skip | f64 | Ne |
Odgovor
Vraća: GetNotifications200Response
Primer

update_notification 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| update_notification_body | models::UpdateNotificationBody | Да | |
| user_id | String | Не |
Одговор
Враћа: FlagCommentPublic200Response
Пример

add_page 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| create_api_page_data | models::CreateApiPageData | Da |
Odgovor
Vraća: AddPageApiResponse
delete_page 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: DeletePageApiResponse
get_page_by_urlid 
Parameters
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| url_id | String | Da |
Odgovor
Vraća: GetPageByUrlidApiResponse
patch_page 
Parametri
| Naziv | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| update_api_page_data | models::UpdateApiPageData | Да |
Одговор
Враћа: PatchPageApiResponse
delete_pending_webhook_event 
Параметри
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да |
Одговор
Враћа: FlagCommentPublic200Response
Пример

get_pending_webhook_event_count 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_id | String | Ne | |
| external_id | String | Ne | |
| event_type | String | Ne | |
| domain | String | Ne | |
| attempt_count_gt | f64 | Ne |
Odgovor
Vraća: GetPendingWebhookEventCount200Response
Primjer

get_pending_webhook_events 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| comment_id | String | Ne | |
| external_id | String | Ne | |
| event_type | String | Ne | |
| domain | String | Ne | |
| attempt_count_gt | f64 | Ne | |
| skip | f64 | Ne |
Odgovor
Vraća: GetPendingWebhookEvents200Response
Primjer

create_question_config 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| create_question_config_body | models::CreateQuestionConfigBody | Да |
Одговор
Враћа: CreateQuestionConfig200Response
Пример

delete_question_config 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: FlagCommentPublic200Response
Primer

get_question_config 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да |
Одговор
Враћа: GetQuestionConfig200Response
Пример

get_question_configs 
Parametri
| Name | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| skip | f64 | Ne |
Odgovor
Vraća: GetQuestionConfigs200Response
Primjer

update_question_config 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| update_question_config_body | models::UpdateQuestionConfigBody | Да |
Одговор
Враћа: FlagCommentPublic200Response
Пример

create_question_result 
Parametri
| Naziv | Type | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| create_question_result_body | models::CreateQuestionResultBody | Da |
Odgovor
Vraća: CreateQuestionResult200Response
Primjer

delete_question_result 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: FlagCommentPublic200Response
Primjer

get_question_result 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: GetQuestionResult200Response
Primjer

get_question_results 
Параметри
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Да | |
| url_id | String | Не | |
| user_id | String | Не | |
| start_date | String | Не | |
| question_id | String | Не | |
| question_ids | String | Не | |
| skip | f64 | Не |
Одговор
Враћа: GetQuestionResults200Response
Пример

update_question_result 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| update_question_result_body | models::UpdateQuestionResultBody | Да |
Одговор
Враћа: FlagCommentPublic200Response
Примјер

aggregate_question_results 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| question_id | String | Ne | |
| question_ids | Vec |
Ne | |
| url_id | String | Ne | |
| time_bucket | models::AggregateTimeBucket | Ne | |
| start_date | String | Ne | |
| force_recalculate | bool | Ne |
Odgovor
bulk_aggregate_question_results 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| bulk_aggregate_question_results_request | models::BulkAggregateQuestionResultsRequest | Да | |
| force_recalculate | bool | Не |
Одговор
Враћа: BulkAggregateQuestionResults200Response
combine_comments_with_question_results 
Parametri
| Name | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| question_id | String | Ne | |
| question_ids | Vec |
Ne | |
| url_id | String | Ne | |
| start_date | String | Ne | |
| force_recalculate | bool | Ne | |
| min_value | f64 | Ne | |
| max_value | f64 | Ne | |
| limit | f64 | Ne |
Odgovor
Vraća: CombineCommentsWithQuestionResults200Response
add_sso_user 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| create_apisso_user_data | models::CreateApissoUserData | Da |
Odgovor
Vraća: AddSsoUserApiResponse
delete_sso_user 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| delete_comments | bool | Ne | |
| comment_delete_mode | String | Ne |
Odgovor
Vraća: DeleteSsoUserApiResponse
get_sso_user_by_email 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| String | Da |
Odgovor
Vraća: GetSsoUserByEmailApiResponse
get_sso_user_by_id 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да |
Одговор
Враћа: GetSsoUserByIdApiResponse
get_sso_users 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| skip | i32 | Ne |
Odgovor
Vraća: GetSsoUsers200Response
patch_sso_user 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| update_apisso_user_data | models::UpdateApissoUserData | Да | |
| update_comments | bool | Не |
Одговор
Враћа: PatchSsoUserApiResponse
put_sso_user 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| update_apisso_user_data | models::UpdateApissoUserData | Да | |
| update_comments | bool | Не |
Одговор
Враћа: PutSsoUserApiResponse
create_subscription 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| create_api_user_subscription_data | models::CreateApiUserSubscriptionData | Da |
Odgovor
Vraća: CreateSubscriptionApiResponse
delete_subscription 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| user_id | String | Ne |
Odgovor
Vraća: DeleteSubscriptionApiResponse
get_subscriptions 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| user_id | String | Ne |
Odgovor
Vraća: GetSubscriptionsApiResponse
get_tenant_daily_usages 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| year_number | f64 | Не | |
| month_number | f64 | Не | |
| day_number | f64 | Не | |
| skip | f64 | Не |
Одговор
Враћа: GetTenantDailyUsages200Response
Пример

create_tenant_package 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| create_tenant_package_body | models::CreateTenantPackageBody | Da |
Odgovor
Vraća: CreateTenantPackage200Response
Primjer

delete_tenant_package 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: FlagCommentPublic200Response
Primjer

get_tenant_package 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Yes | |
| id | String | Yes |
Одговор
Враћа: GetTenantPackage200Response
Пример

get_tenant_packages 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| skip | f64 | Ne |
Odgovor
Vraća: GetTenantPackages200Response
Primjer

replace_tenant_package 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| replace_tenant_package_body | models::ReplaceTenantPackageBody | Da |
Odgovor
Vraća: FlagCommentPublic200Response
Primjer

update_tenant_package 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| update_tenant_package_body | models::UpdateTenantPackageBody | Da |
Odgovor
Vraća: FlagCommentPublic200Response
Primjer

create_tenant_user 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| create_tenant_user_body | models::CreateTenantUserBody | Да |
Одговор
Враћа: CreateTenantUser200Response
Пример

delete_tenant_user 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| delete_comments | String | Ne | |
| comment_delete_mode | String | Ne |
Odgovor
Vraća: FlagCommentPublic200Response
Primjer

get_tenant_user 
Parametri
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: GetTenantUser200Response
Primjer

get_tenant_users 
Параметри
| Ime | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| skip | f64 | Не |
Одговор
Враћа: GetTenantUsers200Response
Примјер

replace_tenant_user 
Параметри
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| replace_tenant_user_body | models::ReplaceTenantUserBody | Да | |
| update_comments | String | Не |
Одговор
Враћа: FlagCommentPublic200Response
Пример

send_login_link 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| redirect_url | String | Ne |
Odgovor
Vraća: FlagCommentPublic200Response
Primer

update_tenant_user 
Parametri
| Name | Type | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| update_tenant_user_body | models::UpdateTenantUserBody | Da | |
| update_comments | String | Ne |
Odgovor
Vraća: FlagCommentPublic200Response
Primjer

create_tenant 
Parametri
| Name | Type | Required | Description |
|---|---|---|---|
| tenant_id | String | Yes | |
| create_tenant_body | models::CreateTenantBody | Yes |
Odgovor
Vraća: CreateTenant200Response
Primjer

delete_tenant 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| sure | String | Ne |
Odgovor
Vraća: FlagCommentPublic200Response
Primjer

get_tenant 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: GetTenant200Response
Primjer

get_tenants 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| meta | String | Не | |
| skip | f64 | Не |
Одговор
Враћа: GetTenants200Response
Пример

update_tenant 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| update_tenant_body | models::UpdateTenantBody | Da |
Odgovor
Vraća: FlagCommentPublic200Response
Primjer

upload_image 
Отпреми и промијени величину слике
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| file | std::path::PathBuf | Да | |
| size_preset | models::SizePreset | Не | |
| url_id | String | Не |
Одговор
Враћа: UploadImageResponse
get_user_badge_progress_by_id 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: GetUserBadgeProgressById200Response
get_user_badge_progress_by_user_id 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| user_id | String | Da |
Odgovor
Vraća: GetUserBadgeProgressById200Response
get_user_badge_progress_list 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| user_id | String | Не | |
| limit | f64 | Не | |
| skip | f64 | Не |
Одговор
Враћа: GetUserBadgeProgressList200Response
create_user_badge 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| create_user_badge_params | models::CreateUserBadgeParams | Da |
Odgovor
Vraća: CreateUserBadge200Response
delete_user_badge 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да |
Одговор
Враћа: UpdateUserBadge200Response
get_user_badge 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да |
Одговор
Враћа: GetUserBadge200Response
get_user_badges 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| user_id | String | Ne | |
| badge_id | String | Ne | |
| displayed_on_comments | bool | Ne | |
| limit | f64 | Ne | |
| skip | f64 | Ne |
Odgovor
Vraća: GetUserBadges200Response
update_user_badge 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da | |
| update_user_badge_params | models::UpdateUserBadgeParams | Da |
Odgovor
Vraća: UpdateUserBadge200Response
get_user_notification_count 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| sso | String | Ne |
Odgovor
Vraća: GetUserNotificationCount200Response
get_user_notifications 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| page_size | i32 | Ne | |
| after_id | String | Ne | |
| include_context | bool | Ne | |
| after_created_at | i64 | Ne | |
| unread_only | bool | Ne | |
| dm_only | bool | Ne | |
| no_dm | bool | Ne | |
| include_translations | bool | Ne | |
| sso | String | Ne |
Odgovor
Vraća: GetUserNotifications200Response
reset_user_notification_count 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| sso | String | Ne |
Odgovor
reset_user_notifications 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| after_id | String | Ne | |
| after_created_at | i64 | Ne | |
| unread_only | bool | Ne | |
| dm_only | bool | Ne | |
| no_dm | bool | Ne | |
| sso | String | Ne |
Odgovor
Vraća: ResetUserNotifications200Response
update_user_notification_comment_subscription_status 
Омогућите или онемогућите обавјештења за одређени коментар.
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| notification_id | String | Да | |
| opted_in_or_out | String | Да | |
| comment_id | String | Да | |
| sso | String | Не |
Одговор
Враћа: UpdateUserNotificationStatus200Response
update_user_notification_page_subscription_status 
Омогућите или онемогућите обавештења за страницу. Када су корисници претплаћени на страницу, обавештења се креирају за нове root коментаре, и такође
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| url_id | String | Да | |
| url | String | Да | |
| page_title | String | Да | |
| subscribed_or_unsubscribed | String | Да | |
| sso | String | Не |
Одговор
Враћа: UpdateUserNotificationStatus200Response
update_user_notification_status 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| notification_id | String | Da | |
| new_status | String | Da | |
| sso | String | Ne |
Odgovor
Vraća: UpdateUserNotificationStatus200Response
get_user_presence_statuses 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| url_id_ws | String | Da | |
| user_ids | String | Da |
Odgovor
Vraća: GetUserPresenceStatuses200Response
search_users 
Parametri
| Ime | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| url_id | String | Da | |
| username_starts_with | String | Da | |
| mention_group_ids | Vec |
Ne | |
| sso | String | Ne |
Odgovor
Vraća: SearchUsers200Response
get_user 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| id | String | Da |
Odgovor
Vraća: GetUser200Response
Primjer

create_vote 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| comment_id | String | Да | |
| direction | String | Да | |
| user_id | String | Не | |
| anon_user_id | String | Не |
Одговор
Враћа: VoteComment200Response
Пример

delete_vote 
Параметри
| Назив | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| id | String | Да | |
| edit_key | String | Не |
Одговор
Враћа: DeleteCommentVote200Response
Пример

get_votes 
Parametri
| Naziv | Tip | Obavezno | Opis |
|---|---|---|---|
| tenant_id | String | Da | |
| url_id | String | Da |
Odgovor
Vraća: GetVotes200Response
Primjer

get_votes_for_user 
Параметри
| Име | Тип | Обавезно | Опис |
|---|---|---|---|
| tenant_id | String | Да | |
| url_id | String | Да | |
| user_id | String | Не | |
| anon_user_id | String | Не |
Одговор
Враћа: GetVotesForUser200Response
Пример

Треба помоћ?
Ако наиђете на било какве проблеме или имате питања у вези Rust SDK-а, молимо вас:
Како допринети
Допринози су добродошли! Молимо посјетите GitHub репозиторијум за упутства о доприносу.