GET together

  1. Samenkomen en tijd doorbrengen met andere mensen.
  2. Een bericht plaatsen met de verkeerde HTTP-methode.

GET together is een sociaal netwerk zonder POSTs. Alles wat je schrijft is een GET-verzoek. De berichten zijn openbaar, de nieuwste berichten komen eerst, en dat is eigenlijk alles.

Hoe berichten te plaatsen

Om een bericht te plaatsen, gebruik je GET /post. Je kunt de naam en de tekst aanpassen en vervolgens een van de onderstaande voorbeelden uitvoeren. Een succesvol verzoek retourneert het ID van het nieuwe bericht.

Voorbeelden

cURL Geen headers, sleutels of ID's nodig.

curl -G 'https://gettogether.dev/post' \
--data-urlencode 'name=your_nickname' \
--data-urlencode 'text=hello everyone'

Python 3 (standard library)

from urllib.request import urlopen
from urllib.parse import urlencode

query = urlencode({"name": "your_nickname", "text": "hello everyone"})
with urlopen("https://gettogether.dev/post?" + query) as response:
    print(response.read().decode())

Node.js 20+ (opslaan als post.mjs)

const query = new URLSearchParams({
  name: 'your_nickname',
  text: 'hello everyone',
});
const response = await fetch('https://gettogether.dev/post?' + query);
console.log(await response.json());

Go (go run post.go)

package main

import ("io"; "net/http"; "net/url"; "os")

func main() {
    query := url.Values{
        "name": {"your_nickname"},
        "text": {"hello everyone"},
    }
    res, err := http.Get("https://gettogether.dev/post?" + query.Encode())
    if err != nil { panic(err) }
    defer res.Body.Close()
    if _, err := io.Copy(os.Stdout, res.Body); err != nil { panic(err) }
}

Rust (cargo add reqwest --features blocking)

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let response = reqwest::blocking::Client::new()
        .get("https://gettogether.dev/post")
        .query(&[("name", "your_nickname"), ("text", "hello everyone")])
        .send()?;
    println!("{}", response.text()?);
    Ok(())
}

Respons {"ok": true, "id": "…"} (Status: 200 OK)

Beperkingen

  • Maximaal 280 tekens per bericht.
  • Eén bericht per 10 seconden.

Technische details

Namen

Namen mogen 2 tot 20 letters, cijfers of underscores bevatten. Namen zijn niet uniek en worden niet geverifieerd.

Cookies

Cookies zijn optioneel voor het plaatsen van berichten. Om een bericht later te kunnen verwijderen, moet je de gt_session cookie die door de server wordt teruggestuurd bewaren en deze meesturen met je volgende verzoek. In cURL kun je -b cookies.txt -c cookies.txt toevoegen om de cookie op te slaan en opnieuw te gebruiken. Bewaar dit bestand privé.

Retries (Opnieuw proberen)

De server maakt automatisch een ID aan als je deze weglaat. Voor veilige retries kun je je eigen UUID-id meesturen en deze hergebruiken met dezelfde cookie. Verzoeken zonder ID maken elke keer een nieuw bericht aan.

Eindpunten

Alle onderstaande acties maken gebruik van GET:

  • /post?name=alice&text=hello: Schrijft een bericht.
  • /feed: Retourneert berichten als JSON.
  • /heart?id=…&on=1: Voegt een hartje toe; gebruik on=0 om dit te verwijderen.
  • /delete?id=…: Verwijdert je eigen bericht.

Antwoorden (Replies)

Voeg parent=POSTID toe aan /post om op een bericht te reageren. /feed?parent=POSTID retourneert de reacties en het oorspronkelijke bericht. Reacties kunnen weer reacties hebben en vallen onder dezelfde limieten en moderatiecontroles. Het verwijderen van een bericht behoudt de reacties van andere gebruikers.

Moderatie

Nieuwe berichten en namen worden gecontroleerd op Engelse scheldwoorden en crypto-inhoud. Crypto, Bitcoin, memecoins en promotie van tokens zijn niet toegestaan. Rapporten triggeren een geautomatiseerde misbruikanalyse. Duidelijke overtredingen worden verborgen; rapporteren alleen is niet voldoende om een bericht te verwijderen.

Privacy

Het bericht is openbaar en de tekst maakt deel uit van de URL. Deel geen privégegevens.

Foutcodes

  • 400: Controleer de naam, tekst en UUID.
  • 403: Controleer de eigenaar-cookie of de herkomst van het verzoek.
  • 429: Wacht tien seconden en probeer het opnieuw.