PayLinks
Creaza si gestioneaza link-uri de plata. Toate endpoint-urile necesita autentificare.
GET /paylinks
Listeaza link-urile tale de plata.
curl https://api.paylinks.ro/api/v1/paylinks \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Currency: RON"
Parametri query:
| Parametru | Tip | Implicit | Descriere |
|---|---|---|---|
limit | integer | 50 | Elemente returnate (max 100) |
cursor | string | — | Cursor de paginare |
Raspuns (200):
{
"items": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Premium Course",
"slug": "premium-course",
"priceType": "FIXED",
"serviceType": "DIGITAL_PRODUCT",
"paymentType": "ONE_TIME",
"amount": 49.99,
"currency": "RON",
"active": true,
"views": 128,
"sales": 30,
"createdAt": "2026-01-15T10:00:00.000Z"
}
]
}
POST /paylinks
Creaza un nou link de plata.
curl -X POST https://api.paylinks.ro/api/v1/paylinks \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "X-Currency: RON" \
-d '{
"name": "Premium Course",
"slug": "premium-course",
"description": "Full access to all modules",
"priceType": "FIXED",
"serviceType": "DIGITAL_PRODUCT",
"paymentType": "ONE_TIME",
"amount": 49.99,
"collectEmail": true,
"collectPhone": false
}'
Corpul cererii:
| Camp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
name | string | Da | Titlul link-ului de plata |
slug | string | Da | Slug URL (a-z0-9-) |
description | string | Nu | Descrierea afisata cumparatorilor |
priceType | string | Da | FIXED, FLEXIBLE sau FREE |
serviceType | string | Da | SERVICE sau DIGITAL_PRODUCT |
paymentType | string | Nu | ONE_TIME sau SUBSCRIPTION |
amount | number | Da (FIXED) | Pret in unitati majore (ex: 49.99) |
currency | string | Nu | RON, EUR, GBP |
minAmount | number | Nu | Suma minima pentru FLEXIBLE |
collectEmail | boolean | Nu | Colecteaza email-ul cumparatorului (implicit: true) |
collectPhone | boolean | Nu | Colecteaza telefonul cumparatorului |
collectBillingAddress | boolean | Nu | Colecteaza adresa de facturare |
addVat | boolean | Nu | Aplica TVA la suma checkout |
subscriptionInterval | string | Nu | WEEKLY, MONTHLY, SIX_MONTHS, YEARLY |
stockLimit | integer | Nu | Limita de stoc pentru linkuri one-time |
active | boolean | Nu | Daca link-ul este activ (implicit: true) |
Raspuns (201):
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Premium Course",
"slug": "premium-course",
"priceType": "FIXED",
"paymentType": "ONE_TIME",
"serviceType": "DIGITAL_PRODUCT",
"amount": 49.99,
"currency": "RON",
"active": true,
"collectEmail": true,
"collectPhone": false,
"createdAt": "2026-02-17T10:00:00.000Z"
}
POST /paylinks/ai-draft
Genereaza un paylink folosind AI dintr-un prompt text.
curl -X POST https://api.paylinks.ro/api/v1/paylinks/ai-draft \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"prompt": "A cooking course for beginners, 99 RON"}'
Corpul cererii:
| Camp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
prompt | string | Da | Descriere in limbaj natural |
Raspuns (200): Returneaza { "suggestion": { ... } } cu payload draft generat de AI.
PATCH /paylinks/:id
Actualizeaza un paylink existent.
curl -X PATCH https://api.paylinks.ro/api/v1/paylinks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Updated Course Title", "amount": 59.99}'
Majoritatea campurilor de creare sunt acceptate si la update, inclusiv priceType si serviceType (se aplica regulile de validare).
Raspuns (200): Obiectul PayLink actualizat.
POST /paylinks/:id/duplicate
Creaza o copie a unui paylink existent.
curl -X POST https://api.paylinks.ro/api/v1/paylinks/a1b2c3d4-e5f6-7890-abcd-ef1234567890/duplicate \
-H "Authorization: Bearer YOUR_TOKEN"
Raspuns (201): Obiect PayLink nou (copie a originalului cu un slug nou).
DELETE /paylinks/:id
Sterge un paylink.
curl -X DELETE https://api.paylinks.ro/api/v1/paylinks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "Authorization: Bearer YOUR_TOKEN"
Raspuns (200):
{"ok": true}