Tovább a tartalomhoz
ADERTISADERTISConnect

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.

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 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).

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
Válasz 200application/json
{
"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
}
Terminál
curl "$BASE/projects/list?type=outbound" -H "X-API-Key: $API_KEY"

Ugyanazok a mezők, mint a list-ben.

Terminál
curl "$BASE/projects/get?code=KAMP-OKT" -H "X-API-Key: $API_KEY"
Válasz 200application/json
{
"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"
}

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.

Terminál
curl "$BASE/projects/schema" -H "X-API-Key: $API_KEY"

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.

Kérésapplication/json
{
"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)
Terminál
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ő.

Kérésapplication/json
{ "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)
Terminál
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"}'

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.

Kérésapplication/json
{ "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)
Terminál
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.

Válasz 200application/json
{
"lists": [
{
"listId": 12,
"listCode": "KAMP-2026-10",
"listName": "Októberi lista",
"status": "active",
"predictive": true,
"factor": 1.5,
"redialHours": 24,
"dailyQuota": null,
"ccNumber": null
}
]
}
Terminál
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á.

Kérésapplication/json
{ "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
Terminál
curl "$BASE/projects/assign_list" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10"}'

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.

Kérésapplication/json
{ "projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10" }
Terminál
curl "$BASE/projects/enable_list" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10"}'

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.

Kérésapplication/json
{ "projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10" }
Terminál
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.

Kérésapplication/json
{ "projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10" }
Terminál
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).

Kérésapplication/json
{ "projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10" }
HTTP code Mikor
422 VALIDATION_FAILED a listához interjú-adat tartozik (LIST_HAS_INTERVIEWS)
Terminál
curl "$BASE/projects/remove_list" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{"projectCode": "KAMP-OKT", "listCode": "KAMP-2026-10"}'
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