Projektek — projects
| Művelet | Mit tesz | Jog |
|---|---|---|
GET /projects/list |
lista | projects:read |
GET /projects/get |
egy projekt, id vagy code szerint |
projects:read |
GET /projects/schema |
a mezők leírása | projects:read |
POST /projects/new |
új projekt | projects:write |
POST /projects/upsert |
code szerint felvesz vagy módosít |
projects:write |
POST /projects/update |
módosítás — csak a küldött mező, updateMask-kal a felsorolt változik |
projects:write |
GET /projects/assigned_lists |
a projekt listái a beállításaikkal | projects:read |
POST /projects/assign_list |
lista hozzárendelése, vagy a hozzárendelés módosítása | projects:lists |
POST /projects/enable_list |
a lista aktív a projektben | projects:lists |
POST /projects/lock_list |
a lista zárolt a projektben | projects:lists |
POST /projects/disable_list |
a lista tiltott a projektben | projects:lists |
POST /projects/remove_list |
a lista kivétele a projektből | projects:lists |
Projekt az API-n nem törölhető: az állapota (status) zárja le és archiválja.
A mezők
Szekció neve “A mezők”| Mező | Régi | Típus | Listában | Leírás | |
|---|---|---|---|---|---|
id |
prid |
integer |
csak olvasható | ✓ | belső azonosító |
code |
string(40) |
kötelező | ✓ | külső azonosító (id és code), egyedi |
|
name |
string(120) |
kötelező | ✓ | a projekt neve, egyedi | |
type |
string |
kötelező | ✓ | a típus: outbound (Kimenő kampány) · inbound (Ügyfélszolgálat) · ivr (IVR kampány) · cawi (Online kutatás) · capi (Személyes kutatás). Csak felvételkor adható meg. |
|
status |
state |
string |
kötelező | ✓ | az állapot: new (Új) · prepared (Előkészített) · approved (Jóváhagyott) · in_progress (Folyamatban) · suspended (Felfüggesztve) · closed (Lezárt) · archived (Archivált) · deleted (Törölt). A felfüggesztett, a lezárt, az archivált és a törölt projekt nevében hívás nem indul. |
startDate |
start_date |
string |
✓ | a kezdés napja, 2026-10-17; felvételkor alapból a mai nap |
|
closeDate |
close_date |
string |
✓ | a lezárás napja: lezárt és archivált projektnél kötelező — ha nincs, a mai napot kapja —, más állapotban üres | |
folderId |
— | integer |
✓ | a projekt mappája; ha nincs, a válaszban üres, a kérésben 0 |
|
folderName |
— | string |
✓ | a mappa neve; a kérésben a mappa a nevével is megadható, ha a folderId is jön, az az erősebb |
|
updatedAt |
— | string |
csak olvasható | ✓ | az utolsó módosítás ideje, eltolással |
A type és a status választható értékeit a schema adja: ami a rendszerben nem választható, az a kérésben
sem adható meg.
A hozzárendelés
Szekció neve “A hozzárendelés”A projekt listái: a hozzárendelés a projekt és a lista párosa. A mezői:
| Mező | Régi | Típus | Leírás | |
|---|---|---|---|---|
listId |
lsid |
integer |
a lista belső azonosítója | |
listCode |
lscode |
string |
a lista külső azonosítója | |
listName |
— | string |
csak olvasható | a lista neve |
status |
disabled |
string |
active (Aktív): hívható · locked (Zárolt): új hívást nem kap, a visszahívások mennek · disabled (Tiltott): a projektben semmi nem hívható belőle |
|
predictive |
dial_mode |
boolean |
prediktív tárcsázás; IVR projektnél: fut-e a kampány | |
factor |
pred_factor |
number |
a prediktív tárcsázás aránya, IVR projektnél az egyszerre futó hívásoké; 1–7, két tizedesig | |
redialHours |
redial |
integer |
ennyi óra után hívható újra a hívott, le nem zárt tétel; 1–999 | |
dailyQuota |
daily_quota |
integer |
napi kvóta, 0–32767; ha nincs, a válaszban üres, a kérésben 0 |
|
ccNumber |
— | string |
a lista hívásainak hívószáma, a rendszer kimenő számai közül, kimenő és IVR projektnél; üresen a projekté — a felhasználó saját hívószáma mindkettőnél erősebb |
Az új hozzárendelés alapból active — IVR projektnél locked —, a factor 1, a redialHours 24.
A hozzárendeléskor a lista minden tétele egyszerre lesz hívható, véletlen sorrendben. A már hozzárendelt listára
felvett tétel a felvételekor lesz hívható, a felvétel — lejárattal a lejárat (expiresAt) — sorrendjében. Ha a lista
egyben induljon, előbb töltsd fel, utána rendeld hozzá; ha a lejárat szerinti sorrend kell, rendeld hozzá locked
állapotban, töltsd fel, és utána állítsd aktívra (enable_list).
GET /projects/list Lista
Szekció neve “GET /projects/list Lista”A projektek, lapozva (A lapozás). Alapból az archivált és a törölt nélkül.
| Paraméter | Régi | Típus | Mit szűr |
|---|---|---|---|
type |
— | string |
egy típus projektjei |
status |
— | string |
egy állapot projektjei, az archivált és a törölt is |
allowArchived |
— | boolean |
az archivált és a törölt is (true); alapból nélkülük |
{ "projects": [ { "id": 7, "code": "KAMP-OKT", "name": "Októberi kampány", "type": "outbound", "status": "in_progress", "startDate": "2026-10-01", "closeDate": null, "folderId": 3, "folderName": "Kampányok", "updatedAt": "2026-10-20T09:15:00+02:00" } ], "hasMore": false}curl "$BASE/projects/list?type=outbound" -H "X-API-Key: $API_KEY"GET /projects/get Egy projekt
Szekció neve “GET /projects/get Egy projekt”Ugyanazok a mezők, mint a list-ben.
curl "$BASE/projects/get?code=KAMP-OKT" -H "X-API-Key: $API_KEY"{ "id": 7, "code": "KAMP-OKT", "name": "Októberi kampány", "type": "outbound", "status": "in_progress", "startDate": "2026-10-01", "closeDate": null, "folderId": 3, "folderName": "Kampányok", "updatedAt": "2026-10-20T09:15:00+02:00"}GET /projects/schema A mezők leírása
Szekció neve “GET /projects/schema A mezők leírása”A type és a status választható értékei az options-ban, szóval és a felület feliratával. A válasz alakja: A
mezők leírása.
curl "$BASE/projects/schema" -H "X-API-Key: $API_KEY"POST /projects/new Új projekt
Szekció neve “POST /projects/new Új projekt”Kötelező a code, a name, a type és a status. Az új projekt a típusa alapbeállításaival indul, lista nélkül.
{ "code": "KAMP-NOV", "name": "Novemberi kampány", "type": "outbound", "status": "new", "startDate": "2026-11-01", "folderName": "Kampányok"}| HTTP | code |
Mikor |
|---|---|---|
422 |
VALIDATION_FAILED |
mezőhiba (fields): nem választható type vagy status, nem létező mappa (INVALID_VALUE) · closeDate nem lezárt állapotban (CLOSE_DATE_NOT_CLOSED) |
422 |
VALIDATION_FAILED |
a code foglalt (CODE_TAKEN_NEW) — a projects/upsert módosítja · a name foglalt (NAME_TAKEN) |
curl "$BASE/projects/new" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"code": "KAMP-NOV", "name": "Novemberi kampány", "type": "outbound", "status": "new"}'POST /projects/upsert Felvétel vagy módosítás
Szekció neve “POST /projects/upsert Felvétel vagy módosítás”A code keresi a projektet: ha megvan, a küldött mezőit módosítja, mint az update; ha nincs, felveszi,
mint a new. A code kötelező.
{ "code": "KAMP-NOV", "name": "Novemberi kampány", "type": "outbound", "status": "in_progress" }| HTTP | code |
Mikor |
|---|---|---|
400 |
INVALID_ARGUMENT |
hiányzik a code |
422 |
VALIDATION_FAILED |
mezőhiba (fields), mint a new-nál és az update-nél · a code nem használható (CODE_TAKEN) · a name foglalt (NAME_TAKEN) |
curl "$BASE/projects/upsert" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"code": "KAMP-NOV", "name": "Novemberi kampány", "type": "outbound", "status": "in_progress"}'POST /projects/update Módosítás
Szekció neve “POST /projects/update Módosítás”A type nem változik: a tárolttól eltérő hiba, az azonos nem számít. Lezáráskor (closed, archived) a projekt a mai
napot kapja lezárásnak, ha nincs; a closeDate meg is adható. Visszanyitáskor a lezárás napja ürül. Archiváláskor a
kimenő és az IVR projekt listái tiltást kapnak, ha más aktív projekt nem használja őket.
{ "code": "KAMP-OKT", "status": "closed", "closeDate": "2026-10-31" }| HTTP | code |
Mikor |
|---|---|---|
422 |
VALIDATION_FAILED |
mezőhiba (fields), mint a new-nál · a tárolttól eltérő type (TYPE_FIXED) · üres closeDate lezárt vagy archivált projektnél (REQUIRED) |
422 |
VALIDATION_FAILED |
a code egy másik projekté (CODE_TAKEN) · a name foglalt (NAME_TAKEN) |
curl "$BASE/projects/update" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"code": "KAMP-OKT", "status": "closed"}'GET /projects/assigned_lists A projekt listái
Szekció neve “GET /projects/assigned_lists A projekt listái”A projekt minden listája a beállításaival, a tiltott és a lejárt is. A projektet a projectId vagy a projectCode
adja.
{ "lists": [ { "listId": 12, "listCode": "KAMP-2026-10", "listName": "Októberi lista", "status": "active", "predictive": true, "factor": 1.5, "redialHours": 24, "dailyQuota": null, "ccNumber": null } ]}curl "$BASE/projects/assigned_lists?projectCode=KAMP-OKT" -H "X-API-Key: $API_KEY"POST /projects/assign_list Lista hozzárendelése
Szekció neve “POST /projects/assign_list Lista hozzárendelése”A listát a projekthez rendeli, vagy a meglévő hozzárendelés küldött mezőit módosítja. A projektet a projectId vagy a
projectCode, a listát a listId vagy a listCode adja; mellettük a hozzárendelés mezői. Az új
hozzárendelés 201, a módosítás 200. Importálás alatt álló lista nem rendelhető hozzá.
{ "projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10", "predictive": true, "factor": 1.5 }| HTTP | code |
Mikor |
|---|---|---|
400 |
INVALID_ARGUMENT |
hiányzik a projekt vagy a lista |
422 |
VALIDATION_FAILED |
nem létező projekt vagy lista (INVALID_VALUE a küldött mezőn) · mezőhiba (fields): tartományon kívüli érték (TOO_LOW, TOO_HIGH), ismeretlen status, nem választható ccNumber (INVALID_VALUE), ccNumber nem kimenő és nem IVR projekten (CALLER_NUMBER_TYPE) |
422 |
VALIDATION_FAILED |
a lista fájlimportja még fut (LIST_IMPORTING) — a listitems feltöltése nem zárol |
curl "$BASE/projects/assign_list" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10"}'POST /projects/enable_list Aktív lista
Szekció neve “POST /projects/enable_list Aktív lista”A lista hívható a projektben. A projektet a projectId vagy a projectCode, a listát a listId vagy a listCode
adja; a projekthez nem rendelt lista 404.
{ "projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10" }curl "$BASE/projects/enable_list" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10"}'POST /projects/lock_list Zárolt lista
Szekció neve “POST /projects/lock_list Zárolt lista”A lista új hívást nem kap a projektben, a visszahívások mennek. A projektet a projectId vagy a projectCode, a listát
a listId vagy a listCode adja; a projekthez nem rendelt lista 404.
{ "projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10" }curl "$BASE/projects/lock_list" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10"}'POST /projects/disable_list Tiltott lista
Szekció neve “POST /projects/disable_list Tiltott lista”A projektben semmi nem hívható a listából. A projektet a projectId vagy a projectCode, a listát a listId vagy a
listCode adja; a projekthez nem rendelt lista 404.
{ "projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10" }curl "$BASE/projects/disable_list" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10"}'POST /projects/remove_list A lista kivétele
Szekció neve “POST /projects/remove_list A lista kivétele”Kiveszi a listát a projektből. A projektet a projectId vagy a projectCode, a listát a listId vagy a listCode
adja; a projekthez nem rendelt lista 404. Ha a listához a projektben interjú-adat tartozik, nem vehető ki — tiltható
(disable_list).
{ "projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10" }| HTTP | code |
Mikor |
|---|---|---|
422 |
VALIDATION_FAILED |
a listához interjú-adat tartozik (LIST_HAS_INTERVIEWS) |
curl "$BASE/projects/remove_list" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10"}'A régi API-ból
Szekció neve “A régi API-ból”| Cím | Kérés | Válasz | Működés |
|---|---|---|---|
project/list → GET /projects/list |
az allow_closed helyett allowArchived és status |
a type és a state szám helyett szó (type, status); a type_name és a state_name nincs |
a régi alapból mindet adta, az új az archivált és a törölt nélkül |
project/get → GET /projects/get |
a projekt keresése: prid / code → id / code; az include_assigned_lists helyett a projects/assigned_lists |
mint a list-nél |
— |
project/new → POST /projects/upsert · POST /projects/new |
a type és a state szóval (type, status) |
prid → id |
a régi a meglévő code-ra a nevet és a kezdés napját módosította: ez most az upsert, a küldött mezőket mind írja, a típust nem változtatja; a meglévő code-ra hibát adó alak a new |
project/update → POST /projects/update |
a keresés: prid / prcode → id / code; a code átírásához az id kell; a type és a state szóval |
— | a típus nem változtatható · a lezárás napja csak akkor lesz a mai nap, ha nincs; visszanyitáskor ürül |
project/assign_list → POST /projects/assign_list |
prid / prcode → projectId / projectCode, lsid / lscode → listId / listCode; a disabled helyett status |
— | a meglévő hozzárendelésnek csak a küldött mezője változik · az új hozzárendelés 201 · az új hozzárendelés redialHours-a 24 (a régi üresen hagyta), IVR projektnél az állapota locked (a régi aktív) |
project/disable_list → POST /projects/lock_list |
mint az assign_list-nél |
— | a régi tiltás a mai zárolás; a teljes tiltás a projects/disable_list |
project/enable_list → POST /projects/enable_list |
mint az assign_list-nél |
— | — |
| — | — | — | csak az újban: projects/schema, projects/disable_list, projects/remove_list |