Dodawaj kampanie do Vereel z własnych narzędzi
REST API dla marek. Przeglądaj publiczne oferty, wysyłaj nowe ze swoich skryptów, narzędzi agencji lub asystenta AI i śledź każdą na etapie weryfikacji. Wszystko, co wyślesz, Vereel sprawdza, zanim trafi na stronę.
Co potrafi API
Publiczne oferty Vereel może przeglądać każdy: te same informacje, które widzi odwiedzający stronę, bez kwot, bez konta i bez tokena.
Marka może też wysyłać oferty. Tworzysz token w ustawieniach, wysyłasz nim ofertę, a Vereel ją weryfikuje. Po zatwierdzeniu oferta pojawia się na stronie jak każda inna. Do tego czasu nie jest publiczna, ale nadal możesz ją zmieniać i dodawać zdjęcia.
API nie publikuje ofert, nie usuwa ich, nie rozpoczyna kampanii i nie obsługuje płatności. Te czynności zostają w aplikacji.
Szybki start
Użyj konta marki
Zaloguj się jako marka albo załóż takie konto. Tokeny są tylko dla kont marek.
Utwórz token
Otwórz Ustawienia › Tokeny API, nazwij token, wybierz odczyt i zapis oraz zaakceptuj Warunki Współpracy dla ofert, które będzie wysyłał. Skopiuj token od razu: pokazujemy go tylko raz.
Wyślij ofertę
Wykonaj poniższe zapytanie ze swoim tokenem. Identyfikator kategorii weź z GET /categories. Oferta powstaje ze statusem in_review.
Poczekaj na weryfikację
Vereel zatwierdza ofertę albo zwraca ją do wersji roboczych z uzasadnieniem i w obu przypadkach daje Ci znać. W międzyczasie możesz ją zmieniać i dodawać zdjęcia.
Utwórz ofertę (zamień YOUR_TOKEN, identyfikator kategorii i adres zdjęcia na własne):
curl -X POST https://www.vereel.com/api/v1/public/my/offers \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Spring skincare launch",
"description": "Unbox our new vitamin C serum and show how it fits into your morning routine. One Reel and two Stories.",
"offerType": "PRODUCT",
"platforms": [
"instagram",
"tiktok"
],
"categoryIds": [
"00000000-0000-0000-0000-000000000001"
],
"isPayment": true,
"isBarter": false,
"productIncluded": true,
"productServiceValue": 150,
"additionalPayment": 800,
"currency": "PLN",
"includedDescription": "One 30 ml bottle of the serum, shipped before you start.",
"deliverables": {
"reels": 1,
"stories": 2
},
"requiresGoodsShipping": true,
"applyByDays": 21,
"followerMinimum": 5000,
"audience": {
"genders": [
"WOMEN"
],
"ageGroups": [
"18-24",
"25-34"
]
},
"imageUrls": [
"https://cdn.example.com/serum.jpg"
]
}'Udane wywołanie zwraca 201 z identyfikatorem oferty i statusem in_review. Jeśli nie podano zdjęcia, pole missing zawiera photo: dodaj je, zanim oferta będzie mogła zostać zatwierdzona.
Uwierzytelnianie
Przeglądanie nie wymaga tokena. Wszystko pod /my/ wymaga tokena marki, wysyłanego jako Authorization: Bearer vrl_… . Token daje sam odczyt albo odczyt i zapis i wygasa po 30, 90 albo 365 dniach, zależnie od Twojego wyboru. Vereel przechowuje tylko skrót, więc nigdy nie pokaże tokena ponownie. Możesz go w każdej chwili unieważnić w Ustawieniach, a przy każdym utworzeniu tokena Vereel wysyła Ci e-mail.
- Trzymaj tokeny na serwerze albo w ustawieniach agenta, nigdy na stronie internetowej. Trasy z tokenem celowo odrzucają zapytania z innych witryn.
- Token działa tylko w imieniu Twojej marki i tylko na ofertach utworzonych przez API.
- Utworzenie tokena oznacza akceptację Warunków Współpracy dla ofert, które będzie wysyłał. Gdy warunki się zmienią, zaakceptuj je ponownie w Ustawieniach › Tokeny API: do tego czasu token może odczytywać, ale nie może tworzyć ofert.
Operacje
Każda operacja, wygenerowana z tej samej definicji, z której powstaje plik OpenAPI. Ścieżki są liczone względem https://www.vereel.com/api/v1/public. Opisy operacji zostają po angielsku, tak jak w definicji.
| Metoda | Ścieżka | Dostęp | Co robi |
|---|---|---|---|
GET | /offers | Bez tokena | Browse public offers |
GET | /offers/{id} | Bez tokena | Get one public offer |
GET | /categories | Bez tokena | List categories |
GET | /my/offers | Token do odczytu | List your API offers |
POST | /my/offers | Token do odczytu i zapisu | Create an offer (it waits for review) |
GET | /my/offers/{id} | Token do odczytu | Get one of your API offers |
PATCH | /my/offers/{id} | Token do odczytu i zapisu | Change an offer in review |
POST | /my/offers/{id}/images | Token do odczytu i zapisu | Add an image to an offer in review |
POST | /my/offers/{id}/images/upload-url | Token do odczytu i zapisu | Get a URL to upload an image to |
GET | /openapi.yaml | Bez tokena | This definition, as YAML |
GET | /openapi.json | Bez tokena | This definition, as JSON |
Zdjęcia
Oferta potrzebuje co najmniej jednego zdjęcia, zanim zostanie zatwierdzona. W trakcie weryfikacji możesz je dodać na dwa sposoby:
- Wyślij link. Podaj imageUrls przy tworzeniu oferty albo wyślij {"url": …} na adres zdjęć oferty. Vereel pobiera obraz samodzielnie: tylko https, z publicznego adresu, do 5 MB.
- Albo wgraj plik. Poproś o adres do wgrania, wyślij plik metodą PUT, a potem w ciągu 15 minut dołącz zwrócony adres.
- Tylko JPEG, PNG lub WebP, rozpoznawane po zawartości pliku, nie po nazwie. Oferta może mieć do 6 zdjęć; pierwsze jest okładką.
Limity
- Treść zapytania ma co najwyżej 64 KB.
- Bez tokena: 60 zapytań na minutę z jednego adresu.
- Z tokenem: 120 zapytań na minutę oraz co najwyżej 30 zmian i 20 pobrań zdjęć w ciągu 10 minut.
- Na markę: co najwyżej 10 aktywnych tokenów, 20 ofert w weryfikacji i 50 nowych ofert z API na dobę.
Po przekroczeniu limitu API odpowiada kodem 429 (RATE_LIMITED lub REVIEW_QUEUE_FULL), a tam, gdzie warto poczekać, dodaje nagłówek Retry-After.
Błędy
Każdy błąd ma ten sam kształt, {"error": {"code", "message", "details"}}, a details wskazuje każde nieprawidłowe pole.
| Kod | HTTP | Znaczenie |
|---|---|---|
INVALID_TOKEN | 401 | No valid token. Send Authorization: Bearer vrl_…; brands create tokens in Settings › API tokens. |
INSUFFICIENT_SCOPE | 403 | The token can only read. |
NOT_FOUND | 404 | No such offer, or not one this token may see. |
TERMS_VERSION_CHANGED | 409 | The Cooperation Terms changed since the token was created. Accept the new terms for the token in Settings › API tokens. |
PAYLOAD_TOO_LARGE | 413 | The body is larger than 64 KB. |
IMAGE_INVALID | 422 | The uploaded file is not a JPEG, PNG or WebP image of at most 5 MB. It was removed. |
IMAGE_LIMIT | 422 | The offer already has 6 photos. |
IMAGE_UNAVAILABLE | 422 | A linked image could not be used: not allowed, unreachable, too large, or not an image. |
INVALID_TRANSITION | 422 | The offer is no longer in review, so it cannot be changed through the API. |
VALIDATION_ERROR | 422 | A field is missing or invalid; details names each one. (400 for a body that is not a JSON object.) |
RATE_LIMITED | 429 | Too many requests. Wait for Retry-After seconds. |
REVIEW_QUEUE_FULL | 429 | The brand has 20 offers in review, or created 50 through the API in the last 24 hours. |
API_DISABLED | 503 | The public API is switched off at the moment. |
Użycie z własnym GPT w ChatGPT
Własny GPT może dodawać oferty na podstawie briefu wklejonego do czatu. W edytorze GPT w ChatGPT (nazwy opcji podajemy po angielsku):
- Otwórz Configure i wybierz Create new action.
- Wybierz Import from URL i wpisz https://www.vereel.com/api/v1/public/openapi.yaml. Operacje pojawią się na liście.
- W sekcji Authentication wybierz API Key, ustaw Auth Type na Bearer i wklej token do odczytu i zapisu.
- W instrukcjach każ GPT dopytywać o brakujące dane, sprawdzać identyfikatory kategorii przez listCategories i podawać linki do zdjęć w imageUrls.
Token jest przechowywany w ustawieniach GPT, więc nie udostępniaj go publicznie: każdy, kto może z niego korzystać, może wysyłać oferty w imieniu Twojej marki. Wszystko, co wyśle, nadal czeka na weryfikację, a GPT może przekazać zdjęcie tylko jako link.
Pliki definicji
Definicja OpenAPI 3.1 jest publiczna. Użyj jej, by wygenerować klienta albo połączyć narzędzie. Pozostaje dostępna także wtedy, gdy samo API jest wyłączone.
Pytania albo coś, czego API jeszcze nie potrafi? Napisz do nas