REST API
Hivesigner API nalazi se na adresi https://hivesigner.com/api/. Vraća nalog prijavljene osobe, emituje operacije objavljivanja u njeno ime, menja kodove za tokene i nabraja aplikacije koje koriste Hivesigner. Ova stranica opisuje svaku krajnju tačku sa njenim zahtevima, odgovorima i greškama.
Zahtevi i potvrda identiteta
- Osnovna adresa:
https://hivesigner.com/api/. Svaka krajnja tačka ispod data je u odnosu nahttps://hivesigner.com. - Token: šaljite ga takvog kakav jeste u zaglavlju
Authorization:Authorization: ACCESS_TOKEN. Prihvata se i prefiksBearer. Možete ga poslati i kaoaccess_tokenu upitnom delu ili u telu, ali ga zaglavlje drži van adresa i dnevnika. - Tela: JSON sa
Content-Type: application/jsonili obrazac (application/x-www-form-urlencoded). - Odgovori: JSON.
- Pregledači: API dopušta zahteve sa drugog izvora, pa veb aplikacija može da ga poziva neposredno.
Kako doći do tokena, pogledajte Prijava preko OAuth2. Šta token sadrži, pogledajte Tokeni.
Greške
Odgovor sa greškom ima HTTP status greške i ovakvo telo:
{
"error": "invalid_scope",
"error_description": "The access_token scope does not allow the following operation(s): transfer"
}
| Status | error |
Kada |
|---|---|---|
| 401 | invalid_grant |
Tokena nema ili nije ispravan, ili je pogrešne vrste za ovu krajnju tačku («The token has invalid role»). Na /api/oauth2/token i «The code or secret is not valid». |
| 401 | invalid_scope |
/api/broadcast: operacija koju token ne dopušta. Opis navodi te operacije. |
| 401 | unauthorized_client |
/api/broadcast: operacija čiji autor nije osoba iz tokena, account_update2 koji dira ključeve, nedostatak odobrenja za ovlašćenje za objavljivanje ili nalog koji nije mogao da se učita. Opis kaže koji je slučaj. |
| 500 | server_error |
/api/broadcast: Hive mreža je odbila transakciju. error_description nosi njenu poruku. |
| 503 | unavailable |
/api/apps: spisak se još sastavlja. |
GET /api/me
Vraća nalog kome token pripada. Koristite to da biste saznali ko se prijavio ili da biste proverili token.
- Metode:
GETiliPOST. - Token: token pristupa, uključujući
logintoken koji navodi aplikaciju.
curl https://hivesigner.com/api/me -H 'Authorization: ACCESS_TOKEN'
Odgovor, skraćeno:
{
"user": "alice",
"_id": "alice",
"name": "alice",
"account": { "id": 1370484, "name": "alice" },
"scope": [
"vote",
"comment",
"delete_comment",
"comment_options",
"custom_json",
"claim_reward_balance",
"account_update2"
],
"user_metadata": { "profile": { "name": "Alice", "version": 2 } }
}
| Polje | Značenje |
|---|---|
user |
Hive korisničko ime kome token pripada. _id i name ga ponavljaju. |
account |
Ceo nalog, onako kako ga vraća condenser_api.get_accounts na Hive-u. |
scope |
Šta token dopušta: ["login"] za token za prijavu, inače operacije koje /api/broadcast prihvata. |
user_metadata |
Metapodaci profila naloga, pročitani iz JSON-a. |
/api/me ne navodi aplikaciju za koju je token napravljen. Da biste to proverili, dekodirajte token: pogledajte Pitajte API.
POST /api/broadcast
Potpisuje operacije objavljivanja osobe iz tokena ključem za objavljivanje naloga @hivesigner i emituje ih u Hive mrežu.
- Metoda:
POST. - Token: token pristupa
posting, iz toka sa tokenom ili iz toka sa kodom. - Da bi radilo: osoba je dala ovlašćenje za objavljivanje nalogu vaše aplikacije (to radi ekran saglasnosti), a nalog vaše aplikacije je dao ovlašćenje za objavljivanje nalogu @hivesigner.
- Telo:
{ "operations": [...] }, gde je svaka operacija[name, fields], kao na Hive blokčejnu. Sve operacije iz jednog zahteva ulaze u jednu transakciju.
POST /api/broadcast HTTP/1.1
Host: hivesigner.com
Authorization: ACCESS_TOKEN
Content-Type: application/json
{
"operations": [
["vote", { "voter": "alice", "author": "bob", "permlink": "my-first-post", "weight": 10000 }]
]
}
Isti zahtev preko curl-a:
curl -X POST https://hivesigner.com/api/broadcast \
-H 'Authorization: ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operations":[["vote",{"voter":"alice","author":"bob","permlink":"my-first-post","weight":10000}]]}'
Praćenje je operacija custom_json:
{
"operations": [
["custom_json", {
"required_auths": [],
"required_posting_auths": ["alice"],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"alice\",\"following\":\"bob\",\"what\":[\"blog\"]}]"
}]
]
}
API odgovara čim Hive čvor prihvati transakciju. result.id je identifikator transakcije:
{
"result": { "id": "TRANSACTION_ID" }
}
Kada mreža odbije transakciju, odgovor je 500 uz server_error. Njegov error_description nosi poruku mreže, a response sirovu grešku.
Šta broadcast prihvata
Token za objavljivanje dopušta API-ju da emituje ove operacije i nijednu drugu. U svakoj od njih osoba iz tokena mora da bude nalog u prikazanom polju:
| Operacija | Osoba iz tokena mora da bude |
|---|---|
vote |
voter |
comment |
author |
delete_comment |
author |
comment_options |
author |
custom_json |
Prvi nalog u required_posting_auths |
claim_reward_balance |
account |
account_update2 |
account |
- Svaka druga operacija biva odbijena uz
invalid_scope. Tokenloginne dopušta nijednu operaciju. - Operacija za drugi nalog biva odbijena uz
unauthorized_client. Token emituje samo u ime svoje osobe. account_update2može da menja samo metapodatke naloga. Operacija sa poljemowner,activeilipostingbiva odbijena uzunauthorized_client.custom_json: ostaviterequired_authspraznim. API potpisuje ovlašćenjem za objavljivanje, pa operacija kojoj treba aktivno ovlašćenje ne prolazi u mreži.
Prenosima i drugim operacijama sa novčanikom treba aktivni ključ osobe. Njih šaljite kao veze za potpis.
POST /api/oauth2/token
Menja kod za tokene ili token za osvežavanje za nove tokene. Pozivajte to samo sa svog servera. Pogledajte Tok sa kodom.
- Metoda:
POST, sa vrednostima u telu. - Telo:
codeiclient_secret, ilirefresh_tokeniclient_secret. - Zaglavlja: nemojte slati zaglavlje
Authorization.
curl -X POST https://hivesigner.com/api/oauth2/token \
-H 'Content-Type: application/json' \
-d '{"code": "CODE", "client_secret": "CLIENT_SECRET"}'
{
"access_token": "ACCESS_TOKEN",
"refresh_token": "REFRESH_TOKEN",
"expires_in": 604800,
"username": "alice"
}
Svaki poziv vraća nov token pristupa i nov token za osvežavanje. Oba potpisuje @hivesigner. expires_in je trajanje tokena pristupa u sekundama (7 dana).
Greške: 401 invalid_grant. Opis je «The token has invalid role» kada poslata vrednost nije ispravan kod ni token za osvežavanje. Opis je «The code or secret is not valid» kada se kod ili tajna ne poklapaju.
POST /api/oauth2/token/revoke
Javlja Hivesigner-u da se osoba odjavila iz vaše aplikacije. Token vaša aplikacija odbacuje sama.
- Metoda:
POST. - Token: token pristupa, u zaglavlju
Authorization.
curl -X POST https://hivesigner.com/api/oauth2/token/revoke -H 'Authorization: ACCESS_TOKEN'
{ "success": true }
revokeToken() iz JavaScript SDK-a obavlja ovaj poziv, pa zatim zaboravlja token. Da bi pristup vaše aplikacije bio uklonjen zauvek, osoba ga uklanja na https://hivesigner.com/authorized-apps. Pogledajte Odjava i uklanjanje pristupa.
GET /api/apps
Javni spisak aplikacija: aplikacije koje emituju preko Hivesigner-a, poređane po tome koliko ih ljudi koristi. Token nije potreban. https://hivesigner.com/apps prikazuje isti spisak.
curl https://hivesigner.com/api/apps
{
"updated_at": "2026-09-19T06:00:00.000Z",
"building": false,
"window_days": 7,
"featured": ["myapp"],
"apps": [
{
"username": "myapp",
"name": "My App",
"about": "A short description from the app's profile.",
"website": "https://myapp.example",
"site": "ok",
"users": 412,
"requests": 9310,
"first_seen": "2026-08-01",
"last_seen": "2026-09-19",
"new": false
}
]
}
| Polje | Značenje |
|---|---|
updated_at |
Kada je spisak poslednji put sastavljen. |
building |
true dok prvo sastavljanje nema podatke. apps je tada prazan. |
window_days |
Broj dana koje rangiranje obuhvata. |
featured |
Korisnička imena koja se prikazuju prva, tim redom. |
apps[].username |
Nalog aplikacije. |
apps[].name, about |
Iz profila naloga aplikacije ili null. |
apps[].website |
Veb-sajt iz profila, kada odgovara na sopstvenom domenu. Inače null. |
apps[].site |
Ishod provere veb-sajta: ok, no_website, invalid, redirected, blocked ili unreachable. Stavka redirected ima i redirects_to. |
apps[].users |
Različiti korisnici po danu, sabrani kroz ceo period. |
apps[].requests |
Uspešni zahtevi API-ju obavljeni za aplikaciju tokom perioda. |
apps[].first_seen, last_seen |
Prvi dan kada je Hivesigner zabeležio aplikaciju i poslednji dan kada je korišćena, ili null. |
apps[].new |
true kada se aplikacija prvi put pojavila unutar perioda. |
Odgovor sme da stoji u kešu do 5 minuta. Pre nego što spisak bude prvi put sastavljen, API odgovara 503 uz unavailable. Pokušajte kasnije.
Imena i opise objavljuje svaki nalog aplikacije sam. Hivesigner nijedan od njih ne proverava.