Spring til indhold

API og klientbiblioteker

Alt, hvad webappen gør med en besked, kan gøres over HTTPS med JSON. Det almindelige mønster er et script eller en pipeline, der opretter en besked og giver linket til en person, så legitimationsoplysningen aldrig ligger i en log, en sag eller en chathistorik.

Den fulde endepunktsreference med request- og response-skemaer og en prøv-det-konsol findes på api.onetimesecret.com. Denne side dækker det, du skal vide, før du åbner den.

Forespørgsler går til den region, der har din konto. Hver region er en separat installation, og intet replikeres mellem dem.

https://REGION.onetimesecret.com/api/v2
REGIONVært
caca.onetimesecret.com
eueu.onetimesecret.com
nznz.onetimesecret.com
ukuk.onetimesecret.com
usus.onetimesecret.com

Den rene vært onetimesecret.com svarer stadig på API-forespørgsler og dirigerer dem til en aktiv region, men angiv en region eksplicit, så din integration bliver ved med at virke, hvis den fallback bliver udfaset. Se Hvor dine data ligger for, hvad hver region betyder for dine data.

På et brugerdefineret domæne ligger API'et på samme sti på dit domæne, og de links, det opretter, bruger det domæne:

https://secrets.example.com/api/v2

En selvhostet instans udstiller det samme API på den vært, du kører den på.

Brug HTTP Basic-godkendelse. Brugernavnet er din kontos e-mail; adgangskoden er API-tokenet fra dine kontoindstillinger.

Terminalvindue
curl -u 'you@example.com:APITOKEN' https://eu.onetimesecret.com/api/v2/status

Oprettelse og afsløring af beskeder virker også uden godkendelse, med en anonym brugers begrænsninger: kortere maksimal levetid, mindre beskedstørrelse og ingen kvitteringsliste. Godkendte forespørgsler får din plans grænser og vises blandt dine kvitteringer.

Opret en besked, der lever i én time:

Terminalvindue
curl -u 'you@example.com:APITOKEN' \
-H 'Content-Type: application/json' \
-d '{"secret": {"secret": "the password is hunter2", "ttl": 3600}}' \
https://eu.onetimesecret.com/api/v2/secret/conceal

Svaret indeholder to poster. record.secret.identifier er den nøgle, du deler, som https://eu.onetimesecret.com/secret/IDENTIFIER. record.receipt.identifier er din: den viser, om beskeden er blevet vist, og lader dig ødelægge den før tid. Send aldrig kvitteringsnøglen til modtageren.

Tilføj "passphrase": "..." til secret-objektet for at kræve en adgangssætning ved visning. Adgangssætningen er en adgangskontrol, ikke krypteringsnøglen: tjenesten gemmer kun en envejs-hash af den og kontrollerer den, før værdien dekrypteres. En mistet adgangssætning kan ikke gendannes, så beskeden kan derefter hverken afsløres eller ødelægges; den slettes, når den udløber.

Afslør en besked, hvilket forbruger den:

Terminalvindue
curl -X POST -H 'Content-Type: application/json' -d '{}' \
https://eu.onetimesecret.com/api/v2/secret/IDENTIFIER/reveal

Ødelæg en besked, før nogen ser den, med kvitteringsnøglen:

Terminalvindue
curl -u 'you@example.com:APITOKEN' -X POST \
https://eu.onetimesecret.com/api/v2/receipt/RECEIPT_IDENTIFIER/burn
  • v2 er det aktuelle offentlige API: JSON ind og ud, kvitteringer, status- og ødelæggelsesendepunkter. Byg på dette.
  • v1 er det oprindelige formularkodede API (POST /api/v1/share). Det virker stadig, og de fleste fællesskabsbiblioteker bruger det, men nye integrationer bør bruge v2.

Begge er dokumenteret på api.onetimesecret.com.