API
API
Oznaczaj i wykrywaj pliki przez API Markedfile. Dostępne w planach Business i Enterprise.
Klucze API
Właściciel obszaru Business albo Enterprise tworzy i unieważnia klucze w ustawieniach obszaru. Klucz jest pokazywany tylko raz. Markedfile zapisuje skrót SHA-256, krótki prefiks i nazwę. Sekret nie jest zapisywany.
Klucz należy dokładnie do jednego obszaru. Działa tylko tam, z limitami planu obszaru. Obszary osobiste nie mają kluczy. Członek, który nie jest właścicielem, nie może ich tworzyć ani unieważniać.
Jeśli obszar traci aktywny plan Business albo Enterprise, wszystkie klucze przestają działać od razu, także w ciągu tych 30 dni, gdy istniejące pliki nadal da się wykryć w aplikacji. Gdy wracasz do planu Business albo Enterprise, klucze, których nie unieważniono, znów działają.
Uwierzytelnianie
Wyślij sekret w nagłówku Authorization jako token Bearer. Te trasy nie używają pliku cookie sesji. Przeglądarka na innej stronie jest odrzucana.
Audyt
Utworzenie, unieważnienie, oznaczenie i wykrycie zapisują wiersz audytu, który właściciel obszaru może przeczytać. Wiersz nie zawiera pliku.
Punkty końcowe
POST/api/v1/mark
Oznacza plik i zwraca oznaczoną kopię. Treść to multipart/form-data.
Uwierzytelnianie
Authorization: Bearer mf_…Wyślij ten nagłówek. Nie ma pliku cookie sesji. curl i inni klienci serwerowi są przyjmowani. Przeglądarka na innej stronie jest odrzucana.
Parametry
| Nazwa | Typ | Wymagane | Opis |
|---|---|---|---|
| file | file | Tak | Plik do oznaczenia. Business i Enterprise przyjmują do 100 MB, 500 stron PDF i wideo do 10 minut. Rozmiar wgrywania, długość wideo i liczba stron PDF wynikają z planu obszaru. |
| identifier | string | Tak | 1–32 znaki, bez znaków sterujących. To etykieta, którą zobaczysz, jeśli ta kopia zostanie później wykryta. Nie jest zapisywana w pliku jako czytelny tekst. |
Żądanie
curl -X POST https://markedfile.com/api/v1/mark \
-H "Authorization: Bearer mf_…" \
-F "file=@contract.pdf" \
-F "identifier=northwind"Odpowiedź
{
"file": "JVBERi0xLjQK…",
"mime": "application/pdf",
"name": "contract.pdf",
"kind": "pdf",
"layers": [
{
"name": "Metadata",
"detail": "Authenticated workspace reference; the identifier stays on the server",
"screenshot": "No",
"crop": "No",
"reencode": "No"
}
],
"remaining": 1
}file to oznaczone bajty w base64. mime, name i kind opisują pobranie. layers pokazuje użyte warstwy. Gdy plan nie ma limitu aktywnych plików, remaining to liczba aktywnych plików po tym oznaczeniu. Gdy limit jest, remaining to liczba pozostałych nowych oznaczeń. Business i Enterprise nie mają limitu aktywnych plików. Usunięcie pliku kończy wykrywanie.
Błędy
Tekst pola error w odpowiedzi JSON jest po angielsku.
| Stan | Opis |
|---|---|
| 400 | Plik jest pusty, albo identyfikator jest pusty, dłuższy niż 32 znaki albo zawiera znak sterujący. |
| 401 | Brak klucza, klucz unieważniony albo nieznany. Odpowiedź JSON zawiera "code": "api-key". |
| 403 | Obszar nie ma już aktywnego planu Business albo Enterprise (odpowiedź zawiera "code": "enterprise"), albo przeglądarka wysłała żądanie cross-site albo same-site. |
| 413 | Plik przekracza limit wgrywania planu, albo PDF ma więcej stron, niż plan pozwala. |
| 422 | Pliku nie dało się przetworzyć. |
| 429 | Ten klucz oznaczył ponad 40 plików w bieżącej minucie. |
Limit wywołań
40 żądań na minutę dla tego klucza. Licznik jest w bazie produktu i zostaje po restarcie.
POST/api/v1/detect
Sprawdza plik w obszarze roboczym tego klucza. Treść to multipart/form-data.
Uwierzytelnianie
Authorization: Bearer mf_…Wyślij ten nagłówek. Nie ma pliku cookie sesji. curl i inni klienci serwerowi są przyjmowani. Przeglądarka na innej stronie jest odrzucana.
Parametry
| Nazwa | Typ | Wymagane | Opis |
|---|---|---|---|
| file | file | Tak | Plik do sprawdzenia. Trafienia szuka się tylko w obszarze tego klucza. Plik oznaczony w innym obszarze nie zostanie rozpoznany. Aktywny obszar Business albo Enterprise może też sprawdzić plik wideo. Zrzut jednej klatki jest sprawdzany jako obraz. |
Żądanie
curl -X POST https://markedfile.com/api/v1/detect \
-H "Authorization: Bearer mf_…" \
-F "file=@leaked.pdf"Odpowiedź
{
"id": "northwind",
"confidence": 0.95,
"layers": [
{
"name": "Metadata",
"hit": true,
"detail": "Authenticated metadata matched this workspace",
"screenshot": "No",
"crop": "No",
"reencode": "No"
}
],
"notes": [
"Confidence is 99% for an exact file or when an authenticated mark agrees with another mark. A visual match alone stays lower, and weak bit agreement stays far from a high score."
]
}id to identyfikator, który podałeś, gdy kopia była oznaczana, albo null, gdy ten obszar nie ma trafienia. confidence to 99% dla dokładnego pliku albo gdy uwierzytelniony znak zgadza się z innym znakiem. Samo trafienie wizualne zostaje niżej. layers pokazuje warstwy, a hit jest true dla tych, które się zgadzają. notes opisuje, co zrobiło sprawdzenie. Usunięty plik nie jest rozpoznawany.
Błędy
Tekst pola error w odpowiedzi JSON jest po angielsku.
| Stan | Opis |
|---|---|
| 400 | Plik jest pusty. |
| 401 | Brak klucza, klucz unieważniony albo nieznany. Odpowiedź JSON zawiera "code": "api-key". |
| 403 | Obszar nie ma już aktywnego planu Business albo Enterprise (odpowiedź zawiera "code": "enterprise"), albo przeglądarka wysłała żądanie cross-site albo same-site. |
| 413 | Plik przekracza limit wgrywania planu, albo PDF ma więcej stron, niż plan pozwala. |
| 422 | Pliku nie dało się przetworzyć. |
| 429 | Ten klucz wykonał ponad 80 wykryć w bieżącej minucie. |
Limit wywołań
80 żądań na minutę dla tego klucza. Licznik jest w bazie produktu i zostaje po restarcie.