CRM API
Cloud CRM REST API je programové rozhraní systému RAYNET CRM, které umožňuje pracovat s daty uvnitř CRM z aplikací třetích stran. Komunikace probíhá standardním protokolem HTTP s ohledem na REST principy.
Připojení k RAYNET CRM
Komunikačním protokolem je HTTP, proto je možné použít libovolnou aplikaci nebo knihovnu, která tento protokol podporuje. Pro demonstraci bude využita aplikace curl. Alternativou je například add-on Talend API Tester do prohlížeče Google Chrome. Přístup je zabezpečen pomocí basic authentication (uživatelským jménem a API klíčem) a šifrován protokolem TLSv1.2 a vyšším (HTTPS) pro zajištění maximální bezpečnosti. V hlavičce požadavku je nutné zaslat název Vaší instance (např. moje-crm
).
curl -X GET -u 'uzivatel:api-klic' -H 'X-Instance-Name: moje-crm' 'https://app.raynet.cz/api/v2/company/'
Datové typy
Hodnoty jednotlivých entitnách atributů v systému RAYNET CRM jsou tvořeny několika základními datovými typy:
-
Řetězec
- Textová hodnota. -
Číslo
- Číselná hodnota. V závislosti na kontextu se může jednat buď o číslo celé nebo o číslo desetinné. V desetinných číslech se používá desetinná tečka. -
Pravdivostní hodnota
- Hodnota ANO/NE. Pro hodnotu ANO lze využít true, on, yes a 1; pro hodnotu NE pak false, off, no a 0. -
Datum
- Datum jako řetězec ve formátuyyyy-MM-dd
. -
Datum a čas
- Datum a čas jako řetězec ve formátuyyyy-MM-dd HH:mm
. Akceptovány jsou také datum a čas ve formátu ISO8601 (např.2018-01-01T12:00:00.000+01:00
). -
Reference
- Datový typ reference odkazuje na jiný záznam v systému RAYNET CRM. V příchozích datech je reference mapou (JavaScriptový objektem), která obsahuje klíče:- id - Identifikátor referencovaného záznamu.
Datum a čas
Datum a čas jako řetězec ve formátu yyyy-MM-dd HH:mm
je v časové zóně uživatele, přes kterého jsou API požadavky realizovány. Pro filtrování a zápis (PUT
, POST
) je možné využít oba formáty (yyyy-MM-dd HH:mm
, ISO8601).
V response je ve výchozím stavu datum a čas formátován jako yyyy-MM-dd HH:mm
v časové zóně uživatele. Přidáním parametru dateFormat=ISO8601
lze ovlivnit výstupní formát, kdy bude hodnota formátována do tvaru 2018-01-01T12:00:00.000+01:00
.
např. https://ww....company/?dateFormat=ISO8601
Filtrování seznamu
Operátory pracující nad atributy a hodnotami jsou následující:
-
EQ
- Test na rovnost hodnot. -
EQ_OR_NULL
- Test na rovnost nebo prázdnou hodnotu. -
NE
- Test na nerovnost hodnot. -
NE_OR_NULL
- Test na nerovnost nebo prázdnou hodnotu. -
LT
- Hodnota v databázi je menší než zadaná. -
LE
- Hodnota v databázi je menší nebo rovna než zadaná. -
GT
- Hodnota v databázi je větší než zadaná. -
GE
- Hodnota v databázi je větší nebo rovna než zadaná. -
LIKE
- Test na hodnotu odpovídající výrazu (např. hodnota filtru ABC% nalezne všechny záznamy, které začínají znaky ABC). -
LIKE_NOCASE
- Obdoba LIKE, ale bez ohledu na malá a velká písmena. -
IN
- Test na rovnost (více) hodnot oddělených čárkou. Správný formát vstupu je např.:1,2,3,4
. -
NOT_IN
- Test na nerovnost (více) hodnot oddělených čárkou. Správný formát vstupu je např.:1,2,3,4
. -
CUSTOM
- Speciální operátor - chování testu je popsáno dále v dokumentaci.
Výchozím operátorem je rovnost EQ
. Operátor se zapisuje do hranatých závorek za název atributu. Je tak možné zadat více filtrovacích kritérií nad stejným atributem. http://ww..../?validFrom[GT]="2014-06-01"&validTill[LT]="2014-06-10"
Častým scénářem je vyfiltrování všech záznamů, které mají daný atribut prázdný nebo naopak neprázdný. Pro tyto účely lze použít hodnotu prázdný řetězec
v kombinaci s operátorem EQ
nebo NE
.
Uspořádání seznamu
Uspořádání seznamu je kontrolováno parametrem sortColumn
a sortDirection
. U každého API je výčet hodnot, pomocí kterých lze seznam řadit. Parametr sortDirection
může nabývat hodnot:
-
ASC
- Hodnoty jsou řazeny vzestupně -
DESC
- Hodnoty jsou řazeny sestupně
Stránkování seznamu
Seznam je možné stránkovat nastavením parametrů offset
a limit
. Offset udává první záznam, který bude zobrazen, limit pak počet záznamů. Maximální velikost stránky je 1 000 položek. Například http://ww..../?offset=0&limit=2
Fulltext
Ve většině seznamů je možné využít fulltextové vyhledání podle zadaného textového řetězce. Slouží k tomu parametr fulltext
, který se aplikuje např. takto: http://ww..../?fulltext=nejakytext
Limity API
Každá API odpověď obsahuje hlavičky, které popisují stav využití API pro danou instanci.
curl -X GET -u 'uzivatel:heslo' -H 'X-Instance-Name: moje-crm' 'https://app.raynet.cz/api/v2/company/'
HTTP/1.1 200 OK
Status: 200 OK
X-Ratelimit-Limit: 24000
X-Ratelimit-Remaining: 23999
X-Ratelimit-Reset: 1508889600
Význam jednotlivých hlaviček je následující:
Hlavička | Význam |
---|---|
X-Ratelimit-Limit | Celkový limit pro aktuální časové okno a instanci. |
X-Ratelimit-Remaining | Zbývající počet požadavků. |
X-Ratelimit-Reset | Čas, kdy bude vyprší časové okno a limit bude resetován. Hodnota udává unixový čas. |
Pokud je limit překročen, je navrácena chybová hláška s HTTP kódem 503 Service Unavailable
:
{
"type": "RequestLimitReached",
"message": "API request limit reached. See the X-RateLimit-* headers and check out the API documentation for more details.",
"documentation_url": "https://s3-eu-west-1.amazonaws.com/static-raynet/webroot/api-doc.html"
}
Co když mi limity nestačí
Ve výchozím stavu je přístup limitován na 24 000 požadavků za den (uvažováno od půlnoci do další půlnoci v časové zóně UTC). V případě, že limit pro vaši integraci nestačí, kontaktujte naší zákaznickou podporu na e-mailu podpora@raynet.cz a spolu se určitě dobereme vhodného řešení.
Špatné přihlášení
V případě zaslaní více než 20 požadavků se špatnými přihlašovacími údaji, bude tento přístup na 60 minut zablokován. Toto omezení platí pro konkrétní IP adresu.
Firmy ¶
API pro práci s firmami.
Seznam firem ¶
seznam firemGET/api/v2/company/{?offset,limit,sortColumn,sortDirection,fulltext,name,lastName,regNumber,owner,primaryAddress-contactInfo.email,primaryAddress-contactInfo.email2,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,rowInfo.rowAccess,gdprTemplate,withoutGdpr,view}
Získání seznamu firem. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/company/?offset=0&limit=1&name[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených firem je
1000
- sortColumn
string
(optional) Example: nameChoices:
name
regNumber
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- name
string
(optional) Example: name[LIKE]=RAY%Filtrování firem podle jména. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- lastName
string
(optional) Example: name[LIKE]=RAY%Filtrování firem podle příjmení fyzické osoby. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- person
boolean
(optional) Example: person=trueFiltrování firem podle příznaku Jedná se o fyzickou osobu
- regNumber
string
(optional) Example: 12345678Filtrování firem podle IČ. Lze využít operátoru
EQ
,NE
. Výchozím operátorem jeEQ
. Například: pro seznam všech firem se zadaným IČ je nutné zadatregNumber[NE]=null
- owner
number
(optional) Example: 1Filtrování firem podle vlastníka (Person). Filtruje se podle jednoznačného identifikátoru vlastníka (id)
- rating
string
(required)Filtrování firem podle Ratingu
- role
string
(required)Filtrování firem podle Role
- state
string
(required)Filtrování firem podle Stavu
- category
number
(optional) Example: 1Filtrování firem podle ID kategorie (CompanyCategory). Lze využít operátoru
EQ
,NE
,IN
- economyActivity
number
(optional) Example: 1Filtrování firem podle ID oboru (EconomyActivity). Lze využít operátoru
EQ
,NE
,IN
- companyClassification1
number
(optional) Example: 1Filtrování firem podle ID klasifikace 1 (CompanyClassification1). Lze využít operátoru
EQ
,NE
,IN
- companyClassification2
number
(optional) Example: 1Filtrování firem podle ID klasifikace 2 (CompanyClassification2). Lze využít operátoru
EQ
,NE
,IN
- companyClassification3
number
(optional) Example: 1Filtrování firem podle ID klasifikace 3 (CompanyClassification3). Lze využít operátoru
EQ
,NE
,IN
- primaryAddress-contactInfo.email
string
(optional) Example: test@test.czFiltrování firem podle emailu u primární adresy. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- primaryAddress-contactInfo.email2
string
(optional) Example: test@test.czFiltrování firem podle druhého emailu u primární adresy. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování firem podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování firem podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování firem podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- rowInfo.rowAccess
string
(optional) Example: INVALIDFiltrování zneplatněných firem. Lze využít operátoru
EQ
,NE
,EQ_OR_NULL
,NE_OR_NULL
- gdprTemplate
string
(optional) Example: gdprTemplate[CUSTOM]=1Filtrování klientů podle právního titulu. Lze použít jen operátor
CUSTOM
.- withoutGdpr
string
(optional) Example: withoutGdpr[CUSTOM]Filtrování klientů, kteří nemají platný právní titul. Lze využít jen operátor
CUSTOM
.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 2,
"name": "Test s.r.o.",
"titleBefore": null,
"firstName": null,
"lastName": null,
"titleAfter": null,
"person": false,
"role": "B_PARTNER",
"state": "B_ACTUAL",
"rating": "A",
"owner": {
"id": 1,
"fullName": "RAYNET CRM"
},
"regNumber": "123456789",
"taxNumber": "CZ123456789",
"taxNumber2": null,
"taxPayer": "YES",
"primaryAddress": {
"id": 2,
"primary": true,
"contactAddress": false,
"address": {
"id": 2,
"city": "Ostrava-Slezská Ostrava",
"country": "Česká republika",
"name": "Sídlo firmy",
"province": "Moravskoslezský kraj",
"street": "Těšínská",
"zipCode": "710 00",
"lat": 49.2499446,
"lng": 13.703011
},
"territory": {
"id": 91,
"value": "Morava"
},
"contactInfo": {
"email": "test@test.cz",
"email2": "test2@test.cz",
"primary": true,
"tel1": "123 456 789",
"tel1Type": "mobil",
"tel2": "987 654 321",
"tel2Type": "pevná linka",
"www": "www.test.cz",
"otherContact": null
}
},
"contactAddress": {
"id": 3,
"primary": false,
"contactAddress": true,
"address": {
"id": 3,
"city": "Ostrava-Moravská Ostrava",
"country": "Česká republika",
"name": "Provozovna",
"province": "Moravskoslezský kraj",
"street": "Českobratrská 113",
"zipCode": "702 00",
"lat": null,
"lng": null
},
"territory": {
"id": 91,
"value": "Morava"
},
"contactInfo": {
"email": "provozovna@test.cz",
"email2": null,
"primary": true,
"tel1": "444 444 444",
"tel1Type": "mobil",
"tel2": "111 111 111",
"tel2Type": "pevná linka",
"www": null,
"otherContact": null
}
},
"category": {
"id": 15,
"value": "Zákazník"
},
"turnover": {
"id": 82,
"value": "do 1 mil. Kč"
},
"economyActivity": {
"id": 92,
"value": "obor 1"
},
"companyClassification1": {
"id": 93,
"value": "kla 1"
},
"companyClassification2": {
"id": 94,
"value": "kla 2"
},
"companyClassification3": {
"id": 95,
"value": "kla 3"
},
"paymentTerm": {
"id": 64,
"value": "7 dní"
},
"contactSource": {
"id": 62,
"value": "e-mail"
},
"birthday": null,
"notice": "poznamka k firme",
"tags": [
"stitek1",
"stitek 2"
],
"customFields": null,
"rowInfo.createdAt": "2014-06-18 13:19",
"rowInfo.createdBy": "demo@raynet.cz",
"rowInfo.updatedAt": "2017-09-22 14:17",
"rowInfo.updatedBy": "demo@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"inlineGdpr": [
{
"id": 1,
"validFrom": "2018-01-01",
"validTill": "2019-01-01",
"legalTitle": "LEGITIMATE_INTEREST",
"templateName": "Opravněný zájem",
"gdprTemplate": 1
}
],
"_version": 16
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nová firma ¶
nová firmaPUT/api/v2/company/
Založení nové firmy s adresami
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "RAYNET s.r.o.",
"securityLevel": 1,
"owner": 12,
"rating": "A",
"state": "A_POTENTIAL",
"role": "B_PARTNER",
"notice": "poznamka",
"category": 12,
"contactSource": 12,
"employeesNumber": 12,
"legalForm": 12,
"paymentTerm": 12,
"turnover": 12,
"economyActivity": 12,
"companyClassification1": 12,
"companyClassification2": 12,
"companyClassification3": 12,
"regNumber": "12345678",
"taxNumber": "CZ12345678",
"taxPayer": "YES",
"bankAccount": "123123123",
"addresses": [
{
"address": {
"name": "Sídlo firmy",
"street": "Francouzská 6167/5",
"city": "Ostrava",
"province": "Morava",
"zipCode": "708 00",
"country": "CZ",
"lat": 49.827486,
"lng": 18.186497
},
"contactInfo": {
"email": "info@raynet.cz",
"email2": "",
"fax": "",
"otherContact": "",
"tel1": "+420 553 401 520",
"tel1Type": "recepce",
"tel2": "+420 553 401 547",
"tel2Type": "zákaznická podpora",
"www": "www.raynet.cz"
},
"territory": 12
}
],
"tags": [
"tag 1",
"tag 2"
],
"customFields": {
"Spoluprace_2aa2c": "2013-01-01"
}
}
Schema
{
"type":"object",
"required":true,
"properties":{
"name": {
"type":"string",
"required":true,
"description": "[Název]"
},
"person": {
"type":"boolean",
"required":false,
"description": "[Jedná se o fyzickou osobu]"
},
"lastName": {
"type":"string",
"required":true,
"description": "[Příjmení fyzické osoby] - povinný v případě, že je aktivní příznak 'Jedná se o fyzickou osobu'"
},
"firstName": {
"type":"string",
"required":false,
"description": "[Jméno fyzické osoby]"
},
"titleBefore": {
"type":"string",
"required":false,
"description": "[Titul před jménem fyzické osoby]"
},
"titleAfter": {
"type":"string",
"required":false,
"description": "[Titul za jménem fyzické osoby]"
},
"salutation": {
"type":"string",
"required":false,
"description": "[Oslovení]"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"rating": {
"enum": [ "A", "B", "C" ],
"required":true,
"description": "[Rating]"
},
"state": {
"enum": [ "A_POTENTIAL", "B_ACTUAL", "C_DEFERRED", "D_UNATTRACTIVE" ],
"required":true,
"description": "[Stav]"
},
"role" : {
"enum": [ "A_SUBSCRIBER", "B_PARTNER", "C_SUPPLIER", "D_RIVAL" ],
"required":true,
"description": "[Vztah]"
},
"notice": {
"type":"string",
"required":false,
"description": "[Poznámka k firmě]"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku CompanyCategory"
},
"contactSource": {
"type":"long",
"required":false,
"description" : "[Zdroj kontaktu] ID záznamu z číselníku ContactSource"
},
"employeesNumber": {
"type":"long",
"required":false,
"description" : "[Zaměstnanců] ID záznamu z číselníku EmployeesNumber"
},
"legalForm": {
"type":"long",
"required":false,
"description" : "[Právní forma] ID záznamu z číselníku LegalForm"
},
"paymentTerm": {
"type":"long",
"required":false,
"description" : "[Platbní podmínky] ID záznamu z číselníku PaymentTerm"
},
"turnover": {
"type":"long",
"required":false,
"description" : "[Obrat] ID záznamu z číselníku CompanyTurnover"
},
"economyActivity": {
"type":"long",
"required":false,
"description" : "[Obor] ID záznamu z číselníku EconomyActivity"
},
"companyClassification1": {
"type":"long",
"required":false,
"description" : "[Klasifikace 1]ID záznamu z číselníku CompanyClassification1"
},
"companyClassification2": {
"type":"long",
"required":false,
"description" : "[Klasifikace 2] ID záznamu z číselníku CompanyClassification2"
},
"companyClassification3": {
"type":"long",
"required":false,
"description" : "[Klasifikace 3] ID záznamu z číselníku CompanyClassification3"
},
"regNumber": {
"type":"string",
"required":false,
"description": "[IČ]"
},
"taxNumber": {
"type":"string",
"required":false,
"description": "[DIČ]"
},
"taxNumber2": {
"type":"string",
"required":false,
"description": "[IČ DPH] Pro slovenské firmy"
},
"taxPayer" : {
"enum": [ "YES", "NO" ],
"required":false,
"description": "[Plátce DPH]"
},
"bankAccount": {
"type":"string",
"required":false,
"description": "[Bankovní spojení]"
},
"databox": {
"type":"string",
"required":false,
"description": "[Datová schránka]"
},
"court": {
"type":"string",
"required":false,
"description": "[Spisová značka]"
},
"birthday": {
"type":"date",
"required":false,
"description": "[Narozeniny/Výročí]"
},
"addresses" : {
"type": "array",
"minItems": 0,
"items" : {
"type":"object",
"required":false,
"properties":{
"address": {
"type":"object",
"required":true,
"properties":{
"name": {
"type":"string",
"required":true,
"description": "[Název]"
},
"street": {
"type":"string",
"required":false,
"description": "[Ulice]"
},
"city": {
"type":"string",
"required":false,
"description": "[Město]"
},
"province": {
"type":"string",
"required":false,
"description": "[Kraj]"
},
"zipCode": {
"type":"string",
"required":false,
"description": "[PSČ]"
},
"country": {
"type":"string",
"required":false,
"description": "[Kód Země]"
},
"lat": {
"type":"number",
"required":false,
"description": "[Zeměpisná šířka]"
},
"lng": {
"type":"number",
"required":false,
"description": "[Zeměpisná délka]"
}
}
},
"contactInfo": {
"type":"object",
"required":false,
"properties":{
"email": {
"type":"string",
"required":false,
"description": "[Email]"
},
"email2": {
"type":"string",
"required":false,
"description": "[Email2]"
},
"fax": {
"type":"string",
"required":false,
"description": "[Fax]"
},
"otherContact": {
"type":"string",
"required":false,
"description": "[Jiný kontakt]"
},
"tel1Type": {
"type":"string",
"required":false,
"description": "[Typ 1]"
},
"tel1": {
"type":"string",
"required":false,
"description": "[Tel 1]"
},
"tel2Type": {
"type":"string",
"required":false,
"description": "[Typ 2]"
},
"tel2": {
"type":"string",
"required":false,
"description": "[Tel 2]"
},
"www": {
"type":"string",
"required":false,
"description": "[WWW]"
}
}
},
"territory": {
"type":"long",
"required":false,
"description": "[Obchodní teritorium] ID záznamu z číselníku Territory"
}
},
}
},
"socialNetworkContact": {
"type":"object",
"required":false,
"properties":{
"facebook": {
"type":"string",
"required":false,
"description": "[Facebook]"
},
"googleplus": {
"type":"string",
"required":false,
"description": "[Google+]"
},
"twitter": {
"type":"string",
"required":false,
"description": "[Twitter]"
},
"linkedin": {
"type":"string",
"required":false,
"description": "[Linkedin]"
},
"pinterest": {
"type":"string",
"required":false,
"description": "[Pinterest]"
},
"instagram": {
"type":"string",
"required":false,
"description": "[Instagram]"
},
"skype": {
"type":"string",
"required":false,
"description": "[Skype]"
},
"youtube": {
"type":"string",
"required":false,
"description": "[Youtube]"
}
}
},
"tags" : {
"type": "array",
"required":false,
"items" : {
"type":"string",
"required":true
}
},
"customFields" : {
"type": "object",
"required":false,
"properties" : {
"<customFieldKey>": {
"type":"number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required":false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené firmy"
}
}
}
}
}
Detail firmy ¶
detail firmyGET/api/v2/company/{companyId}/
Získání detailu firmy. V detailu firmy je uvedena firma se všemi evidovanými údaji včetně všech evidovaných adres. Pokud záznam firmy obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/company/1/
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 2,
"name": "Test s.r.o.",
"person": false,
"firstName": null,
"lastName": null,
"titleBefore": null,
"titleAfter": null,
"salutation": null,
"owner": {
"id": 1,
"fullName": "RAYNET CRM"
},
"rating": "A",
"state": "B_ACTUAL",
"role": "B_PARTNER",
"notice": "poznamka k firme",
"category": {
"id": 15,
"value": "Zákazník"
},
"contactSource": {
"id": 62,
"value": "e-mail"
},
"employeesNumber": {
"id": 64,
"value": "1 - 10"
},
"legalForm": {
"id": 64,
"value": "s.r.o."
},
"paymentTerm": {
"id": 64,
"value": "7 dní"
},
"turnover": {
"id": 82,
"value": "do 1 mil. Kč"
},
"economyActivity": {
"id": 92,
"value": "obor 1"
},
"companyClassification1": {
"id": 93,
"value": "kla 1"
},
"companyClassification2": {
"id": 94,
"value": "kla 2"
},
"companyClassification3": {
"id": 95,
"value": "kla 3"
},
"regNumber": "123456789",
"taxNumber": "CZ123456789",
"taxNumber2": null,
"taxPayer": "YES",
"bankAccount": "123456/1111",
"databox": null,
"court": null,
"birthday": null,
"primaryAddress": {
"id": 2,
"primary": true,
"contactAddress": false,
"address": {
"id": 2,
"city": "Ostrava-Slezská Ostrava",
"country": "Česká republika",
"name": "Sídlo firmy",
"province": "Moravskoslezský kraj",
"street": "Těšínská",
"zipCode": "710 00",
"lat": null,
"lng": null
},
"territory": {
"id": 91,
"value": "Morava"
},
"contactInfo": {
"email": "test@test.cz",
"email2": "test2@test.cz",
"primary": true,
"tel1": "123 456 789",
"tel1Type": "mobil",
"tel2": "987 654 321",
"tel2Type": "pevná linka",
"www": "www.test.cz",
"otherContact": null
}
},
"tags": [
"stitek1",
"stitek 2"
],
"logo": {
"id": 428,
"contentType": "image/png",
"fileName": "logo.png",
"size": 17485
},
"socialNetworkContact": {
"facebook": "abcd",
"googleplus": null,
"twitter": null,
"linkedin": null,
"pinterest": null,
"instagram": null,
"skype": null,
"youtube": null
},
"customFields": {
"Cislo_klie_cd702": "AB123",
"Lonsky_zis_7aac1": 500,
"Spoluprace_2aa2c": "2016-02-02"
},
"rowInfo.createdAt": "2014-06-18 13:19",
"rowInfo.createdBy": "demo@raynet.cz",
"rowInfo.updatedAt": "2017-01-23 09:50",
"rowInfo.updatedBy": "demo@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"_version": 14,
"attachments": [
{
"id": 213,
"link": null,
"linkName": null,
"file": {
"id": 631,
"contentType": "application/zip",
"fileName": "test_zip.zip",
"size": 4413
},
"folder": "Test"
}
],
"addresses": [
{
"id": 2,
"primary": true,
"contactAddress": false,
"address": {
"id": 2,
"city": "Ostrava-Slezská Ostrava",
"country": "Česká republika",
"name": "Sídlo firmy",
"province": "Moravskoslezský kraj",
"street": "Těšínská",
"zipCode": "710 00",
"lat": null,
"lng": null
},
"territory": {
"id": 91,
"value": "Morava"
},
"contactInfo": {
"email": "test@test.cz",
"email2": "test2@test.cz",
"primary": true,
"tel1": "123 456 789",
"tel1Type": "mobil",
"tel2": "987 654 321",
"tel2Type": "pevná linka",
"www": "www.test.cz",
"otherContact": null
}
},
{
"id": 3,
"primary": false,
"contactAddress": true,
"address": {
"id": 3,
"city": "Ostrava-Moravská Ostrava",
"country": "Česká republika",
"name": "Provozovna",
"province": "Moravskoslezský kraj",
"street": "Českobratrská 113",
"zipCode": "702 00",
"lat": null,
"lng": null
},
"territory": {
"id": 91,
"value": "Morava"
},
"contactInfo": {
"email": "provozovna@test.cz",
"email2": null,
"primary": true,
"tel1": "444 444 444",
"tel1Type": "mobil",
"tel2": "111 111 111",
"tel2Type": "pevná linka",
"www": null,
"otherContact": null
}
}
],
"inlineGdpr": [
{
"id": 1,
"validFrom": "2018-01-01",
"validTill": "2019-01-01",
"legalTitle": "LEGITIMATE_INTEREST",
"templateName": "Opravněný zájem",
"gdprTemplate": 1
}
],
"originLead": {
"id": 4,
"code": "L-18-002",
"topic": "Můj lead"
}
}
}
upravení firmyPOST/api/v2/company/{companyId}/
Upravení dat firmy
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "RAYNET s.r.o.",
"owner": 12,
"rating": "A",
"state": "A_POTENTIAL",
"role": "B_PARTNER",
"notice": "poznamka",
"category": 12,
"contactSource": 12,
"employeesNumber": 12,
"legalForm": 12,
"paymentTerm": 12,
"turnover": 12,
"economyActivity": 12,
"companyClassification1": 12,
"companyClassification2": 12,
"companyClassification3": 12,
"regNumber": "12345678",
"taxNumber": "CZ12345678",
"taxPayer": "YES",
"bankAccount": "123123123",
"customFields": {
"Lonsky_zis_7aac1": 666
}
}
Schema
{
"type":"object",
"required":true,
"properties":{
"name": {
"type":"string",
"required":false,
"description": "[Název]"
},
"person": {
"type":"boolean",
"required":false,
"description": "[Jedná se o fyzickou osobu]"
},
"lastName": {
"type":"string",
"required":true,
"description": "[Příjmení fyzické osoby] - povinný v případě, že je aktivní příznak 'Jedná se o fyzickou osobu'"
},
"firstName": {
"type":"string",
"required":false,
"description": "[Jméno fyzické osoby]"
},
"titleBefore": {
"type":"string",
"required":false,
"description": "[Titul před jménem fyzické osoby]"
},
"titleAfter": {
"type":"string",
"required":false,
"description": "[Titul za jménem fyzické osoby]"
},
"salutation": {
"type":"string",
"required":false,
"description": "[Oslovení]"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"rating": {
"enum": [ "A", "B", "C" ]
"required":false,
"description": "[Rating]"
},
"state": {
"enum": [ "A_POTENTIAL", "B_ACTUAL", "C_DEFERRED", "D_UNATTRACTIVE" ],
"required":false,
"description": "[Stav]"
},
"role" : {
"enum": [ "A_SUBSCRIBER", "B_PARTNER", "C_SUPPLIER", "D_RIVAL" ],
"required":false,
"description": "[Vztah]"
},
"notice": {
"type":"string",
"required":false,
"description": "[Poznámka k firmě]"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku CompanyCategory"
},
"contactSource": {
"type":"long",
"required":false,
"description" : "[Zdroj kontaktu] ID záznamu z číselníku ContactSource"
},
"employeesNumber": {
"type":"long",
"required":false,
"description" : "[Zaměstnanců] ID záznamu z číselníku EmployeesNumber"
},
"legalForm": {
"type":"long",
"required":false,
"description" : "[Právní forma] ID záznamu z číselníku LegalForm"
},
"paymentTerm": {
"type":"long",
"required":false,
"description" : "[Platbní podmínky] ID záznamu z číselníku PaymentTerm"
},
"turnover": {
"type":"long",
"required":false,
"description" : "[Obrat] ID záznamu z číselníku CompanyTurnover"
},
"economyActivity": {
"type":"long",
"required":false,
"description" : "[Obor] ID záznamu z číselníku EconomyActivity"
},
"companyClassification1": {
"type":"long",
"required":false,
"description" : "[Klasifikace 1]ID záznamu z číselníku CompanyClassification1"
},
"companyClassification2": {
"type":"long",
"required":false,
"description" : "[Klasifikace 2] ID záznamu z číselníku CompanyClassification2"
},
"companyClassification3": {
"type":"long",
"required":false,
"description" : "[Klasifikace 3] ID záznamu z číselníku CompanyClassification3"
},
"regNumber": {
"type":"string",
"required":false,
"description": "[IČ]"
},
"taxNumber": {
"type":"string",
"required":false,
"description": "[DIČ]"
},
"taxNumber2": {
"type":"string",
"required":false,
"description": "[IČ DPH] Pro slovenské firmy"
},
"taxPayer" : {
"enum": [ "YES", "NO" ],
"required":false,
"description": "[Plátce DPH]"
},
"bankAccount": {
"type":"string",
"required":false,
"description": "[Bankovní spojení]"
},
"databox": {
"type":"string",
"required":false,
"description": "[Datová schránka]"
},
"court": {
"type":"string",
"required":false,
"description": "[Spisová značka]"
},
"birthday": {
"type":"date",
"required":false,
"description": "[Narozeniny/Výročí]"
},
"socialNetworkContact": {
"type":"object",
"required":false,
"properties":{
"facebook": {
"type":"string",
"required":false,
"description": "[Facebook]"
},
"googleplus": {
"type":"string",
"required":false,
"description": "[Google+]"
},
"twitter": {
"type":"string",
"required":false,
"description": "[Twitter]"
},
"linkedin": {
"type":"string",
"required":false,
"description": "[Linkedin]"
},
"pinterest": {
"type":"string",
"required":false,
"description": "[Pinterest]"
},
"instagram": {
"type":"string",
"required":false,
"description": "[Instagram]"
},
"skype": {
"type":"string",
"required":false,
"description": "[Skype]"
}
"youtube": {
"type":"string",
"required":false,
"description": "[Youtube]"
}
}
},
"customFields" : {
"type": "object",
"required":false,
"properties" : {
"<customFieldKey>": {
"type":"number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required":false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
}
}
200
smazání firmyDELETE/api/v2/company/{companyId}/
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
200
Uzamčení firmy ¶
uzamčení firmyPOST/api/v2/company/{companyId}/lock
Uzamčení záznamu klienta pro editaci.
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
200
Odemčení firmy ¶
odemčení firmyPOST/api/v2/company/{companyId}/unlock
Odemčení záznamu klienta k editaci.
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
200
Zneplatnění firmy ¶
zneplatnění firmyPOST/api/v2/company/{companyId}/invalid
Zneplatnění záznamu klienta.
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
200
Obnovit platnost firmy ¶
obnovení platnosti firmyPOST/api/v2/company/{companyId}/valid
Obnovení platnosti záznamu klienta.
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
200
GDPR anonymize klienta ¶
GDPR anonymize klientaPOST/api/v2/company/{companyId}/anonymize/
U záznamu se provede anonimizace data.
Example URI
- companyId
Long
(required) Example: 123ID klienta
Headers
X-Instance-Name: instanceName
200
Nová adresa firmy ¶
přidání adresy k firměPUT/api/v2/company/{companyId}/address/
Přidání nové adresy k firmě s identifikátorem companyId
. Adresa je zařazena mezi ostatní adresy (tzn. není primární).
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"address": {
"name": "Sídlo firmy",
"street": "Francouzská 6167/5",
"city": "Ostrava",
"province": "Morava",
"zipCode": "708 00",
"country": "CZ",
"lat": null,
"lng": null
},
"contactInfo": {
"email": "info@raynet.cz",
"email2": "",
"fax": "",
"otherContact": "",
"tel1": "+420 553 401 520",
"tel1Type": "recepce",
"tel2": "+420 553 401 547",
"tel2Type": "zákaznická podpora",
"www": "www.raynet.cz"
},
"territory": 12
}
Schema
{
"type": "object",
"required": true,
"properties": {
"address": {
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Název]"
},
"street": {
"type": "string",
"required": false,
"description": "[Ulice]"
},
"city": {
"type": "string",
"required": false,
"description": "[Město]"
},
"province": {
"type": "string",
"required": false,
"description": "[Kraj]"
},
"zipCode": {
"type": "string",
"required": false,
"description": "[PSČ]"
},
"country": {
"type": "string",
"required": false,
"description": "[Kód Země]"
},
"lat": {
"type": "number",
"required": false,
"description": "[Zeměpisná šířka]"
},
"lng": {
"type": "number",
"required": false,
"description": "[Zeměpisná délka]"
}
}
},
"contactInfo": {
"type": "object",
"required": false,
"properties": {
"email": {
"type": "string",
"required": false,
"description": "[Email]"
},
"email2": {
"type": "string",
"required": false,
"description": "[Email2]"
},
"fax": {
"type": "string",
"required": false,
"description": "[Fax]"
},
"otherContact": {
"type": "string",
"required": false,
"description": "[Jiný kontakt]"
},
"tel1Type": {
"type": "string",
"required": false,
"description": "[Typ 1]"
},
"tel1": {
"type": "string",
"required": false,
"description": "[Tel 1]"
},
"tel2Type": {
"type": "string",
"required": false,
"description": "[Typ 2]"
},
"tel2": {
"type": "string",
"required": false,
"description": "[Tel 2]"
},
"www": {
"type": "string",
"required": false,
"description": "[WWW]"
}
}
},
"territory": {
"type": "long",
"required": false,
"description": "[Obchodní teritorium] ID záznamu z číselníku Territory"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené adresy"
}
}
}
}
}
Adresy firmy ¶
smazání adresy firmyDELETE/api/v2/company/{companyId}/address/{addressId}/
U firmy s identifikátorem companyId
bude smazána adresa s identifikátorem addressId
. Nelze smazat primární adresu (tzn. u firmy vždy musí být alespoň jedna adresa).
Example URI
- companyId
Long
(required) Example: 123ID firmy
- addressId
Long
(required) Example: 123ID adresy
Headers
X-Instance-Name: instanceName
200
upravení adresy firmyPOST/api/v2/company/{companyId}/address/{addressId}/
U firmy s identifikátorem companyId
bude upravena adresa s identifikátorem addressId
.
Example URI
- companyId
Long
(required) Example: 123ID firmy
- addressId
Long
(required) Example: 123ID adresy
Headers
X-Instance-Name: instanceName
Body
{
"address": {
"name": "Sídlo firmy",
"street": "Francouzská 6167/5",
"city": "Ostrava",
"province": "Morava",
"zipCode": "708 00",
"country": "CZ",
"lat": null,
"lng": null
},
"contactInfo": {
"email": "info@raynet.cz",
"email2": "",
"fax": "",
"otherContact": "",
"tel1": "+420 553 401 520",
"tel1Type": "recepce",
"tel2": "+420 553 401 547",
"tel2Type": "zákaznická podpora",
"www": "www.raynet.cz"
},
"territory": 12
}
Schema
{
"type": "object",
"required": true,
"properties": {
"address": {
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Název]"
},
"street": {
"type": "string",
"required": false,
"description": "[Ulice]"
},
"city": {
"type": "string",
"required": false,
"description": "[Město]"
},
"province": {
"type": "string",
"required": false,
"description": "[Kraj]"
},
"zipCode": {
"type": "string",
"required": false,
"description": "[PSČ]"
},
"country": {
"type": "string",
"required": false,
"description": "[Kód Země]"
},
"lat": {
"type": "number",
"required": false,
"description": "[Zeměpisná šířka]"
},
"lng": {
"type": "number",
"required": false,
"description": "[Zeměpisná délka]"
}
}
},
"contactInfo": {
"type": "object",
"required": false,
"properties": {
"email": {
"type": "string",
"required": false,
"description": "[Email]"
},
"email2": {
"type": "string",
"required": false,
"description": "[Email2]"
},
"fax": {
"type": "string",
"required": false,
"description": "[Fax]"
},
"otherContact": {
"type": "string",
"required": false,
"description": "[Jiný kontakt]"
},
"tel1Type": {
"type": "string",
"required": false,
"description": "[Typ 1]"
},
"tel1": {
"type": "string",
"required": false,
"description": "[Tel 1]"
},
"tel2Type": {
"type": "string",
"required": false,
"description": "[Typ 2]"
},
"tel2": {
"type": "string",
"required": false,
"description": "[Tel 2]"
},
"www": {
"type": "string",
"required": false,
"description": "[WWW]"
}
}
},
"territory": {
"type": "long",
"required": false,
"description": "[Obchodní teritorium] ID záznamu z číselníku Territory"
}
}
}
200
Primární adresa firmy ¶
nastavení primární adresyPOST/api/v2/company/{companyId}/address/{addressId}/setPrimary/
U firmy s identifikátorem companyId
bude nastavena nová primární adresa. Adresa, která byla doposud označena jako primární se přesune mezi ostatní adresy.
Example URI
- companyId
Long
(required) Example: 123ID klienta
- addressId
Long
(required) Example: 123ID adresy
Headers
X-Instance-Name: instanceName
200
Kontaktní adresa firmy ¶
nastavení kontaktní adresyPOST/api/v2/company/{companyId}/address/{addressId}/setContact/
U firmy s identifikátorem companyId
bude nastavena adresa jako kontaktní. Tato adresa se bude zobrazovat v seznamu firem a bude jako první v detailu firmy. Adresa, která byla doposud označena jako kontaktní se přesune mezi ostatní adresy.
Example URI
- companyId
Long
(required) Example: 123ID klienta
- addressId
Long
(required) Example: 123ID adresy
Headers
X-Instance-Name: instanceName
200
TAGy ¶
přidání TAGuPUT/api/v2/company/{companyId}/tag/
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
Body
{
"tag": "muj tag"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"tag": {
"type": "string",
"required": true
}
}
}
201
smazání TAGuDELETE/api/v2/company/{companyId}/tag/
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
Body
{
"tag": "muj tag"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"tag": {
"type": "string",
"required": true
}
}
}
200
Propojení na jiné klienty ¶
Propojení na jiné klientyGET/api/v2/company/{companyId}/relationship/
Získání vazeb na jiné klienty.
https://app.raynet.cz/api/v2/company/1/relationship/
Example URI
- companyId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 1,
"notice": null,
"companyJoin": {
"id": 1,
"name": "RAYNET s.r.o.",
"role": "C_SUPPLIER",
"state": "A_POTENTIAL",
"regNumber": "26843820",
"rating": "A",
"primaryAddress": {
"id": 1,
"primary": null,
"address": {
"id": 1,
"city": "Ostrava-Poruba",
"country": "Česká republika",
"countryCode": "CZ",
"name": null,
"province": null,
"street": null,
"zipCode": null,
"lat": null,
"lng": null
},
"contactInfo": {
"primary": null,
"email": "info@raynet.cz",
"email2": null,
"tel1": "+420 553 401 520",
"tel1Type": null,
"tel2": null,
"tel2Type": null,
"fax": null,
"www": null,
"otherContact": null
},
"territory": {
"id": 90,
"value": "aaaaaa"
}
}
},
"companyJoinType": "parent"
}
]
}
přidání propojení na klientaPUT/api/v2/company/{companyId}/relationship/
Přidání nové vazby klienta na jiného klienta. Vazba může být tří typů - vazba mateřské firmy na dceřinnou (“parent”), dceřinné na mateřskou (“slave”) nebo volná vazba (“free”). Po přidání nové vazby vznikne mezi oběma klienty zároveň druhá vazba - vazba inverzní (např. pro novou vazbu typu “parent” vznikne zároveň opačná vazba typu “slave”).
Example URI
- companyId
Long
(required) Example: 123ID klienta
Headers
X-Instance-Name: instanceName
Body
{
"companyJoin": 5,
"companyJoinType": "parent",
"notice": "Zařazení v rámci holdingu"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"companyJoin": {
"type": " long",
"required": true,
"description": "[Klient] ID záznamu klienta, ke kterému bude vazba vytvořena"
},
"companyJoinType": {
"enum": [
"parent",
"slave",
"free"
],
"required": true,
"description": "[Typ vztahu] Typ vztahu (parent - vztah mateřské firmy na dceřinnou firmu, slave - vztah dceřinné na mateřskou, free - volná vazba)"
},
"notice": {
"type": "string",
"required": false,
"description": "[Poznámka]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené vazby"
}
}
}
}
}
Úprava propojení na klienta ¶
upravení propojení na jiného klientaPOST/api/v2/company/{companyId}/relationship/{relationshipId}/
U existujícího propojení je možné měnit už jenom poznámku.
Example URI
- companyId
Long
(required) Example: 123ID klienta
- relationshipId
Long
(required) Example: 123ID vztahu s jiným klientem
Headers
X-Instance-Name: instanceName
Body
{
"notice": "Zařazení v rámci holdingu"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"notice": {
"type": "string",
"required": false,
"description": "[Poznámka]"
}
}
}
200
smazání propojení na jiného klientaDELETE/api/v2/company/{companyId}/relationship/{relationshipId}/
U zadaného klienta bude smazána vazba na jiného klienta. Pokud k odstraňované vazbě existuje vazba inverzní, bude rovněž smazána.
Example URI
- companyId
Long
(required) Example: 123ID klienta
- relationshipId
Long
(required) Example: 123ID vazby s klientem
Headers
X-Instance-Name: instanceName
200
Slučování duplicit ¶
Sloučení duplicitního klientaPOST/api/v2/company/{companyId}/merge/{sourceCompanyId}/
Při sloučení dojde k převedení všech dat ze zdrojového klienta do cílového klienta s následným smazáním zdrojového klienta. Podrobnosti o slučování najdete v tomto článku.
Example URI
- companyId
Long
(required) Example: 123ID cílového klienta, do tohoto záznamu se budou převádět data
- sourceCompanyId
Long
(required) Example: 123ID zdrojového klienta, který bude sloučen s cílovým klientem a následně smazán
Headers
X-Instance-Name: instanceName
200
Osoby ¶
API pro práci s osobami.
Seznam osob ¶
seznam osobGET/api/v2/person/{?offset,limit,sortColumn,sortDirection,fulltext,owner,firstName,lastName,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,rowInfo.rowAccess,view,withoutGdpr,gdprTemplate,contactInfo.email,contactInfo.email2}
https://app.raynet.cz/api/v2/person/?offset=0&limit=1&firstName[LIKE]=Jan%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených firem je
1000
- sortColumn
string
(optional) Example: firstNameChoices:
firstName
lastName
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- firstName
string
(optional) Example: firstName[LIKE_NOCASE]=mar%Filtrování osob podle křestního jména. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- lastName
string
(optional) Example: NovakFiltrování osob podle příjmení. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování osob podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování osob podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- owner
number
(optional) Example: 1Filtrování osob podle vlastníka (Person). Filtruje se podle jednoznačného identifikátoru vlastníka (id).
- primaryRelationship-company-name
string
(optional) Example: primaryRelationship-company-name[LIKE]=RAY%Filtrování osob podle názvu firmy v primárním vztahu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- primaryRelationship-company-id
long
(optional) Example: 1Filtrování osob podle ID firmy v primárním vztahu. Lze využít operátoru
EQ
,NE
- personRelationship
long
(optional) Example: personRelationship[CUSTOM]=1Filtrování osob podle ID firmy, která je s osobou v nějakém vztahu (primárním nebo i vedlejším). Lze použít jen operátor
CUSTOM
.- userAccount-id
long
(optional) Example: 3Filtrování osob podle ID uživatele. Lze využít operátoru
EQ
,NE
. Jako hodnotu lze zadat iprázdný řetězec
, např. pro vyfiltrování osob bez uživ. účtu.- contactInfo.email
string
(optional) Example: test@test.czFiltrování osob podle primárního emailu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- contactInfo.email2
string
(optional) Example: test@test.czFiltrování osob podle sekundárního emailu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování osob podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- rowInfo.rowAccess
string
(optional) Example: INVALIDFiltrování zneplatněných osob. Lze využít operátoru
EQ
,NE
,EQ_OR_NULL
,NE_OR_NULL
- gdprTemplate
string
(optional) Example: gdprTemplate[CUSTOM]=1Filtrování osob podle právního titulu. Lze použít jen operátor
CUSTOM
.- withoutGdpr
string
(optional) Example: withoutGdpr[CUSTOM]Filtrování osob, kteřé nemají platný právní titul. Lze využít jen operátor
CUSTOM
.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 2,
"data": [
{
"id": 3,
"titleBefore": "Ing.",
"firstName": "Petr",
"lastName": "Chytrý",
"titleAfter": "CSc.",
"primaryRelationship": {
"id": 1,
"type": "konzultant",
"company": {
"id": 1,
"name": "RAYNET s.r.o."
}
},
"owner": {
"id": 2,
"fullName": "test test"
},
"contactInfo": {
"email": "podpora@raynet.cz",
"email2": "test@raynet.cz",
"tel1": "+420 553 401 547",
"tel1Type": "mobil",
"tel2": null,
"tel2Type": null,
"www": null,
"otherContact": null
},
"privateAddress": {
"city": "Ostrava",
"country": "Česká republika",
"countryCode": "CZ",
"province": null,
"street": "Ocelářská 177",
"zipCode": "703 00"
},
"category": {
"id": 96,
"value": "kat 1"
},
"personClassification1": {
"id": 97,
"value": "kla 1"
},
"personClassification2": {
"id": 98,
"value": "kla 2"
},
"personClassification3": {
"id": 99,
"value": "kla 3"
},
"salutation": "pan",
"birthday": "2014-06-10",
"language": {
"id": 70,
"value": "Český"
},
"maritalStatus": {
"id": 78,
"value": "Svobodný/Svobodná"
},
"gender": "FEMALE",
"companyAddress": {
"address": {
"id": 1,
"city": "Ostrava-Poruba",
"country": "Česká republika",
"countryCode": "CZ",
"province": null,
"street": "Francouzská 6167/5",
"zipCode": "708 00"
},
"territory": null
},
"customFields": null,
"rowInfo.createdAt": "2014-06-18 13:19",
"rowInfo.createdBy": "demo@raynet.cz",
"rowInfo.updatedAt": "2017-09-06 09:43",
"rowInfo.updatedBy": "demo@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"notice": "poznámka",
"activeUserAccount": true,
"keyman": false,
"tags": [],
"_version": 19,
"inlineGdpr": [
{
"id": 1,
"validFrom": "2018-01-01",
"validTill": "2019-01-01",
"legalTitle": "LEGITIMATE_INTEREST",
"templateName": "Opravněný zájem",
"gdprTemplate": 1
}
]
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nová osoba ¶
založení nové osobyPUT/api/v2/person/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"titleBefore": "Ing.",
"firstName": "Marie",
"lastName": "Vyležíková",
"titleAfter": "Phd.",
"owner": 1,
"category": 96,
"personClassification1": 97,
"personClassification2": 98,
"personClassification3": 99,
"salutation": "pani",
"birthday": "2014-06-10",
"language": 70,
"maritalStatus": 78,
"gender": "FEMALE",
"contactInfo": {
"email": "podpora@raynet.cz",
"email2": "13123@4123.cz",
"tel1": "+420 553 401 547",
"tel1Type": "mobil",
"tel2": "13213",
"tel2Type": "mobil",
"www": "www.w.cz",
"fax": "+ 420 321 987 377",
"otherContact": "další informace"
},
"privateAddress": {
"city": "Ostrava-Poruba",
"country": "Česká republika",
"province": "Moravskoslezský kraj",
"street": "Francouzská 5",
"zipCode": "708 00"
},
"notice": "poznamka",
"relationship": {
"company": 1,
"companyAddress": 1,
"notice": "Podpora pro zákazníky",
"type": "podpora"
},
"tags": [
"tag 1",
"tag 2"
],
"keyman": false
}
Schema
{
"type":"object",
"required":true,
"properties":{
"titleBefore": {
"type":"string",
"required":false,
"description": "[Titul před]"
},
"firstName": {
"type":"string",
"required":false,
"description": "[Jméno]"
},
"lastName": {
"type":"string",
"required":true,
"description": "[Příjmení]"
},
"titleAfter": {
"type":"string",
"required":false,
"description": "[Titul za]"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"category": {
"type":"long",
"required":false,
"description": "[Kategorie] ID záznamu z číselníku PersonCategory"
},
"personClassification1": {
"type":"long",
"required":false,
"description": "[Klasifikace 1] ID záznamu z číselníku PersonClassification1"
},
"personClassification2": {
"type":"long",
"required":false,
"description": "[Klasifikace 2] ID záznamu z číselníku PersonClassification2"
},
"personClassification3": {
"type":"long",
"required":false,
"description": "[Klasifikace 3] ID záznamu z číselníku PersonClassification3"
},
"salutation": {
"type":"string",
"required":false,
"description": "[Oslovení]"
},
"birthday": {
"type":"string",
"required":false,
"description": "[Narozeniny]"
},
"language": {
"type":"long",
"required":false,
"description": "[Jazyk] ID záznamu z číselníku Language"
},
"maritalStatus": {
"type":"long",
"required":false,
"description": "[Rodinný stav] ID záznamu z číselníku MaritalStatus"
},
"gender": {
"enum": [ "MALE", "FEMALE" ],
"required":false,
"description": "[Pohlaví]"
},
"contactInfo": {
"type":"object",
"required":false,
"properties":{
"email": {
"type":"string",
"required":false,
"description": "[Email]"
},
"email2": {
"type":"string",
"required":false,
"description": "[Email2]"
},
"fax": {
"type":"string",
"required":false,
"description": "[Fax]"
},
"otherContact": {
"type":"string",
"required":false,
"description": "[Jiný kontakt]"
},
"tel1Type": {
"type":"string",
"required":false,
"description": "[Typ 1]"
},
"tel1": {
"type":"string",
"required":false,
"description": "[Tel 1]"
},
"tel2Type": {
"type":"string",
"required":false,
"description": "[Typ 2]"
},
"tel2": {
"type":"string",
"required":false,
"description": "[Tel 2]"
},
"www": {
"type":"string",
"required":false,
"description": "[WWW]"
}
}
},
"socialNetworkContact": {
"type":"object",
"required":false,
"properties":{
"facebook": {
"type":"string",
"required":false,
"description": "[Facebook]"
},
"googleplus": {
"type":"string",
"required":false,
"description": "[Google+]"
},
"twitter": {
"type":"string",
"required":false,
"description": "[Twitter]"
},
"linkedin": {
"type":"string",
"required":false,
"description": "[Linkedin]"
},
"pinterest": {
"type":"string",
"required":false,
"description": "[Pinterest]"
},
"instagram": {
"type":"string",
"required":false,
"description": "[Instagram]"
},
"skype": {
"type":"string",
"required":false,
"description": "[Skype]"
},
"youtube": {
"type":"string",
"required":false,
"description": "[Youtube]"
}
}
},
"privateAddress": {
"type":"object",
"required":false,
"properties":{
"street": {
"type":"string",
"required":false,
"description": "[Ulice]"
},
"city": {
"type":"string",
"required":false,
"description": "[Město]"
},
"province": {
"type":"string",
"required":false,
"description": "[Kraj]"
},
"zipCode": {
"type":"string",
"required":false,
"description": "[PSČ]"
},
"country": {
"type":"string",
"required":false,
"description": "[Kód Země]"
}
}
},
"notice": {
"type":"string",
"required":false,
"description": "[Poznámka k osobě]"
},
"relationship": {
"type":"object",
"required":false,
"properties":{
"company" : {
"type":"long",
"required":true,
"description": "[Firma] ID záznamu firmy Company"
},
"companyAddress" : {
"type":"long",
"required":false,
"description": "[Adresa] ID záznamu adresy z firmy CompanyAddress"
},
"notice" : {
"type":"string",
"required":false,
"description": "[Poznámka]"
},
"type" : {
"type":"string",
"required":false,
"description": "[Pozice]"
},
}
},
"tags" : {
"type": "array",
"required":false,
"items" : {
"type":"string",
"required":true
}
},
"keyman": {
"type":"boolean",
"required":false,
"description": "[Klíčová osoba]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené osoby"
}
}
}
}
}
Detail osoby ¶
detail osobyGET/api/v2/person/{personId}/
Získání detailu osoby. V detailu osoby je uvedena osoba se všemi evidovanými údaji včetně všech evidovaných vztahů k jednotlivým firmám. Pokud záznam osoby obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/person/3/
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 3,
"titleBefore": "Ing.",
"firstName": "Marie",
"lastName": "Vyležíková",
"titleAfter": "Phd.",
"owner": {
"id": 2,
"fullName": "test test"
},
"category": {
"id": 96,
"value": "kat 1"
},
"primaryRelationship": {
"id": 1,
"type": "oddělení podpory",
"company": {
"id": 2,
"name": "RAYNET s.r.o."
}
},
"personClassification1": {
"id": 97,
"value": "kla 1"
},
"personClassification2": {
"id": 98,
"value": "kla 2"
},
"personClassification3": {
"id": 99,
"value": "kla 3"
},
"salutation": "paní",
"birthday": "2014-06-10",
"language": {
"id": 70,
"value": "čeština"
},
"maritalStatus": {
"id": 78,
"value": "Svobodná/Svobodný"
},
"gender": "FEMALE",
"contactInfo": {
"email": "podpora@raynet.cz",
"email2": "13123@4123.cz",
"tel1": "+420 553 401 547",
"tel1Type": "mobil",
"tel2": "13213",
"tel2Type": "mobil",
"www": "www.w.cz",
"fax": "+ 420 321 987 377",
"otherContact": "další kontakt"
},
"socialNetworkContact": {
"facebook": "vylezikovaface",
"googleplus": null,
"twitter": null,
"linkedin": null,
"pinterest": null,
"instagram": null,
"skype": null,
"youtube": null
},
"privateAddress": {
"city": "Ostrava-Poruba",
"country": "Česká republika",
"countryCode": "CZ",
"province": "Moravskoslezský kraj",
"street": "Francouzská 5",
"zipCode": "708 00"
},
"customFields": {
"VIP_b91d1": true
},
"rowInfo.createdAt": "2014-06-18 13:19",
"rowInfo.updatedAt": "2017-09-06 09:43",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"notice": "poznamka",
"photo": {
"id": 428,
"contentType": "image/png",
"fileName": "photo.png",
"size": 17485
},
"activeUserAccount": true,
"tags": [
"stitek 1",
"stitek 2"
],
"_version": 19,
"attachments": [
{
"id": 235,
"link": "http://www.seznam.cz",
"linkName": "seznam",
"file": null,
"folder": null
}
],
"relationships": [
{
"id": 1,
"company": {
"id": 1,
"name": "RAYNET s.r.o."
},
"companyAddress": {
"id": 1,
"name": "Sídlo firmy"
},
"notice": null,
"primary": true,
"type": "péče o zákazníky"
}
],
"inlineGdpr": [
{
"id": 1,
"validFrom": "2018-01-01",
"validTill": "2019-01-01",
"legalTitle": "LEGITIMATE_INTEREST",
"templateName": "Opravněný zájem",
"gdprTemplate": 1
}
],
"keyman": false,
"originLead": {
"id": 4,
"code": "L-18-002",
"topic": "Můj lead"
}
}
}
upravení osobyPOST/api/v2/person/{personId}/
Upravení dat osoby
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"titleBefore": "Ing.",
"firstName": "Marie",
"lastName": "Vyležíková",
"titleAfter": "Phd.",
"owner": 1,
"category": 96,
"personClassification1": 97,
"personClassification2": 98,
"personClassification3": 99,
"salutation": "pani",
"birthday": "2014-06-10",
"language": 70,
"maritalStatus": 78,
"gender": "FEMALE",
"contactInfo": {
"email": "podpora@raynet.cz",
"email2": "13123@4123.cz",
"tel1": "+420 553 401 547",
"tel1Type": "mobil",
"tel2": "13213",
"tel2Type": "mobil",
"www": "www.w.cz",
"fax": "+ 420 321 987 377",
"otherContact": "další informace"
},
"socialNetworkContact": {
"facebook": "vylezikovaface",
},
"privateAddress": {
"city": "Ostrava-Poruba",
"country": "Česká republika",
"province": "Moravskoslezský kraj",
"street": "Francouzská 5",
"zipCode": "708 00"
},
"notice": "poznamka",
"customFields": {
"VIP_b91d1": false
},
"keyman": false
}
Schema
{
"type":"object",
"required":true,
"properties":{
"titleBefore": {
"type":"string",
"required":false,
"description": "[Titul před]"
},
"firstName": {
"type":"string",
"required":false,
"description": "[Jméno]"
},
"lastName": {
"type":"string",
"required":false,
"description": "[Příjmení]"
},
"titleAfter": {
"type":"string",
"required":false,
"description": "[Titul za]"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"category": {
"type":"long",
"required":false,
"description": "[Kategorie] ID záznamu z číselníku PersonCategory"
},
"personClassification1": {
"type":"long",
"required":false,
"description": "[Klasifikace 1] ID záznamu z číselníku PersonClassification1"
},
"personClassification2": {
"type":"long",
"required":false,
"description": "[Klasifikace 2] ID záznamu z číselníku PersonClassification2"
},
"personClassification3": {
"type":"long",
"required":false,
"description": "[Klasifikace 3] ID záznamu z číselníku PersonClassification3"
},
"salutation": {
"type":"string",
"required":false,
"description": "[Oslovení]"
},
"birthday": {
"type":"string",
"required":false,
"description": "[Narozeniny]"
},
"language": {
"type":"long",
"required":false,
"description": "[Jazyk] ID záznamu z číselníku Language"
},
"maritalStatus": {
"type":"long",
"required":false,
"description": "[Rodinný stav] ID záznamu z číselníku MaritalStatus"
},
"gender": {
"enum": [ "MALE", "FEMALE" ],
"required":false,
"description": "[Pohlaví]"
},
"contactInfo": {
"type":"object",
"required":false,
"properties":{
"email": {
"type":"string",
"required":false,
"description": "[Email]"
},
"email2": {
"type":"string",
"required":false,
"description": "[Email2]"
},
"fax": {
"type":"string",
"required":false,
"description": "[Fax]"
},
"otherContact": {
"type":"string",
"required":false,
"description": "[Jiný kontakt]"
},
"tel1Type": {
"type":"string",
"required":false,
"description": "[Typ 1]"
},
"tel1": {
"type":"string",
"required":false,
"description": "[Tel 1]"
},
"tel2Type": {
"type":"string",
"required":false,
"description": "[Typ 2]"
},
"tel2": {
"type":"string",
"required":false,
"description": "[Tel 2]"
},
"www": {
"type":"string",
"required":false,
"description": "[WWW]"
}
}
},
"socialNetworkContact": {
"type":"object",
"required":false,
"properties":{
"facebook": {
"type":"string",
"required":false,
"description": "[Facebook]"
},
"googleplus": {
"type":"string",
"required":false,
"description": "[Google+]"
},
"twitter": {
"type":"string",
"required":false,
"description": "[Twitter]"
},
"linkedin": {
"type":"string",
"required":false,
"description": "[Linkedin]"
},
"pinterest": {
"type":"string",
"required":false,
"description": "[Pinterest]"
},
"instagram": {
"type":"string",
"required":false,
"description": "[Instagram]"
},
"skype": {
"type":"string",
"required":false,
"description": "[Skype]"
},
"youtube": {
"type":"string",
"required":false,
"description": "[Youtube]"
}
}
},
"privateAddress": {
"type":"object",
"required":false,
"properties":{
"street": {
"type":"string",
"required":false,
"description": "[Ulice]"
},
"city": {
"type":"string",
"required":false,
"description": "[Město]"
},
"province": {
"type":"string",
"required":false,
"description": "[Kraj]"
},
"zipCode": {
"type":"string",
"required":false,
"description": "[PSČ]"
},
"country": {
"type":"string",
"required":false,
"description": "[Kód Země]"
}
}
},
"notice": {
"type":"string",
"required":false,
"description": "[Poznámka k osobě]"
},
"customFields" : {
"type": "object",
"required":false,
"properties" : {
"<customFieldKey>": {
"type":"number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required":false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
},
"keyman": {
"type":"boolean",
"required":false,
"description": "[Klíčová osoba]"
}
}
200
smazání osobyDELETE/api/v2/person/{personId}/
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
X-Instance-Name: instanceName
200
Uzamčení osoby ¶
uzamčení osobyPOST/api/v2/person/{personId}/lock
Uzamčení záznamu osoby pro editaci.
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
X-Instance-Name: instanceName
200
Odemčení osoby ¶
odemčení osobyPOST/api/v2/person/{personId}/unlock
Odemčení záznamu osoby k editaci.
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
X-Instance-Name: instanceName
200
Zneplatnění osoby ¶
zneplatnění osobyPOST/api/v2/person/{personId}/invalid
Zneplatnění záznamu osoby.
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
X-Instance-Name: instanceName
200
Obnovit platnost osoby ¶
obnovení platnosti osobyPOST/api/v2/person/{personId}/valid
Obnovení platnosti záznamu osoby.
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
X-Instance-Name: instanceName
200
GDPR anonymize osoby ¶
GDPR anonymize osobyPOST/api/v2/person/{personId}/anonymize/
U záznamu se provede anonimizace data.
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
X-Instance-Name: instanceName
200
Nový vztah k firmě ¶
přidání vztahuPUT/api/v2/person/{personId}/relationship/
Přidání nového vztahu osoby s identifikátorem personId
k firmě. Vztah bude zařazen mezi vedlejší vztahy.
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
X-Instance-Name: instanceName
Body
{
"company": 1,
"companyAddress": 1,
"notice": "Podpora pro zákazníky",
"type": "podpora"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"company": {
"type": "long",
"required": true,
"description": "[Firma] ID záznamu firmy Company"
},
"companyAddress": {
"type": "long",
"required": false,
"description": "[Adresa] ID záznamu adresy z firmy CompanyAddress"
},
"notice": {
"type": "string",
"required": false,
"description": "[Poznámka]"
},
"type": {
"type": "string",
"required": true,
"description": "[Pozice]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného vztahu"
}
}
}
}
}
Vztahy k firmě ¶
upravení vztahuPOST/api/v2/person/{personId}/relationship/{relationshipId}/
Example URI
- personId
Long
(required) Example: 123ID osoby
- relationshipId
Long
(required) Example: 123ID vztahu s firmou
Headers
X-Instance-Name: instanceName
Body
{
"company": 1,
"companyAddress": 1,
"notice": "Podpora pro zákazníky",
"type": "podpora"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"company": {
"type": "long",
"required": true,
"description": "[Firma] ID záznamu firmy Company"
},
"companyAddress": {
"type": "long",
"required": false,
"description": "[Adresa] ID záznamu adresy z firmy CompanyAddress"
},
"notice": {
"type": "string",
"required": false,
"description": "[Poznámka]"
},
"type": {
"type": "string",
"required": true,
"description": "[Pozice]"
}
}
}
200
smazání vztahuDELETE/api/v2/person/{personId}/relationship/{relationshipId}/
U osoby s identifikátorem personId
bude smazán vztah k firmě s identifikátorem relationshipId
.
Example URI
- personId
Long
(required) Example: 123ID osoby
- relationshipId
Long
(required) Example: 123ID vztahu s firmou
Headers
X-Instance-Name: instanceName
200
Primární vztah s firmou ¶
nastavení primárního vztahu s firmouPOST/api/v2/person/{personId}/relationship/{relationshipId}/setPrimary/
U osoby s identifikátorem personId
bude nastavena nový primární vztah s identifikátorem relationshipId
. Tato firma se bude zobrazovat u osoby jako hlavní (první). Vztah, který byl doposud jako primární, bude zařazen mezi vedlejší vztahy.
Example URI
- personId
Long
(required) Example: 123ID osoby
- relationshipId
Long
(required) Example: 123ID vztahu s firmou
Headers
X-Instance-Name: instanceName
200
TAGy ¶
přidání TAGuPUT/api/v2/person/{personId}/tag/
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
X-Instance-Name: instanceName
Body
{
"tag": "muj tag"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"tag": {
"type": "string",
"required": true
}
}
}
201
smazání TAGuDELETE/api/v2/person/{personId}/tag/
Example URI
- personId
Long
(required) Example: 123ID osoby
Headers
X-Instance-Name: instanceName
Body
{
"tag": "muj tag"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"tag": {
"type": "string",
"required": true
}
}
}
200
Slučování duplicit ¶
Sloučení duplicitní osobyPOST/api/v2/person/{personId}/merge/{sourcePersonId}/
Při sloučení dojde k převedení všech dat ze zdrojové osoby do cílové osoby s následným smazáním zdrojové osoby. Podrobnosti o slučování najdete v tomto článku.
Example URI
- personId
Long
(required) Example: 123ID cílové osoby, do tohoto záznamu se budou převádět data
- sourcePersonId
Long
(required) Example: 123ID zdrojové osoby, která bude sloučena s cílovou osobou a následně smazána
Headers
X-Instance-Name: instanceName
200
Leady ¶
API pro práci s leady.
Seznam leadů ¶
seznam leadůGET/api/v2/lead/{?offset,limit,sortColumn,sortDirection,fulltext,code,companyName,lastName,contactInfo.email,contactInfo.email2,regNumber,owner,leadDate,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,gdprTemplate,withoutGdpr,view}
Získání seznamu leadů. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/lead/?offset=0&limit=1&companyName[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených leadů je
1000
- sortColumn
string
(optional) Example: codeChoices:
code
leadDate
priority
companyName
lastName
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- code
string
(optional) Example: code[LIKE]=L-16-1111%Filtrování leadů podle kódu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- companyName
string
(optional) Example: companyName[LIKE]=RAY%Filtrování leadů podle jména klienta. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- lastName
string
(optional) Example: lastName[LIKE]=Nov%Filtrování leadů podle příjmení. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- contactInfo.email
string
(optional) Example: novak@raynet.czFiltrování leadů podle emailu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- contactInfo.email2
string
(optional) Example: novak@raynet.czFiltrování leadů podle druhého emailu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- regNumber
string
(optional) Example: 1234567Filtrování leadů podle IČ. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- owner
number
(optional) Example: 1Filtrování leadů podle vlastníka (Person). Filtruje se podle jednoznačného identifikátoru vlastníka (id)
- leadDate
string
(optional) Example: 2014-06-01Filtrování leadů podle přijato. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: E_WINFiltrování OP podle skupiny stavu. Lze využít operátoru
EQ
,NE
.B_ACTIVE
--otevřené leady,G_STORNO
--stornované leady,D_DONE
--převedené leadyChoices:
B_ACTIVE
G_STORNO
D_DONE
- leadPhase
number
(optional) Example: 21Filtrování leadů podle stavu (LeadPhase). Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování leadů podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování leadů podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování leadů podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- gdprTemplate
string
(optional) Example: gdprTemplate[CUSTOM]=1Filtrování leadů podle právního titulu. Lze použít jen operátor
CUSTOM
.- withoutGdpr
string
(optional) Example: withoutGdpr[CUSTOM]Filtrování leadů, kteří nemají platný právní titul. Lze využít jen operátor
CUSTOM
.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 165,
"data": [
{
"id": 172,
"code": "Z-16-00011",
"leadDate": "2016-08-15",
"topic": "Zájemce o zeleninu",
"leadPhase": {
"id": 105,
"code01": "V řešení",
"color": "c14d00",
"status": "B_ACTIVE",
"locked": false
},
"owner": {
"id": 63,
"fullName": "Pan Tau"
},
"priority": "CRITICAL",
"company": {
"id": 1093,
"name": "Králíček"
},
"person": {
"id": 16255,
"fullName": "Pan Ušák"
},
"businessCase": {
"id": 8824,
"code": "OP-21-809",
"name": "Zájemce o zeleninu"
},
"companyName": "Králíček",
"lastName": "Ušák",
"convertDate": null,
"contactSource": {
"id": 815,
"value": "web A - našli nás na internetu"
},
"category": null,
"firstName": "Pan",
"contactInfo": {
"email": "kralicek@mrkev.cz",
"email2": "test@mrkev.cz",
"tel1": "123456789",
"tel1Type": "mobil",
"tel2": null,
"tel2Type": null,
"www": null,
"fax": null,
"otherContact": null
},
"address": {
"city": "Velká Lhota",
"countryName": "Česká republika",
"countryCode": "CZ",
"street": "Hlavní ulice",
"province": "Jihomoravký kraj",
"zipCode": "123 00",
"lat": null,
"lng": null
},
"socialNetworkContact": {
"facebook": null,
"googleplus": null,
"twitter": null,
"linkedin": null,
"pinterest": null,
"instagram": null,
"skype": null,
"youtube": null
},
"customFields": null,
"rowInfo.createdAt": "2016-08-15 13:49",
"rowInfo.createdBy": "cervenka@raynet.cz",
"rowInfo.updatedAt": null,
"rowInfo.updatedBy": null,
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 6,
"tags": [],
"notice": "<p>Králiček by rád mrkev</p>",
"regNumber": null,
"inlineGdpr": [
{
"id": 1,
"validFrom": "2018-01-01",
"validTill": "2019-01-01",
"legalTitle": "LEGITIMATE_INTEREST",
"templateName": "Opravněný zájem",
"gdprTemplate": 1
}
]
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nový lead ¶
nový leadPUT/api/v2/lead/
Založení nového leadu. S volitelnou možností zaslat notifikaci o vytvoření leadu na vybrané emailové adresy (vhodné pro webové formuláře).
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"topic": "Objednávka",
"priority": "DEFAULT",
"companyName": "Neteče a nepoteče s.r.o",
"firstName": "Jan",
"lastName": "Kapka",
"owner": 1,
"notice": "Importováno xxxxz webu",
"category": 91,
"contactSource": 61,
"regNumber": "regNumber",
"leadPhase": 122,
"contactInfo": {
"email": "metece@nepotece.cz",
"email2": "test@nepotece.cz",
"tel1": "+420 800 123 123 ",
"tel1Type": "Mobil",
"tel2": "+420 123 456 789",
"tel2Type": "Pevná linka",
"www": "nepotece.cz",
"fax": "+420 123 123 123",
"otherContact": "Pobočka XY"
},
"address": {
"street": "Hlavní ulice",
"city": "Velká Lhota",
"province": "Jihomoravký kraj",
"zipCode": "123 00",
"country": "CZ",
"lat": null,
"lng": null
},
"socialNetworkContact": {
"facebook": "kapkafb",
"googleplus": "kapkagp",
"twitter": "kapkatw",
"linkedin": "kapkali",
"pinterest": "kapkapi",
"instagram": "kapkain",
"skype": "kapkask",
"youtube": "kapkayo"
},
"customFields": {
"VIP_b91d1": false
},
"tags": "aaa,bbb",
"notificationMessage": "Poptávka z webového formuláře",
"notificationEmailAddresses": [
"email@raynet.cz",
"email2@raynet.cz"
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"topic": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"priority": {
"enum": [
"MINOR",
"DEFAULT",
"CRITICAL"
],
"required": true,
"description": "[Priorita]"
},
"companyName": {
"type": "string",
"required": false,
"description": "[Název společnosti]"
},
"regNumber": {
"type": "string",
"required": false,
"description": "[IČ]"
},
"firstName": {
"type": "string",
"required": false,
"description": "[Jméno]"
},
"lastName": {
"type": "string",
"required": false,
"description": "[Příjmení]"
},
"titleBefore": {
"type": "string",
"required": false,
"description": "[Titul před]"
},
"titleAfter": {
"type": "string",
"required": false,
"description": "[Titul za]"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type": "long",
"required": false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"contactSource": {
"type": "long",
"required": false,
"description": "[Zdroj] ID záznamu z číselníku ContactSource"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku LeadCategory"
},
"notice": {
"type": "string",
"required": false,
"description": "[Poznámka k leadu]"
},
"leadPhase": {
"type": "long",
"required": false,
"description": "[Stav leadu] ID záznamu z číselníku LeadPhase"
},
"tags": {
"type": "string",
"required": false,
"description": "[Seznam štítků oddělených čárkou]"
},
"territory": {
"type": "long",
"required": false,
"description": "[Teritorium] ID záznamu z číselníku Territory"
},
"contactInfo": {
"type": "object",
"required": false,
"properties": {
"email": {
"type": "string",
"required": false,
"description": "[Email]"
},
"email2": {
"type": "string",
"required": false,
"description": "[Email 2]"
},
"tel1": {
"type": "string",
"required": false,
"description": "[Tel 1]"
},
"tel1Type": {
"type": "string",
"required": false,
"description": "[Typ 1]"
},
"tel2": {
"type": "string",
"required": false,
"description": "[Tel 2]"
},
"tel2Type": {
"type": "string",
"required": false,
"description": "[Typ 2]"
},
"www": {
"type": "string",
"required": false,
"description": "[WWW]"
},
"fax": {
"type": "string",
"required": false,
"description": "[Fax]"
},
"otherContact": {
"type": "string",
"required": false,
"description": "[Jiný kontakt]"
}
}
},
"address": {
"type": "object",
"required": false,
"properties": {
"street": {
"type": "string",
"required": false,
"description": "[Ulice]"
},
"city": {
"type": "string",
"required": false,
"description": "[Město]"
},
"province": {
"type": "string",
"required": false,
"description": "[Kraj]"
},
"zipCode": {
"type": "string",
"required": false,
"description": "[PSČ]"
},
"country": {
"type": "string",
"required": false,
"description": "[Kód Země]"
},
"lat": {
"type": "number",
"required": false,
"description": "[Zeměpisná šířka]"
},
"lng": {
"type": "number",
"required": false,
"description": "[Zeměpisná délka]"
}
}
},
"socialNetworkContact": {
"type": "object",
"required": false,
"properties": {
"facebook": {
"type": "string",
"required": false,
"description": "[Facebook]"
},
"googleplus": {
"type": "string",
"required": false,
"description": "[Google+]"
},
"twitter": {
"type": "string",
"required": false,
"description": "[Twitter]"
},
"linkedin": {
"type": "string",
"required": false,
"description": "[Linkedin]"
},
"pinterest": {
"type": "string",
"required": false,
"description": "[Pinterest]"
},
"instagram": {
"type": "string",
"required": false,
"description": "[Instagram]"
},
"skype": {
"type": "string",
"required": false,
"description": "[Skype]"
},
"youtube": {
"type": "string",
"required": false,
"description": "[Youtube]"
}
}
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
},
"notificationMessage": {
"type": "string",
"required": false,
"description": "[Text notifikace]"
},
"notificationEmailAddresses": {
"type": "array",
"required": false,
"items": {
"type": "string",
"required": true,
"description": "[Emailová adresa notifikace]"
}
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného leadu"
}
}
}
}
}
Detail leadu ¶
detail leaduGET/api/v2/lead/{leadId}/
Získání detailu leadu. Pokud záznam leadu obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/lead/3/
Example URI
- leadId
Long
(required) Example: 123ID lead
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 8,
"code": "code",
"leadDate": "2016-08-26",
"topic": "Objednávka",
"leadPhase": {
"id": 105,
"code01": "V řešení",
"color": "c14d00",
"status": "B_ACTIVE",
"locked": false
},
"owner": {
"id": 1,
"fullName": "RAYNET CRM"
},
"priority": "CRITICAL",
"companyName": "Neteče a nepoteče s.r.o",
"company": {
"id": 1093,
"name": "Neteče a nepoteče s.r.o"
},
"person": null,
"businessCase": null,
"lastName": "Kapka",
"convertDate": null,
"contactSource": {
"id": 61,
"value": "e-mail"
},
"category": {
"id": 91,
"value": "asd"
},
"firstName": "Jan",
"titleBefore": "Ing.",
"titleAfter": "Ph.D.",
"territory": {
"id": 129,
"value": "Morava"
},
"contactInfo": {
"email": "netece@nepotece.cz",
"email2": "test@nepotece.cz",
"tel1": "+420 800 123 123 ",
"tel1Type": "Mobil",
"tel2": "+420 123 456 789",
"tel2Type": "Pevná linka",
"fax": null,
"www": null,
"otherContact": null
},
"address": {
"city": "Velká Lhota",
"countryName": "Česká republika",
"countryCode": "CZ",
"street": "Hlavní ulice",
"province": "Jihomoravký kraj",
"zipCode": "123 00",
"lat": null,
"lng": null
},
"socialNetworkContact": {
"facebook": "kapkafb",
"googleplus": "kapkagp",
"twitter": "kapkatw",
"linkedin": "kapkali",
"pinterest": "kapkapi",
"instagram": "kapkain",
"skype": "kapkask",
"youtube": "kapkayo"
},
"customFields": null,
"rowInfo.createdAt": "2016-08-26 17:14",
"rowInfo.createdBy": "seifert@raynet.cz",
"rowInfo.updatedAt": "2016-08-26 17:15",
"rowInfo.updatedBy": "seifert@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": "LOCK",
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"tags": [],
"notice": "notice",
"regNumber": "regNumber",
"_version": 6,
"attachments": [],
"inlineGdpr": [
{
"id": 1,
"validFrom": "2018-01-01",
"validTill": "2019-01-01",
"legalTitle": "LEGITIMATE_INTEREST",
"templateName": "Opravněný zájem",
"gdprTemplate": 1
}
]
}
}
upravení leaduPOST/api/v2/lead/{leadId}/
Upravení dat leadu
Example URI
- leadId
Long
(required) Example: 123ID leadu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"topic": "Objednávka",
"priority": "DEFAULT",
"companyName": "Neteče a nepoteče s.r.o",
"firstName": "Jan",
"lastName": "Kapka",
"owner": 1,
"leadPhase": 105,
"notice": "Importováno xxxxz webu",
"category": 91,
"contactSource": 61,
"regNumber": "regNumber",
"contactInfo": {
"email": "netece@nepotece.cz",
"email2": "test@nepotece.cz",
"tel1": "+420 800 123 123 ",
"tel1Type": "Mobil",
"tel2": "+420 123 456 789",
"tel2Type": "Pevná linka",
"www": "nepotece.cz",
"fax": "+420 123 123 123",
"otherContact": "Pobočka XY"
},
"address": {
"street": "Hlavní ulice",
"city": "Velká Lhota",
"province": "Jihomoravký kraj",
"zipCode": "123 00",
"country": "CZ",
"lat": null,
"lng": null
},
"socialNetworkContact": {
"facebook": "kapkafb",
"googleplus": "kapkagp",
"twitter": "kapkatw",
"linkedin": "kapkali",
"pinterest": "kapkapi",
"instagram": "kapkain",
"skype": "kapkask",
"youtube": "kapkayo"
},
"customFields": {
"VIP_b91d1": false
},
"tags": "aaa,bbb"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"topic": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"priority": {
"enum": [
"MINOR",
"DEFAULT",
"CRITICAL"
],
"required": true,
"description": "[Priorita]"
},
"leadPhase": {
"type": "long",
"required": false,
"description": "[Stav leadu] ID záznamu z číselníku LeadPhase"
},
"companyName": {
"type": "string",
"required": false,
"description": "[Název společnosti]"
},
"regNumber": {
"type": "string",
"required": false,
"description": "[IČ]"
},
"firstName": {
"type": "string",
"required": false,
"description": "[Jméno]"
},
"lastName": {
"type": "string",
"required": false,
"description": "[Příjmení]"
},
"titleBefore": {
"type": "string",
"required": false,
"description": "[Titul před]"
},
"titleAfter": {
"type": "string",
"required": false,
"description": "[Titul za]"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type": "long",
"required": false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"contactSource": {
"type": "long",
"required": false,
"description": "[Zdroj] ID záznamu z číselníku ContactSource"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku LeadCategory"
},
"notice": {
"type": "string",
"required": false,
"description": "[Poznámka k leadu]"
},
"tags": {
"type": "string",
"required": false,
"description": "[Seznam štítků oddělených čárkou]"
},
"territory": {
"type": "long",
"required": false,
"description": "[Teritorium] ID záznamu z číselníku Territory"
},
"contactInfo": {
"type": "object",
"required": false,
"properties": {
"email": {
"type": "string",
"required": false,
"description": "[Email]"
},
"email2": {
"type": "string",
"required": false,
"description": "[Email 2]"
},
"tel1": {
"type": "string",
"required": false,
"description": "[Tel 1]"
},
"tel1Type": {
"type": "string",
"required": false,
"description": "[Typ 1]"
},
"tel2": {
"type": "string",
"required": false,
"description": "[Tel 2]"
},
"tel2Type": {
"type": "string",
"required": false,
"description": "[Typ 2]"
},
"www": {
"type": "string",
"required": false,
"description": "[WWW]"
},
"fax": {
"type": "string",
"required": false,
"description": "[Fax]"
},
"otherContact": {
"type": "string",
"required": false,
"description": "[Jiný kontakt]"
}
}
},
"address": {
"type": "object",
"required": false,
"properties": {
"street": {
"type": "string",
"required": false,
"description": "[Ulice]"
},
"city": {
"type": "string",
"required": false,
"description": "[Město]"
},
"province": {
"type": "string",
"required": false,
"description": "[Kraj]"
},
"zipCode": {
"type": "string",
"required": false,
"description": "[PSČ]"
},
"country": {
"type": "string",
"required": false,
"description": "[Kód Země]"
},
"lat": {
"type": "number",
"required": false,
"description": "[Zeměpisná šířka]"
},
"lng": {
"type": "number",
"required": false,
"description": "[Zeměpisná délka]"
}
}
},
"socialNetworkContact": {
"type": "object",
"required": false,
"properties": {
"facebook": {
"type": "string",
"required": false,
"description": "[Facebook]"
},
"googleplus": {
"type": "string",
"required": false,
"description": "[Google+]"
},
"twitter": {
"type": "string",
"required": false,
"description": "[Twitter]"
},
"linkedin": {
"type": "string",
"required": false,
"description": "[Linkedin]"
},
"pinterest": {
"type": "string",
"required": false,
"description": "[Pinterest]"
},
"instagram": {
"type": "string",
"required": false,
"description": "[Instagram]"
},
"skype": {
"type": "string",
"required": false,
"description": "[Skype]"
},
"youtube": {
"type": "string",
"required": false,
"description": "[Youtube]"
}
}
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
}
}
}
200
Body
{
"success": true,
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání leaduDELETE/api/v2/lead/{leadId}/
Example URI
- leadId
Long
(required) Example: 123ID lead
Headers
X-Instance-Name: instanceName
200
Uzamčení leadu ¶
uzamčení leaduPOST/api/v2/lead/{leadId}/lock
Uzamčení záznamu leadu pro editaci.
Example URI
- leadId
Long
(required) Example: 123ID leadu
Headers
X-Instance-Name: instanceName
200
Odemčení leadu ¶
odemčení leaduPOST/api/v2/lead/{leadId}/unlock
Odemčení záznamu leadu k editaci.
Example URI
- leadId
Long
(required) Example: 123ID leadu
Headers
X-Instance-Name: instanceName
200
GDPR anonymize leadu ¶
GDPR anonymize leaduPOST/api/v2/lead/{leadId}/anonymize/
U záznamu se provede anonimizace data.
Example URI
- leadId
Long
(required) Example: 123ID leadu
Headers
X-Instance-Name: instanceName
200
Slučování duplicit ¶
Sloučení duplicitního leaduPOST/api/v2/lead/{leadId}/merge/{sourceLeadId}/
Při sloučení dojde k převedení všech dat ze zdrojového leadu do cílového leadu s následným smazáním zdrojového leadu. Podrobnosti o slučování najdete v tomto článku.
Example URI
- leadId
Long
(required) Example: 123ID cílového leadu, do tohoto záznamu se budou převádět data
- sourceLeadId
Long
(required) Example: 123ID zdrojového leadu, který bude sloučen s cílovým leadem a následně smazán
Headers
X-Instance-Name: instanceName
200
Obchodní případy ¶
API pro práci s obchodními případy (dále jen “OP”).
Seznam OP ¶
seznam OPGET/api/v2/businessCase/{?offset,limit,sortColumn,sortDirection,fulltext,name,code,company,project,category,owner,validFrom,validTill,status,businessCasePhase,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,rowInfo.rowAccess,view}
Získání seznamu obchodních případů. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/businessCase/?offset=0&limit=1&name[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: nameChoices:
name
regNumber
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- code
string
(optional) Example: OP-15-001Filtrování OP podle kódu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- name
string
(optional) Example: name[LIKE]=RAY%Filtrování OP podle jména. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- company
number
(optional) Example: 1Filtrování OP podle firmy. Filtruje se podle jednoznačného identifikátoru firmy (id)
- project
number
(optional) Example: 1Filtrování OP podle projektu. Filtruje se podle jednoznačného identifikátoru projektu (id)
- category
number
(optional) Example: 1Filtrování OP podle kategorie (BusinessCaseCategory). Filtruje se podle jednoznačného identifikátoru kategorie (id)
- owner
number
(optional) Example: 1Filtrování OP podle vlastníka (Person). Filtruje se podle jednoznačného identifikátoru vlastníka (id)
- validFrom
string
(optional) Example: validFrom[GT]=2014-06-01Filtrování OP podle data otevření. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- validTill
string
(optional) Example: validTill[GT]=2014-06-01Filtrování OP podle data uzavření. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- scheduledEnd
string
(optional) Example: validTill[GT]=2014-06-01Filtrování OP podle data odhad uzavření. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: E_WINFiltrování OP podle skupiny stavu. Lze využít operátoru
EQ
,NE
.B_ACTIVE
--otevřené OP,E_WIN
--vyhrané OP,F_LOST
--prohrané OP,G_STORNO
--stornované OPChoices:
B_ACTIVE
E_WIN
F_LOST
G_STORNO
- businessCasePhase
number
(optional) Example: 21Filtrování OP podle stavu (BusinessCasePhase). Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- businessCaseType
number
(optional) Example: 21Filtrování OP podle typu obchodního případu (BusinessCaseType). Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- containsProduct
number
(optional) Example: 21Filtrování OP podle produktu. Pokud OP obsahuje zvolený produkt, bude zobrazen. Je nutné použít operátor
CUSTOM
- productCategory
number
(optional) Example: 21Filtrování OP podle kategorie produktu. Pokud OP obsahuje produkt ve vybrané kategorii, bude zobrazen. Je nutné použít operátor
CUSTOM
a použít více hodnotproductCategory[CUSTOM]=1,2,3
- productLine
number
(optional) Example: 21Filtrování OP podle produktové řady produktu. Pokud OP obsahuje produkt ve vybrané produktové řadě, bude zobrazen. Je nutné použít operátor
CUSTOM
a použít více hodnotproductLine[CUSTOM]=1,2,3
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování OP podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování OP podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování OP podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- rowInfo.rowAccess
string
(optional) Example: INVALIDFiltrování zneplatněných OP. Lze využít operátoru
EQ
,NE
,EQ_OR_NULL
,NE_OR_NULL
- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 414,
"code": "OP-15-0001",
"name": "První obchodní případ",
"company": {
"id": 1093,
"name": "Firma 1"
},
"person": null,
"owner": {
"id": 11,
"fullName": "Ludmila Nováková"
},
"currency": {
"id": 15,
"value": "Kč"
},
"validFrom": "2015-01-19",
"validTill": "2015-01-21",
"scheduledEnd": null,
"totalAmount": 3797.01,
"tradingProfit": 3797.01,
"estimatedValue": 1000,
"status": "E_WIN",
"probability": 100,
"exchangeRate": 1,
"businessCasePhase": {
"id": 45,
"value": "Výhra"
},
"businessCaseType": null,
"category": {
"id": 96,
"value": "Obchod morava"
},
"project": null,
"source": null,
"businessCaseClassification1": null,
"businessCaseClassification2": null,
"businessCaseClassification3": null,
"losingReason": null,
"losingCategory": null,
"rowInfo.createdAt": "2015-09-18 10:59",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": "2015-09-18 10:59",
"rowInfo.updatedBy": "konektor@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"description": null,
"tags": []
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nový OP ¶
nový OPPUT/api/v2/businessCase/
Založení nového obchodního případu.
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "test",
"company": 1,
"owner": 3,
"totalAmount": 123.5,
"estimatedValue": 11,
"probability": 80,
"validFrom": "2015-11-08",
"description": "test",
"businessCaseClassification1": 93,
"currency": 17,
"exchangeRate": 20,
"businessCasePhase": 3
}
Schema
{
"type":"object",
"required":true,
"properties":{
"name": {
"type":"string",
"required":true,
"description": "[Předmět]"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"company": {
"type":"long",
"required":true,
"description": "[Firma] ID firmy, pro kterou je obchodní případ vytvářen"
},
"person": {
"type":"long",
"required":false,
"description": "[Osoba] ID osoby zodpovědné za OP na straně klienta"
},
"project": {
"type":"long",
"required":false,
"description": "[Projekt] ID projektu na který má být OP připojen"
},
"totalAmount": {
"type":"number",
"required":false,
"description": "[Konečná cena] konečná cena OP"
},
"estimatedValue": {
"type":"number",
"required":false,
"description": "[Předpokládané náklady] předpokládané náklady na OP"
},
"probability": {
"type":"int",
"required":false,
"description": "[Pravděpodobnost] pravděpodobnost na úspěch OP"
},
"validFrom": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum otevřeno od"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
},
"currency": {
"type":"long",
"required":false,
"description": "[Měna] ID záznamu z číselníku Currency"
},
"exchangeRate": {
"type":"number",
"required":false,
"description": "[Kurz] kurz pro přepočet na výchozí měnu CRM"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku BusinessCaseCategory"
},
"source": {
"type":"long",
"required":false,
"description" : "[Zdroj kontaktu] ID záznamu z číselníku ContactSource"
},
"businessCaseClassification1": {
"type":"long",
"required":false,
"description" : "[Klasifikace 1] ID záznamu z číselníku BusinessCaseClassification1"
},
"businessCaseClassification2": {
"type":"long",
"required":false,
"description" : "[Klasifikace 2] ID záznamu z číselníku BusinessCaseClassification2"
},
"businessCaseClassification3": {
"type":"long",
"required":false,
"description" : "[Klasifikace 3] ID záznamu z číselníku BusinessCaseClassification3"
},
"businessCasePhase": {
"type":"long",
"required":false,
"description" : "[Stav] ID záznamu z BusinessCasePhase. Pokud nebude vyplněno, založí se OP do prvního stavu."
},
"losingCategory": {
"type":"long",
"required":false,
"description": "[Kategorie prohry] ID záznamu z číselníku LosingCategory"
},
"losingReason": {
"type":"string",
"required":false,
"description": "[Důvod prohry]"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Uzavřeno] datum uzavření OP"
},
"scheduledEnd": {
"type":"date",
"required":false,
"description": "[Odhad uzavření]"
},
"tags": {
"type": "array",
"required": false,
"items" : {
"type": "string",
"required": true
}
},
"customFields": {
"type": "object",
"required":false,
"properties" : {
"<customFieldKey>": {
"type":"number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required":false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného OP"
}
}
}
}
}
Nový OP s produkty ¶
nový OP s produktyPUT/api/v2/businessCase/createWithItems
Založení nového obchodního případu i s položkami (najednou). Položky se do vstupu zadávají jako kolekce v atributu “items”. Každá položka z kolekce je pak v systému vytvořena dvojím způsobem: bez napojení na produkt (nekategorizovaný produkt), nebo s napojením na vybraný produkt. Pokud položka obsahuje atribut “product” (ID produktu) nebo “productCode” (kód produktu), systém produkt dohledá a na položku napojí. Pokud takový produkt nelze dohledat, pokusí se jej nově založit. Množinu produktů pro dohledání je možné omezit na nějaký konkrétní ceník, a to tím, že se přidá navíc atribtut “priceList” (ID vybraného ceníku). Pro nekategorizovaný produkt se žádný z výše uvedených parametrů nezadává, ale je potřeba vložit alespoň název produktu (“name”).
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "Obchodní případ s položkami",
"company": 2,
"owner": 3,
"totalAmount": 123.5,
"estimatedValue": 11,
"probability": 80,
"validFrom": "2018-11-04",
"description": "Popis",
"currency": 19,
"items": [
{
"productCode": "002",
"count": 7
},
{
"productCode": "003",
"priceList": 2,
"count": 5
},
{
"productCode": "004",
"name": "Chladící kapalina",
"price": 250,
"unit": "litr",
"taxRate": 21,
"count": 3
}
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type": "long",
"required": false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"company": {
"type": "long",
"required": true,
"description": "[Firma] ID firmy, pro kterou je obchodní případ vytvářen"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby zodpovědné za OP na straně klienta"
},
"totalAmount": {
"type": "number",
"required": false,
"description": "[Konečná cena] konečná cena OP"
},
"estimatedValue": {
"type": "number",
"required": false,
"description": "[Předpokládané náklady] předpokládané náklady na OP"
},
"probability": {
"type": "int",
"required": false,
"description": "[Pravděpodobnost] pravděpodobnost na úspěch OP"
},
"validFrom": {
"type": "date",
"required": false,
"description": "[Otevřeno od] datum otevřeno od"
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka]"
},
"currency": {
"type": "long",
"required": false,
"description": "[Měna] ID záznamu z číselníku Currency"
},
"exchangeRate": {
"type": "number",
"required": false,
"description": "[Kurz] kurz pro přepočet na výchozí měnu CRM"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku BusinessCaseCategory"
},
"source": {
"type": "long",
"required": false,
"description": "[Zdroj kontaktu] ID záznamu z číselníku ContactSource"
},
"businessCaseClassification1": {
"type": "long",
"required": false,
"description": "[Klasifikace 1] ID záznamu z číselníku BusinessCaseClassification1"
},
"businessCaseClassification2": {
"type": "long",
"required": false,
"description": "[Klasifikace 2] ID záznamu z číselníku BusinessCaseClassification2"
},
"businessCaseClassification3": {
"type": "long",
"required": false,
"description": "[Klasifikace 3] ID záznamu z číselníku BusinessCaseClassification3"
},
"businessCasePhase": {
"type": "long",
"required": false,
"description": "[Stav] ID záznamu z BusinessCasePhase. Pokud nebude vyplněno, založí se OP do prvního stavu."
},
"project": {
"type": "long",
"required": false,
"description": "[Projekt] ID projektu na který má být OP připojen"
},
"losingCategory": {
"type": "long",
"required": false,
"description": "[Kategorie prohry] ID záznamu z číselníku LosingCategory"
},
"losingReason": {
"type": "string",
"required": false,
"description": "[Důvod prohry]"
},
"validTill": {
"type": "date",
"required": false,
"description": "[Uzavřeno] datum uzavření OP"
},
"scheduledEnd": {
"type": "date",
"required": false,
"description": "[Odhad uzavření]"
},
"tags": {
"type": "array",
"required": false,
"items": {
"type": "string",
"required": true
}
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
},
"items": {
"type": "array",
"required": false,
"minItems": 1,
"items": {
"type": "object",
"required": true,
"properties": {
"productCode": {
"type": "string",
"required": false,
"description": "[Kód produktu] Na základě zadaného kódu se dohledá produkt (nebo založí nový). Položka OP se pak vytvoří s tímto produktem."
},
"product": {
"type": "number",
"required": false,
"description": "[ID produktu] Na základě zadaného ID se dohledá produkt. Položka OP se pak vytvoří s tímto produktem."
},
"priceList": {
"type": "number",
"required": false,
"description": "[ID ceníku] Vyhledávání produktu výše uvedenými kritérii bude omezeno pouze na zadaný ceník. Pokud není zadáno, vyhledává se ve výchozích (ne-ceníkových) produktech."
},
"name": {
"type": "string",
"required": true,
"description": "[Název] Povinná hodnota pro nekategorizovaný produkt nebo v případě, že se produkt bude zakládat nový (kód není dohledán v exisujících produktech)."
},
"price": {
"type": "number",
"required": false,
"description": "[Prodejní cena]"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Daň]"
},
"count": {
"type": "int",
"required": false,
"description": "[Množství]"
},
"discountPercent": {
"type": "number",
"required": false,
"description": "[Sleva]"
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklady] Náklad za kus"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka]"
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka]"
}
}
}
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného OP"
}
}
}
}
}
Detail OP ¶
detail OPGET/api/v2/businessCase/{businessCaseId}/
Získání detailu obchodního případu. Pokud záznam obch. případu obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/businessCase/1/
Example URI
- businessCaseId
Long
(required) Example: 123ID obchodního případu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 11,
"code": "OP-15-008",
"name": "obchodni pripad",
"company": {
"id": 1,
"name": "RAYNET s.r.o."
},
"person": {
"id": 3,
"fullName": "Jan Novák"
},
"owner": {
"id": 3,
"fullName": "Marie Vyležíková"
},
"currency": {
"id": 17,
"value": "$"
},
"validFrom": "2015-10-02",
"validTill": null,
"scheduledEnd": null,
"totalAmount": 122,
"totalAmountWithTax": 122,
"estimatedValue": 10,
"tradingProfit": 111,
"status": "B_ACTIVE",
"probability": 80,
"exchangeRate": 20,
"businessCasePhase": {
"id": 39,
"value": "Identifikace příležitosti"
},
"businessCaseType": null,
"category": null,
"project": null,
"source": null,
"businessCaseClassification1": {
"id": 93,
"value": "test"
},
"businessCaseClassification2": null,
"businessCaseClassification3": null,
"losingReason": null,
"losingCategory": null,
"rowInfo.createdAt": "2014-10-02 13:17",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": "2014-10-02 13:27",
"rowInfo.updatedBy": "konektor@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"description": "test",
"tags": [],
"attachments": [],
"customFields": {
"Popis_prio_c49d5": "Text text",
"Priorita_O_a5fab": "TOP"
},
"items": [
{
"id": 1,
"priceListItem": null,
"name": "Nekategorizovaný produkt",
"description": null,
"price": 122,
"taxRate": 0,
"unit": "ks",
"discountPercent": 0,
"count": 1
}
],
"signatures": [
{
"id": 1,
"status": "Začínáme",
"docVersion": 7,
"signedBy": {
"id": 9,
"fullName": "Jan Novák"
},
"description": {
"totalAmount": 345,
"estimatedValue": 0,
"currency": "USD"
}
}
]
}
}
upravení OPPOST/api/v2/businessCase/{businessCaseId}/
Upravení dat obchodního případu
Example URI
- businessCaseId
Long
(required) Example: 123ID obchodniho pripadu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "test",
"company": 1,
"owner": 3,
"totalAmount": 123.5,
"estimatedValue": 11,
"probability": 80,
"validFrom": "2015-11-08",
"validTill": "2015-11-10",
"description": "test",
"businessCaseClassification1": 93,
"currency": 17,
"exchangeRate": 20,
"customFields": {
"Popis_prio_c49d5": ""
}
}
Schema
{
"type":"object",
"required":true,
"properties":{
"name": {
"type":"string",
"required":true,
"description": "[Předmět]"
},
"businessCasePhase": {
"type": long,
"required":false,
"description" : "[Stav] ID záznamu z číselníku BusinessCasePhase"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"company": {
"type":"long",
"required":true,
"description": "[Firma] ID firmy, pro kterou je obchodní případ vytvářen"
},
"person": {
"type":"long",
"required":false,
"description": "[Osoba] ID osoby zodpovědné za OP na straně klienta"
},
"project": {
"type":"long",
"required":false,
"description": "[Projekt] ID projektu na který má být OP připojen"
},
"totalAmount": {
"type":"number",
"required":false,
"description": "[Konečná cena] konečná cena OP"
},
"estimatedValue": {
"type":"number",
"required":false,
"description": "[Předpokládané náklady] předpokládané náklady na OP"
},
"probability": {
"type":"int",
"required":false,
"description": "[Pravděpodobnost] pravděpodobnost na úspěch OP"
},
"validFrom": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum otevřeno od"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Uzavřeno] datum uzavření OP"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
},
"currency": {
"type":"long",
"required":false,
"description": "[Měna] ID z áznamu z číselníku Currency"
},
"exchangeRate": {
"type":"number",
"required":false,
"description": "[Kurz] kurz pro přepočet na výchozí měnu CRM"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku BusinessCaseCategory"
},
"source": {
"type":"long",
"required":false,
"description" : "[Zdroj kontaktu] ID záznamu z číselníku ContactSource"
},
"businessCaseClassification1": {
"type":"long",
"required":false,
"description" : "[Klasifikace 1] ID záznamu z číselníku BusinessCaseClassification1"
},
"businessCaseClassification2": {
"type":"long",
"required":false,
"description" : "[Klasifikace 2] ID záznamu z číselníku BusinessCaseClassification2"
},
"businessCaseClassification3": {
"type":"long",
"required":false,
"description" : "[Klasifikace 3] ID záznamu z číselníku BusinessCaseClassification3"
},
"losingCategory": {
"type":"long",
"required":false,
"description": "[Kategorie prohry] ID záznamu z číselníku LosingCategory"
},
"losingReason": {
"type":"string",
"required":false,
"description": "[Důvod prohry]"
},
"scheduledEnd": {
"type":"date",
"required":false,
"description": "[Odhad uzavření]"
},
"tags": {
"type": "array",
"required": false,
"items" : {
"type": "string",
"required": true
}
},
"items": {
"type":"array",
"required":false,
"minItems" : 1,
"items": {
"type":"object",
"required":true,
"properties": {
"id": {
"type":"long",
"required":false,
"description": "[ID] ID položky, která se má upravit. Pokud není obsaženo, je založena nová položka"
},
"name": {
"type":"string",
"required":false,
"description": "[Položka] Název položky. Je vyžadováno, pokud se vkládá nová položka (id není zadáno)"
},
"productCode": {
"type":"string",
"required":false,
"description": "[Kód produktu] Je založena nová položka napojená na produkt se zadaným kódem"
},
"priceList": {
"type":"long",
"required":false,
"description": "[Ceník] V případě založení nové položky napojené na produkt lze vybrat i ceník
},
"price": {
"type":"number",
"required":false,
"description": "[Cena]"
},
"taxRate": {
"type":"number",
"required":false,
"description": "[Daň]"
},
"count": {
"type":"number",
"required":false,
"description": "[Množství]"
},
"unit": {
"type":"string",
"required":false,
"description": "[Jednotka]"
},
"discountPercent": {
"type":"number",
"required":false,
"description": "[Sleva %]"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
}
}
}
},
"customFields": {
"type": "object",
"required":false,
"properties" : {
"<customFieldKey>": {
"type":"number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required":false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
}
}
}
200
smazání OPDELETE/api/v2/businessCase/{businessCaseId}/
Example URI
- businessCaseId
Long
(required) Example: 123ID obchodní případy
Headers
X-Instance-Name: instanceName
200
Uzamčení OP ¶
uzamčení OPPOST/api/v2/businessCase/{businessCaseId}/lock
Uzamčení záznamu OP pro editaci.
Example URI
- businessCaseId
Long
(required) Example: 123ID obch. případu
Headers
X-Instance-Name: instanceName
200
Odemčení OP ¶
odemčení OPPOST/api/v2/businessCase/{businessCaseId}/unlock
Odemčení záznamu OP k editaci.
Example URI
- businessCaseId
Long
(required) Example: 123ID obch. případu
Headers
X-Instance-Name: instanceName
200
Zneplatnění OP ¶
zneplatnění OPPOST/api/v2/businessCase/{businessCaseId}/invalid
Zneplatnění záznamu OP.
Example URI
- businessCaseId
Long
(required) Example: 123ID obch. případu
Headers
X-Instance-Name: instanceName
200
Obnovit platnost OP ¶
obnovení platnosti OPPOST/api/v2/businessCase/{businessCaseId}/valid
Obnovení platnosti záznamu OP.
Example URI
- businessCaseId
Long
(required) Example: 123ID obch. případu
Headers
X-Instance-Name: instanceName
200
Export OP do PDF ¶
export OP do PDFGET/api/v2/businessCase/{businessCaseId}/pdfExport{?locale}
Export obchodního případu do PDF. Konkrétně dojde k vytvoření dočasného souboru v CRM uložišti. K obsahu tohoto souboru je pak možné přistoupit prostřednictvím API /exportBody (Více v sekci: Soubory / Stažení těla exportu).
https://app.raynet.cz/api/v2/businessCase/3/pdfExport
Example URI
- businessCaseId
Long
(required) Example: 123ID obch. případu
- locale
String
(optional) Example: enJazyk exportovaného obch. případu
Headers
X-Instance-Name: instanceName
200
Body
{
"uuid": "6775ac8cebd548e9b94a8ec99c30bab7",
"fileName": "OP-17-001.pdf",
"contentType": "application/octet-stream",
"accessToken": "d9b38352c39f4ca2b7d367cffe089d20",
"instanceName": "mojecrm"
}
Přidání položek OP ¶
přidání položek OPPUT/api/v2/businessCase/{businessCaseId}/item/
Přidání položek na OP. Položku je možno vytvořit dvojím způsobem: bez napojení na produkt (nekategorizovaný produkt) nebo položku s napojením na vybraný produkt. Pokud chci vytvořit napojenou položku, zadám do těla requestu parametr “product” (ID produktu) nebo “productCode” (kód produktu). Systém poté na zakladě zadané hodnoty produkt dohledá a na položku napojí. Pokud chci množinu produktů (pro dohledání) omezit pouze na nějaký konkrétní ceník, musím navíc zadat parametr “priceList” (ID vybraného ceníku). Pro nekategorizovaný produkt se žádný z výše uvedených parametrů nezadává, ale je potřeba vložit alespoň název produktu (“name”).
https://app.raynet.cz/api/v2/businessCase/1/item/
Example URI
- businessCaseId
Long
(required) Example: 123ID obchodního případu
Headers
X-Instance-Name: instanceName
Body
{
"productCode": "A001",
"priceList": 2,
"count": 2,
"price": 123,
"taxRate": 21,
"discountPercent": 10.5,
"cost": 10,
"description": "poznamka k produktu"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"productCode": {
"type": "string",
"required": false,
"description": "[Kód produktu] Na základě zadaného kódu se dohledá produkt. Položka OP se pak vytvoří s tímto produktem."
},
"product": {
"type": "number",
"required": false,
"description": "[ID produktu] Na základě zadaného ID se dohledá produkt. Položka OP se pak vytvoří s tímto produktem."
},
"priceList": {
"type": "number",
"required": false,
"description": "[ID ceníku] Vyhledávání produktu výše uvedenými kritérii bude omezeno pouze na zadaný ceník. Pokud není zadáno, vyhledává se ve výchozích (ne-ceníkových) produktech."
},
"name": {
"type": "string",
"required": true,
"description": "[Název] Povinná hodnota pouze pro nekategorizovaný produkt"
},
"price": {
"type": "number",
"required": false,
"description": "[Prodejní cena]"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Daň]"
},
"count": {
"type": "int",
"required": false,
"description": "[Množství]"
},
"discountPercent": {
"type": "number",
"required": false,
"description": "[Sleva]"
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklady] Náklad za kus"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka]"
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka]"
}
}
}
201
Položky OP ¶
upravení položky OPPOST/api/v2/businessCase/{businessCaseId}/item/{businessCaseItemId}/
Upravení položky na OP
https://app.raynet.cz/api/v2/businessCase/1/item/2/
Example URI
- businessCaseId
Long
(required) Example: 123ID obchodní případy
- businessCaseItemId
Long
(required) Example: 123ID položky obchodního případu
Headers
X-Instance-Name: instanceName
Body
{
"name": "produkt 1",
"price": 123,
"taxRate": 21,
"count": 2,
"discountPercent": 10.5,
"cost": 10,
"unit": "ks",
"description": "poznamka k produktu"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Název]"
},
"price": {
"type": "number",
"required": false,
"description": "[Prodejní cena]"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Daň]"
},
"count": {
"type": "int",
"required": false,
"description": "[Množství]"
},
"discountPercent": {
"type": "number",
"required": false,
"description": "[Sleva]"
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklady] Náklad za kus"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka]"
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka]"
}
}
}
200
smazání položky OPDELETE/api/v2/businessCase/{businessCaseId}/item/{businessCaseItemId}/
Smazání položky na OP
https://app.raynet.cz/api/v2/businessCase/1/item/2/
Example URI
- businessCaseId
Long
(required) Example: 123ID obchodní případy
- businessCaseItemId
Long
(required) Example: 123ID položky obchodního případu
Headers
X-Instance-Name: instanceName
200
Seznam participantů OP ¶
seznam participantů OPGET/api/v2/businessCase/{businessCaseId}/participants/{?offset,limit,sortColumn,sortDirection,note,company,company-name,person,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu participantů obchodního případu. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
Example URI
- businessCaseId
Long
(required) Example: 123ID obchodního případu
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: idChoices:
id
company.id
company.name
person.id
person.lastName
businessCase.id
businessCase.code
note
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- note
string
(optional) Example: note[LIKE]=Pozor%Filtrování participantů OP podle poznámky. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- company
string
(optional) Example: 3Filtrování participantů OP podle jednoznačného identifikátoru firmy (id). Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- company-name
number
(optional) Example: company-name[LIKE]=RAY%Filtrování participantů OP podle názvu firmy. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- person
string
(optional) Example: person[EQ]=3Filtrování participantů OP podle jednoznačného identifikátoru kontaktní osoby (id). Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování participantů OP podle data vytvoření participanta. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování participantů OP podle posledního data upravení participanta. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování OP podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 2,
"company": {
"id": 2,
"name": "a"
},
"person": {
"id": 5,
"fullName": "Magdaléna Pišlová"
},
"businessCase": {
"id": 4,
"code": "OP-17-001"
},
"note": "poznamka",
"rowInfo.createdAt": "2017-09-29 13:46",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": null,
"rowInfo.updatedBy": null,
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"_version": 0
}
]
}
Nový participant ¶
nový participantPUT/api/v2/businessCase/{businessCaseId}/participants/
Přidání nového participanta k obchodnímu případu s identifikátorem businessCaseId
. Je možné přidat buď klienta nebo osobu. V rámci volání API musí být obsažena právě jedna reference na klienta nebo osobu.
Example URI
- businessCaseId
Long
(required) Example: 123ID obchodního případu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"company": 1,
"note": "Poznámka k participantovi"
}
Schema
{
"type":"object",
"required":true,
"properties":{
"company": {
"type":"long",
"required":false,
"description": "[Klient] ID záznamu klienta"
},
"person": {
"type":"long",
"required":false,
"description": "[Osoba] ID záznamu osoby"
}
"note": {
"type":"string",
"required":false,
"description": "[Poznámka]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného participanta"
}
}
}
}
}
Smazání participanta ¶
smazání participantaDELETE/api/v2/businessCase/{businessCaseId}/participants/{participantId}
U obchodního případu s identifikátorem businessCaseId
bude smazán participant s identifikátorem participantId
.
Example URI
- businessCaseId
Long
(required) Example: 123ID obchodního případu
- participantId
Long
(required) Example: 321ID participanta
Headers
X-Instance-Name: instanceName
200
Changelog změn stavů OP ¶
changelog změn stavů OPGET/api/v2/businessCase/{businessCaseId}/phaseChanges
Výpis historie změn stavů obchodního případu.
Example URI
- businessCaseId
Long
(required) Example: 123ID obch. případu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"date": "2022-05-16 14:22",
"oldBusinessCasePhase": {
"id": 187,
"status": "B_ACTIVE",
"code01": "Inicializační jednání",
"color": "E9802F",
"phaseSequence": 3,
"phaseTotal": 7,
"businessCaseTypeId": 303,
"businessCaseTypeName": "Prodej"
},
"newBusinessCasePhase": {
"id": 192,
"status": "E_WIN",
"code01": "Výhra",
"color": null,
"phaseSequence": null,
"phaseTotal": null,
"businessCaseTypeId": null,
"businessCaseTypeName": null
},
"owner": {
"id": 89,
"fullNameWithoutTitles": "Dušan Gálik"
}
}
]
}
Nabídky ¶
API pro práci s nabídkami.
Seznam nabídek ¶
seznam nabídekGET/api/v2/offer/{?offset,limit,sortColumn,sortDirection,fulltext,name,code,company,person,businessCase,owner,expirationDate,validFrom,validTill,status,offerStatus,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,rowInfo.rowAccess,view}
Získání seznamu nabídek. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/offer/?offset=0&limit=1&name[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: nameChoices:
name
regNumber
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- code
string
(optional) Example: NAB-15-001Filtrování nabídek podle kódu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- name
string
(optional) Example: name[LIKE]=RAY%Filtrování nabídek podle jména. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- company
number
(optional) Example: 1Filtrování nabídek podle firmy. Filtruje se podle jednoznačného identifikátoru firmy (id)
- person
number
(optional) Example: 1Filtrování nabídek podle osoby. Filtruje se podle jednoznačného identifikátoru osoby (id)
- businessCase
number
(optional) Example: 1Filtrování nabídek podle obchodního případu nabídky. Filtruje se podle jednoznačného identifikátoru OP (id)
- owner
number
(optional) Example: 1Filtrování nabídek podle vlastníka (Person). Filtruje se podle jednoznačného identifikátoru vlastníka (id)
- expirationDate
string
(optional) Example: expirationDate[GT]=2014-06-01Filtrování nabídek podle data vypršení nabídky. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- validFrom
string
(optional) Example: validFrom[GT]=2014-06-01Filtrování nabídek podle data otevření. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- validTill
string
(optional) Example: validTill[GT]=2014-06-01Filtrování nabídek podle data otevření. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: E_WINFiltrování nabídek podle skupiny stavu. Lze využít operátoru
EQ
,NE
.B_ACTIVE
--otevřené nabídky,E_WIN
--vyhrané nabídky,F_LOST
--prohrané nabídky,G_STORNO
--stornované nabídkyChoices:
B_ACTIVE
E_WIN
F_LOST
G_STORNO
- offerStatus
number
(optional) Example: 21Filtrování nabídek podle stavu (OfferStatus). Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- containsProduct
number
(optional) Example: 21Filtrování nabídek podle produktu. Pokud záznam obsahuje zvolený produkt, bude zobrazen. Je nutné použít operátor
CUSTOM
- productCategory
number
(optional) Example: 21Filtrování nabídek podle kategorie produktu. Pokud záznam obsahuje produkt ve vybrané kategorii, bude zobrazen. Je nutné použít operátor
CUSTOM
a lze použít více hodnotproductCategory[CUSTOM]=1,2,3
- productLine
number
(optional) Example: 21Filtrování nabídek podle produktové řady produktu. Pokud záznam obsahuje produkt ve vybrané produktové řadě, bude zobrazen. Je nutné použít operátor
CUSTOM
a lze použít více hodnotproductLine[CUSTOM]=1,2,3
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování nabídek podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování nabídek podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování nabídek podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- rowInfo.rowAccess
string
(optional) Example: INVALIDFiltrování zneplatněných nabídek. Lze využít operátoru
EQ
,NE
,EQ_OR_NULL
,NE_OR_NULL
- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 115,
"code": "NAB-17-001",
"name": "První nabídka",
"company": {
"id": 1093,
"name": "Firma 1"
},
"person": null,
"businessCase": {
"id": 4,
"code": "OP-17-001"
},
"owner": {
"id": 11,
"fullName": "Ludmila Nováková"
},
"currency": {
"id": 15,
"value": "Kč"
},
"validFrom": "2015-01-19",
"validTill": "2015-01-21",
"expirationDate": "2015-08-21",
"totalAmount": 3797.01,
"estimatedValue": 0,
"status": "B_ACTIVE",
"offerStatus": {
"id": 45,
"value": "Příprava"
},
"category": {
"id": 96,
"value": "Obchod morava"
},
"rowInfo.createdAt": "2015-09-18 10:59",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": "2015-09-18 10:59",
"rowInfo.updatedBy": "konektor@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"description": "text",
"tags": [
"Štítek 1"
]
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nová nabídka ¶
nová nabídkaPUT/api/v2/offer/
Založení nové nabídky
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "test",
"company": 1,
"businessCase": 1,
"owner": 3,
"totalAmount": 123.5,
"estimatedValue": 11,
"validFrom": "2015-11-08",
"description": "test",
"offerStatus": 35
}
Schema
{
"type":"object",
"required":true,
"properties":{
"name": {
"type":"string",
"required":true,
"description": "[Předmět]"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"company": {
"type":"long",
"required":true,
"description": "[Firma] ID firmy, pro kterou je nabídka vytvářena"
},
"person": {
"type":"long",
"required":false,
"description": "[Osoba] ID zodp. osoby klienta pro kterou je nabídka vytvářena"
},
"businessCase": {
"type":"long",
"required":true,
"description": "[OP] ID obch. případu nabídky"
},
"totalAmount": {
"type":"number",
"required":false,
"description": "[Konečná cena] konečná cena nabídky"
},
"estimatedValue": {
"type":"number",
"required":false,
"description": "[Předpokládané náklady] předpokládané náklady v nabídce"
},
"validFrom": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum vytvoření nabídky"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum uzavření nabídky"
},
"expirationDate": {
"type":"date",
"required":false,
"description": "[Konec platnosti] konec platnosti nabídky"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku OfferCategory"
},
"offerStatus": {
"type":"long",
"required":false,
"description" : "[Stav] ID záznamu z OfferStatus. Pokud nebude vyplněno, založí se nabídka do prvního stavu."
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené nabídky"
}
}
}
}
}
Detail nabídky ¶
detail nabídkyGET/api/v2/offer/{offerId}/
Získání detailu nabídky. Pokud záznam nabídky obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/offerId/1/
Example URI
- offerId
Long
(required) Example: 123ID nabídky
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 115,
"code": "NAB-17-001",
"name": "První nabídka",
"company": {
"id": 1093,
"name": "Firma 1"
},
"person": null,
"businessCase": {
"id": 4,
"code": "OP-17-001"
},
"owner": {
"id": 11,
"fullName": "Ludmila Nováková"
},
"currency": {
"id": 15,
"value": "Kč"
},
"exchangeRate": 1,
"validFrom": "2015-01-19",
"validTill": "2015-01-21",
"expirationDate": "2015-08-21",
"totalAmount": 3797.01,
"estimatedValue": 0,
"status": "B_ACTIVE",
"offerStatus": {
"id": 45,
"value": "Příprava"
},
"category": {
"id": 96,
"value": "Obchod morava"
},
"rowInfo.createdAt": "2015-09-18 10:59",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": "2015-09-18 10:59",
"rowInfo.updatedBy": "konektor@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"description": "text",
"tags": [
"Štítek 1"
],
"attachments": [],
"customFields": {
"Popis_prio_c49d5": "Text text",
"Priorita_O_a5fab": "TOP"
},
"items": [
{
"id": 1,
"priceListItem": null,
"name": "Nekategorizovaný produkt",
"description": null,
"price": 122,
"taxRate": 0,
"unit": "ks",
"discountPercent": 0,
"count": 1
}
],
"signatures": [
{
"id": 1,
"status": "Zamítnuta",
"docVersion": 7,
"signedBy": {
"id": 9,
"fullName": "Jan Novák"
},
"description": {
"totalAmount": 345,
"estimatedValue": 0,
"currency": "USD"
}
}
]
}
}
upravení nabídkyPOST/api/v2/offer/{offerId}/
Upravení dat nabídky.
Example URI
- offerId
Long
(required) Example: 123ID nabídky
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "test",
"company": 1,
"businessCase": 1,
"owner": 3,
"totalAmount": 123.5,
"estimatedValue": 11,
"validFrom": "2015-11-08",
"description": "test",
"customFields": {
"Popis_prio_c49d5": ""
}
}
Schema
{
"type":"object",
"required":true,
"properties":{
"name": {
"type":"string",
"required":true,
"description": "[Předmět]"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"company": {
"type":"long",
"required":true,
"description": "[Firma] ID firmy, pro kterou je nabídka vytvářena"
},
"person": {
"type":"long",
"required":false,
"description": "[Osoba] ID zodp. osoby klienta pro kterou je nabídka vytvářena"
},
"businessCase": {
"type":"long",
"required":true,
"description": "[OP] ID obch. případu nabídky"
},
"totalAmount": {
"type":"number",
"required":false,
"description": "[Konečná cena] konečná cena nabídky"
},
"estimatedValue": {
"type":"number",
"required":false,
"description": "[Předpokládané náklady] předpokládané náklady v nabídce"
},
"validFrom": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum vytvoření nabídky"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum uzavření nabídky"
},
"expirationDate": {
"type":"date",
"required":false,
"description": "[Konec platnosti] konec platnosti nabídky"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku OfferCategory"
},
"items": {
"type":"array",
"required":false,
"minItems" : 1,
"items": {
"type":"object",
"required":true,
"properties": {
"id": {
"type":"long",
"required":false,
"description": "[ID] ID položky, která se má upravit. Pokud není obsaženo, je založena nová položka"
},
"name": {
"type":"string",
"required":false,
"description": "[Položka] Název položky. Je vyžadováno, pokud se vkládá nová položka (id není zadáno)"
},
"productCode": {
"type":"string",
"required":false,
"description": "[Kód produktu] Je založena nová položka napojená na produkt se zadaným kódem"
},
"priceList": {
"type":"long",
"required":false,
"description": "[Ceník] V případě založení nové položky napojené na produkt lze vybrat i ceník
},
"price": {
"type":"number",
"required":false,
"description": "[Cena]"
},
"taxRate": {
"type":"number",
"required":false,
"description": "[Daň]"
},
"count": {
"type":"number",
"required":false,
"description": "[Množství]"
},
"unit": {
"type":"string",
"required":false,
"description": "[Jednotka]"
},
"discountPercent": {
"type":"number",
"required":false,
"description": "[Sleva %]"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
}
}
}
},
"customFields" : {
"type": "object",
"required":false,
"properties" : {
"<customFieldKey>": {
"type":"number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required":false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
}
}
}
200
smazání nabídkyDELETE/api/v2/offer/{offerId}/
Example URI
- offerId
Long
(required) Example: 123ID nabídky
Headers
X-Instance-Name: instanceName
200
Uzamčení nabídky ¶
uzamčení nabídkyPOST/api/v2/offer/{offerId}/lock
Uzamčení záznamu nabídky pro editaci.
Example URI
- offerId
Long
(required) Example: 123ID nabídky
Headers
X-Instance-Name: instanceName
200
Odemčení nabídky ¶
odemčení nabídkyPOST/api/v2/offer/{offerId}/unlock
Odemčení záznamu nabídky k editaci.
Example URI
- offerId
Long
(required) Example: 123ID nabídky
Headers
X-Instance-Name: instanceName
200
Zneplatnění nabídky ¶
zneplatnění nabídkyPOST/api/v2/offer/{offerId}/invalid
Zneplatnění záznamu nabídky.
Example URI
- offerId
Long
(required) Example: 123ID nabídky
Headers
X-Instance-Name: instanceName
200
Obnovit platnost nabídky ¶
obnovení platnosti nabídkyPOST/api/v2/offer/{offerId}/valid
Obnovení platnosti záznamu nabídky.
Example URI
- offerId
Long
(required) Example: 123ID nabídky
Headers
X-Instance-Name: instanceName
200
Export nabídky do PDF ¶
export nabídky do PDFGET/api/v2/offer/{offerId}/pdfExport{?locale}
Export nabídky do PDF. Konkrétně dojde k vytvoření dočasného souboru v CRM uložišti. K obsahu tohoto souboru je pak možné přistoupit prostřednictvím API /exportBody (Více v sekci: Soubory / Stažení těla exportu).
https://app.raynet.cz/api/v2/offer/3/pdfExport
Example URI
- offerId
Long
(required) Example: 123ID nabídky
- locale
String
(optional) Example: enJazyk exportované nabídky
Headers
X-Instance-Name: instanceName
200
Body
{
"uuid": "6775ac8cebd548e9b94a8ec99c30bab7",
"fileName": "NAB-17-001.pdf",
"contentType": "application/octet-stream",
"accessToken": "d9b38352c39f4ca2b7d367cffe089d20",
"instanceName": "mojecrm"
}
Přidání položek nabídky ¶
přidání položek nabídkyPUT/api/v2/offer/{offerId}/item/
Přidání položek na nabídku. Položku je možno vytvořit dvojím způsobem: bez napojení na produkt (nekategorizovaný produkt) nebo položku s napojením na vybraný produkt. Pokud chci vytvořit napojenou položku, zadám do těla requestu parametr “product” (ID produktu) nebo “productCode” (kód produktu). Systém poté na zakladě zadané hodnoty produkt dohledá a na položku napojí. Pokud chci množinu produktů (pro dohledání) omezit pouze na nějaký konkrétní ceník, musím navíc zadat parametr “priceList” (ID vybraného ceníku). Pro nekategorizovaný produkt se žádný z výše uvedených parametrů nezadává, ale je potřeba vložit alespoň název produktu (“name”).
https://app.raynet.cz/api/v2/offerId/1/item/
Example URI
- offerId
Long
(required) Example: 123ID nabídky
Headers
X-Instance-Name: instanceName
Body
{
"productCode": "A001",
"priceList": 2,
"count": 2,
"price": 123,
"taxRate": 21,
"discountPercent": 10.5,
"cost": 10,
"description": "poznamka k produktu"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"productCode": {
"type": "string",
"required": false,
"description": "[Kód produktu] Na základě zadaného kódu se dohledá produkt. Položka OP se pak vytvoří s tímto produktem."
},
"product": {
"type": "number",
"required": false,
"description": "[ID produktu] Na základě zadaného ID se dohledá produkt. Položka OP se pak vytvoří s tímto produktem."
},
"priceList": {
"type": "number",
"required": false,
"description": "[ID ceníku] Vyhledávání produktu výše uvedenými kritérii bude omezeno pouze na zadaný ceník. Pokud není zadáno, vyhledává se ve výchozích (ne-ceníkových) produktech."
},
"name": {
"type": "string",
"required": true,
"description": "[Název] Povinná hodnota pouze pro nekategorizovaný produkt"
},
"price": {
"type": "number",
"required": false,
"description": "[Prodejní cena] "
},
"priceListItem": {
"type": "long",
"required": false,
"description": "[Položka ceníku] ID položky ceníku"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Daň] "
},
"count": {
"type": "int",
"required": false,
"description": "[Množství] "
},
"discountPercent": {
"type": "number",
"required": false,
"description": "[Sleva] "
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklady] Náklad za kus"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka] "
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka] "
}
}
}
201
Položky nabídky ¶
upravení položky nabídkyPOST/api/v2/offer/{offerId}/item/{offerItemId}/
Upravení položky na nabídce.
https://app.raynet.cz/api/v2/offer/1/item/2/
Example URI
- offerId
Long
(required) Example: 123ID nabídky
- offerItemId
Long
(required) Example: 123ID položky nabídky
Headers
X-Instance-Name: instanceName
Body
{
"name": "produkt 1",
"price": 123,
"taxRate": 21,
"count": 2,
"discountPercent": 10.5,
"cost": 10,
"unit": "ks",
"description": "poznamka k nabidce"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Název] "
},
"price": {
"type": "number",
"required": false,
"description": "[Prodejní cena] "
},
"priceListItem": {
"type": "long",
"required": false,
"description": "[Položka ceníku] ID položky ceníku"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Daň] "
},
"count": {
"type": "int",
"required": false,
"description": "[Množství] "
},
"discountPercent": {
"type": "number",
"required": false,
"description": "[Sleva] "
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklady] Náklad za kus"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka] "
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka] "
}
}
}
200
smazání položky nabídkyDELETE/api/v2/offer/{offerId}/item/{offerItemId}/
Smazání položky na nabídkce
https://app.raynet.cz/api/v2/offer/1/item/2/
Example URI
- offerId
Long
(required) Example: 123ID nabídky
- offerItemId
Long
(required) Example: 123ID položky nabídky
Headers
X-Instance-Name: instanceName
200
Synchronizace nabídky ¶
synchronizace nabídky s obchodním případemPOST/api/v2/offer/{offerId}/sync
Zapne synchronizaci dané nabídky s navázaným obchodním případem. Ukončí synchronizaci ostatních nabídek / objednávek, pokud je u nich zapnutá. Nakonec zaktualizuje položky obchodního případu tak, aby odpovídaly položkám zadané nabídky.
Example URI
- offerId
Long
(required) Example: 123ID nabídky
Headers
X-Instance-Name: instanceName
200
500
Headers
Content-Type: application/json
Body
{
"message": "TranslatedApplicationException",
"translatedMessage": "Nelze synchronizovat, protože obchodní případ je evidován v jiné měně."
}
zrušení synchronizace nabídky s obchodním případemDELETE/api/v2/offer/{offerId}/sync
Vypne synchronizaci dané nabídky s navázaným obchodním případem.
Example URI
- offerId
Long
(required) Example: 123ID nabídky
Headers
X-Instance-Name: instanceName
200
Objednávky ¶
API pro práci s objednávkami.
Seznam objednávek ¶
seznam objednávekGET/api/v2/salesOrder/{?offset,limit,sortColumn,sortDirection,fulltext,name,code,company,person,businessCase,owner,expirationDate,requestDeliveryDate,validFrom,validTill,status,salesOrderStatus,rowInfo.rowAccess,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu objednávek. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/salesOrder/?offset=0&limit=1&name[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: nameChoices:
name
regNumber
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- code
string
(optional) Example: OP-15-001Filtrování objednávek podle kódu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- name
string
(optional) Example: name[LIKE]=RAY%Filtrování objednávek podle jména. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- company
number
(optional) Example: 1Filtrování objednávek podle firmy. Filtruje se podle jednoznačného identifikátoru firmy (id)
- person
number
(optional) Example: 1Filtrování objednávek podle osoby. Filtruje se podle jednoznačného identifikátoru osoby (id)
- businessCase
number
(optional) Example: 1Filtrování objednávek podle obchodního případu objednávky. Filtruje se podle jednoznačného identifikátoru OP (id)
- owner
number
(optional) Example: 1Filtrování objednávek podle vlastníka (Person). Filtruje se podle jednoznačného identifikátoru vlastníka (id)
- expirationDate
string
(optional) Example: expirationDate[GT]=2014-06-01Filtrování objednávek podle data dodání. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- requestDeliveryDate
string
(optional) Example: requestDeliveryDate[GT]=2014-06-01Filtrování objednávek podle data vypršení objednávky. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- validFrom
string
(optional) Example: validFrom[GT]=2014-06-01Filtrování objednávek podle data otevření. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- validTill
string
(optional) Example: validTill[GT]=2014-06-01Filtrování objednávek podle data otevření. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: E_WINFiltrování OP podle skupiny stavu. Lze využít operátoru
EQ
,NE
.B_ACTIVE
--otevřené nabídky,E_WIN
--vyhrané nabídky,F_LOST
--prohrané nabídky,G_STORNO
--stornované nabídkyChoices:
B_ACTIVE
E_WIN
F_LOST
G_STORNO
- salesOrderStatus
number
(optional) Example: 21Filtrování objednávek podle stavu (SalesOrderStatus). Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- containsProduct
number
(optional) Example: 21Filtrování objednávek podle produktu. Pokud záznam obsahuje zvolený produkt, bude zobrazen. Je nutné použít operátor
CUSTOM
- productCategory
number
(optional) Example: 21Filtrování objednávek podle kategorie produktu. Pokud záznam obsahuje produkt ve vybrané kategorii, bude zobrazen. Je nutné použít operátor
CUSTOM
a lze použít více hodnotproductCategory[CUSTOM]=1,2,3
- productLine
number
(optional) Example: 21Filtrování objednávek podle produktové řady produktu. Pokud záznam obsahuje produkt ve vybrané produktové řadě, bude zobrazen. Je nutné použít operátor
CUSTOM
a lze použít více hodnotproductLine[CUSTOM]=1,2,3
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování objednávek podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování objednávek podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování objednávek podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- rowInfo.rowAccess
string
(optional) Example: INVALIDFiltrování zneplatněných objednávek. Lze využít operátoru
EQ
,NE
,EQ_OR_NULL
,NE_OR_NULL
- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 115,
"code": "OBJ-17-001",
"name": "První objednávka",
"company": {
"id": 1093,
"name": "Firma 1"
},
"person": null,
"businessCase": {
"id": 4,
"code": "OP-17-001"
},
"offer": {
"id": 8,
"code": "NAB-17-001"
},
"owner": {
"id": 11,
"fullName": "Ludmila Nováková"
},
"currency": {
"id": 15,
"value": "Kč"
},
"validFrom": "2015-01-19",
"validTill": "2015-01-21",
"expirationDate": "2015-08-21",
"requestDeliveryDate": "2015-09-21",
"totalAmount": 3797.01,
"estimatedValue": 0,
"status": "B_ACTIVE",
"salesOrderStatus": {
"id": 45,
"value": "Příprava"
},
"category": {
"id": 96,
"value": "Obchod morava"
},
"rowInfo.createdAt": "2015-09-18 10:59",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": "2015-09-18 10:59",
"rowInfo.updatedBy": "konektor@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"description": "text",
"tags": [
"Štítek 1"
]
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nová objednávka ¶
nová objednávkaPUT/api/v2/salesOrder/
Založení nové objednávky
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "test",
"company": 1,
"businessCase": 1,
"offer": 4,
"owner": 3,
"totalAmount": 123.5,
"estimatedValue": 11,
"validFrom": "2015-11-08",
"description": "test",
"salesOrderStatus": 74
}
Schema
{
"type":"object",
"required":true,
"properties":{
"name": {
"type":"string",
"required":true,
"description": "[Předmět]"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"company": {
"type":"long",
"required":true,
"description": "[Firma] ID firmy, pro kterou je objednávka vytvářena"
},
"person": {
"type":"long",
"required":false,
"description": "[Osoba] ID osoby zodpovědné za OP na straně klienta"
},
"businessCase": {
"type":"long",
"required":true,
"description": "[OP] ID obch. případu objednávky"
},
"offer": {
"type":"long",
"required":false,
"description": "[OP] ID nabídky, na kterou je objednávka napojena"
},
"totalAmount": {
"type":"number",
"required":false,
"description": "[Konečná cena] konečná cena objednávky"
},
"estimatedValue": {
"type":"number",
"required":false,
"description": "[Předpokládané náklady] předpokládané náklady v nabídce"
},
"validFrom": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum vytvoření objednávky"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum uzavření objednávky"
},
"expirationDate": {
"type":"date",
"required":false,
"description": "[Konec platnosti] konec platnosti objednávky"
},
"requestDeliveryDate": {
"type":"date",
"required":false,
"description": "[Dodat do] datum dodání"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku SalesOrderCategory"
},
"salesOrderStatus": {
"type":"long",
"required":false,
"description" : "[Stav] ID záznamu z SalesOrderStatus. Pokud nebude vyplněno, založí se objednávka do prvního stavu."
},
"deliveryAddress": {
"type":"object",
"required":false,
"description" : "[Dodací adresa]",
"properties":{
"name": {
"type":"string",
"required":false,
"description": "[Název]"
},
"street": {
"type":"string",
"required":false,
"description": "[Ulice]"
},
"city": {
"type":"string",
"required":false,
"description": "[Město]"
},
"province": {
"type":"string",
"required":false,
"description": "[Kraj]"
},
"zipCode": {
"type":"string",
"required":false,
"description": "[PSČ]"
},
"countryCode": {
"type":"string",
"required":false,
"description": "[Kód Země]"
}
},
"invoiceAddress": {
"type":"object",
"required":false,
"description" : "[Fakturační adresa]",
"properties":{
"name": {
"type":"string",
"required":false,
"description": "[Název]"
},
"street": {
"type":"string",
"required":false,
"description": "[Ulice]"
},
"city": {
"type":"string",
"required":false,
"description": "[Město]"
},
"province": {
"type":"string",
"required":false,
"description": "[Kraj]"
},
"zipCode": {
"type":"string",
"required":false,
"description": "[PSČ]"
},
"countryCode": {
"type":"string",
"required":false,
"description": "[Kód Země]"
}
}
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené objednávky"
}
}
}
}
}
Detail objednávky ¶
detail objednávkyGET/api/v2/salesOrder/{salesOrderId}/
Získání detailu objednávky. Pokud záznam objednávky obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/salesOrder/1/
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 115,
"code": "OBJ-17-001",
"name": "První objednávka",
"company": {
"id": 1093,
"name": "Firma 1"
},
"person": null,
"businessCase": {
"id": 4,
"code": "OP-17-001"
},
"offer": {
"id": 8,
"code": "NAB-17-001"
},
"owner": {
"id": 11,
"fullName": "Ludmila Nováková"
},
"currency": {
"id": 15,
"value": "Kč"
},
"exchangeRate": 1,
"validFrom": "2015-01-19",
"validTill": "2015-01-21",
"expirationDate": "2015-08-21",
"requestDeliveryDate": "2015-09-21",
"totalAmount": 3797.01,
"estimatedValue": 0,
"status": "B_ACTIVE",
"salesOrderStatus": {
"id": 45,
"value": "Příprava"
},
"category": {
"id": 96,
"value": "Obchod morava"
},
"rowInfo.createdAt": "2015-09-18 10:59",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": "2015-09-18 10:59",
"rowInfo.updatedBy": "konektor@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"description": "text",
"deliveryAddress": {
"name": "RAYNET Praha s.r.o.",
"city": "Praha",
"country": "Česká republika",
"countryCode": "CZ",
"province": "Praha",
"street": "Albertov 2038/6",
"zipCode": "128 00"
},
"invoiceAddress": {
"name": "RAYNET s.r.o.",
"city": "Ostrava-Poruba",
"country": "Česká republika",
"countryCode": "CZ",
"province": "Moravskoslezský kraj",
"street": "Francouzská 6167/5",
"zipCode": "708 00"
},
"invoiceRegNumber": "26843820",
"invoiceTaxNumber": "CZ26843820",
"invoiceTaxNumber2": null,
"tags": [
"Štítek 1"
],
"attachments": [],
"customFields": {
"Popis_prio_c49d5": "Text text",
"Priorita_O_a5fab": "TOP"
},
"items": [
{
"id": 1,
"priceListItem": null,
"name": "Nekategorizovaný produkt",
"description": null,
"price": 122,
"taxRate": 0,
"unit": "ks",
"discountPercent": 0,
"count": 1
}
],
"signatures": [
{
"id": 1,
"status": "Akceptována",
"docVersion": 7,
"signedBy": {
"id": 9,
"fullName": "Jan Novák"
},
"description": {
"totalAmount": 345,
"estimatedValue": 0,
"currency": "USD"
}
}
]
}
}
upravení objednávkyPOST/api/v2/salesOrder/{salesOrderId}/
Upravení dat objednávky.
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "test",
"company": 1,
"businessCase": 1,
"offer": 4,
"owner": 3,
"totalAmount": 123.5,
"estimatedValue": 11,
"validFrom": "2015-11-08",
"description": "test",
"salesOrderStatus": 54,
"deliveryAddress": {
"name": "RAYNET Praha s.r.o.",
"city": "Praha",
"country": "CZ",
"province": "Praha",
"street": "Albertov 2038/6",
"zipCode": "128 00"
},
"invoiceAddress": {
"name": "RAYNET s.r.o.",
"city": "Ostrava-Poruba",
"country": "CZ",
"province": "Moravskoslezský kraj",
"street": "Francouzská 6167/5",
"zipCode": "708 00"
},
"customFields": {
"Popis_prio_c49d5": ""
}
}
Schema
{
"type":"object",
"required":true,
"properties":{
"name": {
"type":"string",
"required":true,
"description": "[Předmět]"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"company": {
"type":"long",
"required":true,
"description": "[Firma] ID firmy, pro kterou je objednávka vytvářena"
},
"person": {
"type":"long",
"required":false,
"description": "[Osoba] ID osoby zodpovědné za OP na straně klienta"
},
"businessCase": {
"type":"long",
"required":true,
"description": "[OP] ID obch. případu objednávky"
},
"offer": {
"type":"long",
"required":false,
"description": "[OP] ID nabídky, na kterou je objednávka napojena"
},
"totalAmount": {
"type":"number",
"required":false,
"description": "[Konečná cena] konečná cena objednávky"
},
"salesOrderStatus": {
"type":"number",
"required":false,
"description": "[Stav] ID stavu objednávky (z číselníku salesOrderStatus)"
},
"estimatedValue": {
"type":"number",
"required":false,
"description": "[Předpokládané náklady] předpokládané náklady v nabídce"
},
"validFrom": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum vytvoření objednávky"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum uzavření objednávky"
},
"expirationDate": {
"type":"date",
"required":false,
"description": "[Konec platnosti] konec platnosti objednávky"
},
"requestDeliveryDate": {
"type":"date",
"required":false,
"description": "[Dodat do] datum dodání"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku SalesOrderCategory"
},
"deliveryAddress": {
"type":"object",
"required":false,
"description" : "[Dodací adresa]",
"properties":{
"name": {
"type":"string",
"required":false,
"description": "[Název] Klienta / Dodací adresy"
},
"street": {
"type":"string",
"required":false,
"description": "[Ulice]"
},
"city": {
"type":"string",
"required":false,
"description": "[Město]"
},
"province": {
"type":"string",
"required":false,
"description": "[Kraj]"
},
"zipCode": {
"type":"string",
"required":false,
"description": "[PSČ]"
},
"country": {
"type":"string",
"required":false,
"description": "[Kód Země]"
}
}
},
"invoiceAddress": {
"type":"object",
"required":false,
"description" : "[Fakturační adresa]",
"properties":{
"name": {
"type":"string",
"required":false,
"description": "[Název] Klienta / Fakturační adresy"
},
"street": {
"type":"string",
"required":false,
"description": "[Ulice]"
},
"city": {
"type":"string",
"required":false,
"description": "[Město]"
},
"province": {
"type":"string",
"required":false,
"description": "[Kraj]"
},
"zipCode": {
"type":"string",
"required":false,
"description": "[PSČ]"
},
"country": {
"type":"string",
"required":false,
"description": "[Kód Země]"
}
}
},
"items": {
"type":"array",
"required":false,
"minItems" : 1,
"items": {
"type":"object",
"required":true,
"properties": {
"id": {
"type":"long",
"required":false,
"description": "[ID] ID položky, která se má upravit. Pokud není obsaženo, je založena nová položka"
},
"name": {
"type":"string",
"required":false,
"description": "[Položka] Název položky. Je vyžadováno, pokud se vkládá nová položka (id není zadáno)"
},
"productCode": {
"type":"string",
"required":false,
"description": "[Kód produktu] Je založena nová položka napojená na produkt se zadaným kódem"
},
"priceList": {
"type":"long",
"required":false,
"description": "[Ceník] V případě založení nové položky napojené na produkt lze vybrat i ceník
},
"price": {
"type":"number",
"required":false,
"description": "[Cena]"
},
"taxRate": {
"type":"number",
"required":false,
"description": "[Daň]"
},
"count": {
"type":"number",
"required":false,
"description": "[Množství]"
},
"unit": {
"type":"string",
"required":false,
"description": "[Jednotka]"
},
"discountPercent": {
"type":"number",
"required":false,
"description": "[Sleva %]"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
}
}
}
},
"customFields" : {
"type": "object",
"required":false,
"properties" : {
"<customFieldKey>": {
"type":"number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required":false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
}
}
}
200
smazání objednávkyDELETE/api/v2/salesOrder/{salesOrderId}/
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
Headers
X-Instance-Name: instanceName
200
Uzamčení objednávky ¶
uzamčení objednávkyPOST/api/v2/salesOrder/{salesOrderId}/lock
Uzamčení záznamu objednávky pro editaci.
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
Headers
X-Instance-Name: instanceName
200
Odemčení objednávky ¶
odemčení objednávkyPOST/api/v2/salesOrder/{salesOrderId}/unlock
Odemčení záznamu objednávky k editaci.
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
Headers
X-Instance-Name: instanceName
200
Zneplatnění objednávky ¶
zneplatnění objednávkyPOST/api/v2/salesOrder/{salesOrderId}/invalid
Zneplatnění záznamu objednávky.
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
Headers
X-Instance-Name: instanceName
200
Obnovit platnost objednávky ¶
obnovení platnosti objednávkyPOST/api/v2/salesOrder/{salesOrderId}/valid
Obnovení platnosti záznamu objednávky.
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
Headers
X-Instance-Name: instanceName
200
Export objednávky do PDF ¶
export objednávky do PDFGET/api/v2/salesOrder/{salesOrderId}/pdfExport{?locale}
Export objednávky do PDF. Konkrétně dojde k vytvoření dočasného souboru v CRM uložišti. K obsahu tohoto souboru je pak možné přistoupit prostřednictvím API /exportBody (Více v sekci: Soubory / Stažení těla exportu).
https://app.raynet.cz/api/v2/salesOrder/3/pdfExport
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
- locale
String
(optional) Example: enJazyk exportované objednávky
Headers
X-Instance-Name: instanceName
200
Body
{
"uuid": "6775ac8cebd548e9b94a8ec99c30bab7",
"fileName": "OBJ-17-001.pdf",
"contentType": "application/octet-stream",
"accessToken": "d9b38352c39f4ca2b7d367cffe089d20",
"instanceName": "mojecrm"
}
Přidání položek objednávky ¶
přidání položek objednávkyPUT/api/v2/salesOrder/{salesOrderId}/item/
Přidání položek na objednávku. Položku je možno vytvořit dvojím způsobem: bez napojení na produkt (nekategorizovaný produkt) nebo položku s napojením na vybraný produkt. Pokud chci vytvořit napojenou položku, zadám do těla requestu parametr “product” (ID produktu) nebo “productCode” (kód produktu). Systém poté na zakladě zadané hodnoty produkt dohledá a na položku napojí. Pokud chci množinu produktů (pro dohledání) omezit pouze na nějaký konkrétní ceník, musím navíc zadat parametr “priceList” (ID vybraného ceníku). Pro nekategorizovaný produkt se žádný z výše uvedených parametrů nezadává, ale je potřeba vložit alespoň název produktu (“name”).
https://app.raynet.cz/api/v2/salesOrder/1/item/
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
Headers
X-Instance-Name: instanceName
Body
{
"productCode": "A001",
"priceList": 2,
"count": 2,
"price": 123,
"taxRate": 21,
"discountPercent": 10.5,
"cost": 10,
"description": "poznamka k produktu"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"productCode": {
"type": "string",
"required": false,
"description": "[Kód produktu] Na základě zadaného kódu se dohledá produkt. Položka OP se pak vytvoří s tímto produktem."
},
"product": {
"type": "number",
"required": false,
"description": "[ID produktu] Na základě zadaného ID se dohledá produkt. Položka OP se pak vytvoří s tímto produktem."
},
"priceList": {
"type": "number",
"required": false,
"description": "[ID ceníku] Vyhledávání produktu výše uvedenými kritérii bude omezeno pouze na zadaný ceník. Pokud není zadáno, vyhledává se ve výchozích (ne-ceníkových) produktech."
},
"name": {
"type": "string",
"required": true,
"description": "[Název] Povinná hodnota pouze pro nekategorizovaný produkt"
},
"price": {
"type": "number",
"required": false,
"description": "[Prodejní cena] "
},
"priceListItem": {
"type": "long",
"required": false,
"description": "[Položka ceníku] ID položky ceníku"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Daň] "
},
"count": {
"type": "int",
"required": false,
"description": "[Množství] "
},
"discountPercent": {
"type": "number",
"required": false,
"description": "[Sleva] "
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklady] Náklad za kus"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka] "
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka] "
}
}
}
201
Položky objednávky ¶
upravení položky objednávkyPOST/api/v2/salesOrder/{salesOrderId}/item/{salesOrderItemId}/
Upravení položky na nabídce.
https://app.raynet.cz/api/v2/salesOrder/1/item/2/
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
- salesOrderItemId
Long
(required) Example: 123ID položky objednávky
Headers
X-Instance-Name: instanceName
Body
{
"name": "produkt 1",
"price": 123,
"taxRate": 21,
"count": 2,
"discountPercent": 10.5,
"cost": 10,
"unit": "ks",
"description": "poznamka k produktu"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Název] "
},
"price": {
"type": "number",
"required": false,
"description": "[Prodejní cena] "
},
"priceListItem": {
"type": "long",
"required": false,
"description": "[Položka ceníku] ID položky ceníku"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Daň] "
},
"count": {
"type": "int",
"required": false,
"description": "[Množství] "
},
"discountPercent": {
"type": "number",
"required": false,
"description": "[Sleva] "
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklady] Náklad za kus"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka] "
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka] "
}
}
}
200
smazání položky objednávkyDELETE/api/v2/salesOrder/{salesOrderId}/item/{salesOrderItemId}/
Smazání položky na nabídkce
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
- salesOrderItemId
Long
(required) Example: 123ID položky objednávky
Headers
X-Instance-Name: instanceName
200
Synchronizace objednávky ¶
synchronizace objednávky s obchodním případemPOST/api/v2/salesOrder/{salesOrderId}/sync
Zapne synchronizaci dané objednávky s navázaným obchodním případem. Ukončí synchronizaci ostatních nabídek / objednávek, pokud je u nich zapnutá. Nakonec zaktualizuje položky obchodního případu tak, aby odpovídaly položkám zadané objednávky.
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
Headers
X-Instance-Name: instanceName
200
500
Headers
Content-Type: application/json
Body
{
"message": "TranslatedApplicationException",
"translatedMessage": "Nelze synchronizovat, protože obchodní případ je evidován v jiné měně."
}
zrušení synchronizace objednávky s obchodním případemDELETE/api/v2/salesOrder/{salesOrderId}/sync
Vypne synchronizaci dané objednávky s navázaným obchodním případem.
Example URI
- salesOrderId
Long
(required) Example: 123ID objednávky
Headers
X-Instance-Name: instanceName
200
Projekty ¶
API pro práci s projekty.
Seznam projektů ¶
seznam projektůGET/api/v2/project/{?offset,limit,sortColumn,sortDirection,fulltext,name,company,code,projectStatus,category,owner,validFrom,validTill,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,rowInfo.rowAccess,view}
Získání seznamu projektů. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/project/?offset=0&limit=1&name[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: nameChoices:
name
regNumber
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- code
string
(optional) Example: PRO-15-001Filtrování projektu podle kódu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- name
string
(optional) Example: name[LIKE]=RAY%Filtrování projektu podle jména. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- company
number
(optional) Example: 1Filtrování projektu podle firmy. Filtruje se podle jednoznačného identifikátoru firmy (id)
- projectStatus
number
(optional) Example: 1Filtrování projektu podle stavu (ProjectStatus). Filtruje se podle jednoznačného identifikátoru stavu (id)
- category
number
(optional) Example: 1Filtrování projektu podle kategorie (ProjectCategory). Filtruje se podle jednoznačného identifikátoru kategorie (id)
- owner
number
(optional) Example: 1Filtrování projektu podle vlastníka (Person). Filtruje se podle jednoznačného identifikátoru vlastníka (id)
- validFrom
string
(optional) Example: 2014-06-01Filtrování projektu podle data otevření. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- validTill
string
(optional) Example: 2014-06-01Filtrování projektu podle data uzavření. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování projektu podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování projektu podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování projektu podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- rowInfo.rowAccess
string
(optional) Example: INVALIDFiltrování zneplatněných projektů. Lze využít operátoru
EQ
,NE
,EQ_OR_NULL
,NE_OR_NULL
- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
id": 8,
"code": "PRO-18-003",
"name": "Testovací projekt",
"company": {
"id": 4,
"name": "Extra company a.s."
},
"person": {
"id": 9,
"fullName": "Ing. Milan Buldog"
},
"owner": {
"id": 2,
"fullName": "Petr Svetr"
},
"category": {
"id": 128,
"value": "Výroba"
},
"totalAmount": 340,
"tradingProfit": 0,
"estimatedValue": 0,
"avgValue.totalAmount": 340,
"avgValue.tradingProfit": 0,
"avgValue.estimatedValue": 0,
"minValue.totalAmount": 340,
"minValue.tradingProfit": 0,
"minValue.estimatedValue": 0,
"maxValue.totalAmount": 340,
"maxValue.tradingProfit": 0,
"maxValue.estimatedValue": 0,
"status": "D_DONE",
"projectStatus": {
"id": 60,
"value": "Hotovo"
},
"validFrom": "2018-02-21",
"validTill": "2018-04-17",
"scheduledEnd": "2018-04-29",
"customFields": null,
"rowInfo.createdAt": "2018-04-17 14:47",
"rowInfo.createdBy": "svetr@raynet.cz",
"rowInfo.updatedAt": "2018-04-18 16:03",
"rowInfo.updatedBy": "svetr@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"description": "Poznámka",
"tags":["Štítek1"],
"_version": 5
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nový projekt ¶
nový projektPUT/api/v2/project/
Založení nového projektu
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "Testovací projekt nový",
"company": 4,
"person": 9,
"owner": 2,
"totalAmount": 34700,
"avgValue.totalAmount": 34700,
"minValue.totalAmount": 34700,
"maxValue.totalAmount": 34700,
"validFrom": "2018-02-21",
"scheduledEnd": "2018-04-29",
"projectStatus": 45,
"description": "Poznámka nová",
"tags": [
"Štítek1",
"Štítek2"
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type": "long",
"required": false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"company": {
"type": "long",
"required": true,
"description": "[Firma] ID firmy, pro kterou je projekt vytvářen"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby zodpovědné za projekt na straně klienta"
},
"totalAmount": {
"type": "number",
"required": false,
"description": "[Konečná cena] konečná cena projektu"
},
"avgValue.totalAmount": {
"type": "number",
"required": false,
"description": "[Průměrná hodnota] průměrná hodnota projektu"
},
"minValue.totalAmount": {
"type": "number",
"required": false,
"description": "[Minimální hodnota] minimální hodnota projektu"
},
"maxValue.totalAmount": {
"type": "number",
"required": false,
"description": "[Maximální hodnota] maximální hodnota projektu"
},
"validFrom": {
"type": "date",
"required": false,
"description": "[Otevřeno od] datum otevřeno od"
},
"validTill": {
"type": "date",
"required": false,
"description": "[Uzavřeno] datum uzavření projektu"
},
"scheduledEnd": {
"type": "date",
"required": false,
"description": "[Plánované ukončení] datum plánovaného ukončení projektu"
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ProjectCategory"
},
"projectStatus": {
"type": "long",
"required": false,
"description": "[Stav] ID záznamu z ProjectStatus. Pokud nebude vyplněno, založí se projekt do prvního stavu."
},
"tags": {
"type": "array",
"required": false,
"items": {
"type": "string",
"required": true
}
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného projektu"
}
}
}
}
}
Detail projektu ¶
detail projektuGET/api/v2/project/{projectId}/
Získání detailu projektu. Pokud záznam projektu obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/project/1/
Example URI
- projectId
Long
(required) Example: 123ID projektu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 7,
"code": "PRO-18-002",
"name": "Testovací projekt",
"company": {
"id": 4,
"name": "Extra company a.s."
},
"person": {
"id": 9,
"fullName": "Ing. Milan Buldog"
},
"owner": {
"id": 2,
"fullName": "Petr Svetr"
},
"category": {
"id": 128,
"value": "Výroba"
},
"totalAmount": 34798,
"tradingProfit": 22734,
"estimatedValue": 12064,
"avgValue.totalAmount": 34798,
"avgValue.tradingProfit": 22734,
"avgValue.estimatedValue": 12064,
"minValue.totalAmount": 34798,
"minValue.tradingProfit": 22734,
"minValue.estimatedValue": 12064,
"maxValue.totalAmount": 34798,
"maxValue.tradingProfit": 22734,
"maxValue.estimatedValue": 12064,
"status": "B_ACTIVE",
"projectStatus": {
"id": 59,
"value": "Aktivní (v běhu)"
},
"validFrom": "2018-02-20",
"validTill": null,
"scheduledEnd": "2018-04-28",
"customFields": null,
"rowInfo.createdAt": "2018-02-20 09:09",
"rowInfo.createdBy": "svetr@raynet.cz",
"rowInfo.updatedAt": "2018-04-19 09:02",
"rowInfo.updatedBy": "svetr@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"description": "Poznámka",
"tags": [],
"attachments": [
{
"id": 1,
"link": null,
"linkName": null,
"file": {
"id": 12,
"contentType": "image/jpeg",
"fileName": "header04.jpg",
"size": 426507
},
"folder": null
}
],
"businessCases": [
{
"id": 8,
"code": "OP-18-005",
"company": {
"id": 4,
"name": "Extra company a.s."
},
"person": null,
"owner": {
"id": 2,
"fullName": "Petr Svetr"
},
"currency": {
"id": 19,
"value": "Kč"
},
"validFrom": "2018-04-05",
"validTill": null,
"scheduledEnd": null,
"totalAmount": 34798,
"tradingProfit": 22734,
"estimatedValue": 12064,
"status": "B_ACTIVE",
"probability": 20,
"businessCasePhase": {
"id": 43,
"value": "Začínáme"
}
}
],
"signatures": [
{
"id": 1,
"status": "Aktivní (v běhu)",
"docVersion": 7,
"signedBy": {
"id": 9,
"fullName": "Jan Novák"
},
"description": {
"totalAmount": 0,
"estimatedValue": 500,
"minTotalAmount": 0,
"avgTotalAmount": 0,
"avgEstimatedValue": 500,
"maxEstimatedValue": 500,
"maxTotalAmount": 0,
"minEstimatedValue": 500,
"currency": "Kč"
}
}
],
"_version": 6
}
}
upravení projektuPOST/api/v2/project/{projectId}/
Upravení dat projektu
Example URI
- projectId
Long
(required) Example: 123ID projektu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "Testovací projekt upravený",
"company": 4,
"person": 9,
"owner": 2,
"totalAmount": 34700,
"avgValue.totalAmount": 34700,
"minValue.totalAmount": 34700,
"maxValue.totalAmount": 34700,
"projectStatus": 60,
"validFrom": "2018-02-21",
"scheduledEnd": "2018-04-29",
"description": "Poznámka lehce upravená"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"projectStatus": {
"type": long,
"required": false,
"description" : "[Stav] ID záznamu z číselníku ProjectStatus"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type": "long",
"required": false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"company": {
"type": "long",
"required": true,
"description": "[Firma] ID firmy, pro kterou je projekt vytvářen"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby zodpovědné za projekt na straně klienta"
},
"totalAmount": {
"type": "number",
"required": false,
"description": "[Konečná cena] konečná cena projektu"
},
"avgValue.totalAmount": {
"type": "number",
"required": false,
"description": "[Průměrná hodnota] průměrná hodnota projektu"
},
"minValue.totalAmount": {
"type": "number",
"required": false,
"description": "[Minimální hodnota] minimální hodnota projektu"
},
"maxValue.totalAmount": {
"type": "number",
"required": false,
"description": "[Maximální hodnota] maximální hodnota projektu"
},
"validFrom": {
"type": "date",
"required": false,
"description": "[Otevřeno od] datum otevřeno od"
},
"validTill": {
"type": "date",
"required": false,
"description": "[Uzavřeno] datum uzavření projektu"
},
"scheduledEnd": {
"type": "date",
"required": false,
"description": "[Plánované ukončení] datum plánovaného ukončení projektu"
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka]"
},
"category": {
"type": "long",
"required": false,
"description" : "[Kategorie] ID záznamu z číselníku ProjectCategory"
},
"tags": {
"type": "array",
"required": false,
"items" : {
"type": "string",
"required": true
}
},
"customFields": {
"type": "object",
"required": false,
"properties" : {
"<customFieldKey>": {
"type":"number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required":false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
}
}
}
200
smazání projektuDELETE/api/v2/project/{projectId}/
Example URI
- projectId
Long
(required) Example: 123ID projektu
Headers
X-Instance-Name: instanceName
200
Uzamčení projektu ¶
uzamčení projektuPOST/api/v2/project/{projectId}/lock
Uzamčení záznamu projektu pro editaci.
Example URI
- projectId
Long
(required) Example: 123ID projektu
Headers
X-Instance-Name: instanceName
200
Odemčení projektu ¶
odemčení projektuPOST/api/v2/project/{projectId}/unlock
Odemčení záznamu projektu k editaci.
Example URI
- projectId
Long
(required) Example: 123ID projektu
Headers
X-Instance-Name: instanceName
200
Zneplatnění projektu ¶
zneplatnění projektuPOST/api/v2/project/{projectId}/invalid
Zneplatnění záznamu projektu.
Example URI
- projectId
Long
(required) Example: 123ID projektu
Headers
X-Instance-Name: instanceName
200
Obnovit platnost projektu ¶
obnovení platnosti projektuPOST/api/v2/project/{projectId}/valid
Obnovení platnosti záznamu projektu.
Example URI
- projectId
Long
(required) Example: 123ID projektu
Headers
X-Instance-Name: instanceName
200
Seznam participantů projektu ¶
seznam participantů projektuGET/api/v2/project/participants/{?offset,limit,sortColumn,sortDirection,note,company,company-name,person,view,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt}
Získání seznamu participantů projektu. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/project/4/participants/?offset=0&limit=1&company-name[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazení záznamu od začátku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: idChoices:
id
company.id
company.name
person.id
person.lastName
project.id
project.code
note
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- note
string
(optional) Example: note[LIKE]=Pozor%Filtrování participantů projektu podle poznámky. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- company
string
(optional) Example: company[EQ]=3Filtrování participantů projektu podle jednoznačného identifikátoru firmy (id). Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- company-name
number
(optional) Example: RAY%Filtrování participantů projektu podle názvu firmy. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- person
string
(optional) Example: 3Filtrování participantů projektu podle jednoznačného identifikátoru kontaktní osoby (id). Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování participantů projektu podle data vytvoření participanta. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování participantů projektu podle posledního data upravení participanta. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování projektu podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 2,
"company": {
"id": 2,
"name": "a"
},
"person": {
"id": 5,
"fullName": "Magdaléna Pišlová"
},
"project": {
"id": 4,
"code": "PRO-17-001"
},
"note": "poznamka",
"rowInfo.createdAt": "2017-09-29 13:46",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": null,
"rowInfo.updatedBy": null,
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"_version": 0
}
]
}
Nový participant ¶
nový participantPUT/api/v2/project/{projectId}/participants/
Přidání nového participanta k projektu s identifikátorem projectId
. Je možné přidat buď klienta nebo osobu. V rámci volání API musí být obsažena právě jedna reference na klienta nebo osobu.
Example URI
- projectId
Long
(required) Example: 123ID projektu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"company": 1,
"note": "Poznámka k participantovi"
}
Schema
{
"type":"object",
"required":true,
"properties":{
"company": {
"type":"long",
"required":false,
"description": "[Klient] ID záznamu klienta"
},
"person": {
"type":"long",
"required":false,
"description": "[Osoba] ID záznamu osoby"
}
"note": {
"type":"string",
"required":false,
"description": "[Poznámka]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného participanta"
}
}
}
}
}
Smazání participanta ¶
smazání participantaDELETE/api/v2/project/{projectId}/participants/{participantId}
U projektu s identifikátorem projectId
bude smazán participant s identifikátorem participantId
.
Example URI
- projectId
Long
(required) Example: 123ID projektu
- participantId
Long
(required) Example: 321ID participanta
Headers
X-Instance-Name: instanceName
200
Produkt ¶
API pro práci s produkty.
Seznam produktů ¶
seznam produktůGET/api/v2/product/{?offset,limit,sortColumn,sortDirection,fulltext,name,unit,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
https://app.raynet.cz/api/v2/product/?offset=0&limit=1&name[LIKE]=Jan%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených firem je
1000
- sortColumn
string
(optional) Example: nameChoices:
name
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- name
string
(optional) Example: name[LIKE_NOCASE]=Licence%Filtrování produktů podle názvu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- unit
string
(optional) Example: unit=ksFiltrování prodktů podle jednotky. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování prodktů podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování prodktů podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování produktů podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 13,
"data": [
{
"id": 1,
"code": "Produkt-001",
"name": "Název produktu",
"description": null,
"taxRate": 21,
"category": null,
"primaryPriceListItem": {
"id": 1,
"price": 500,
"priceList": {
"id": 1,
"currency": "CZK"
}
},
"productLine": {
"id": 355,
"value": "Pruktová řada 10"
},
"unit": null,
"cost": 0,
"validFrom": "2011-11-03",
"validTill": null,
"rowInfo.createdAt": "2011-11-03 11:28",
"rowInfo.createdBy": "admin@firma.cz",
"rowInfo.updatedAt": "2015-05-14 11:59",
"rowInfo.updatedBy": "admin@firma.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"tags": [
]
}
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nový produkt ¶
založení nového produktuPUT/api/v2/product/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code": "007",
"name": "produkt 007",
"unit": "ks",
"description": "popis produktu",
"taxRate": 21,
"category": 791,
"productLine": 206,
"cost": 1000,
"price": 1500,
"tags": [
"tag 1",
"tag 2"
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code": {
"type": "string",
"required": true,
"unique": true,
"description": "[Kód]"
},
"name": {
"type": "string",
"required": true,
"description": "[Název]"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka]"
},
"description": {
"type": "string",
"required": false,
"description": "[Popis]"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Sazba DPH]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ProductCategory"
},
"productLine": {
"type": "long",
"required": false,
"description": "[Produktová řada] ID záznamu z číselníku ProductLine"
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklad]"
},
"price": {
"type": "number",
"required": false,
"description": "[Standardní cena]"
},
"tags": {
"type": "array",
"required": false,
"items": {
"type": "string",
"required": true
}
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného produktu"
}
}
}
}
}
Detail produktu ¶
detail produktuGET/api/v2/product/{productId}/
Získání detailu produktu. Pokud záznam produktu obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/product/3/
Example URI
- productId
Long
(required) Example: 123ID produktu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 75,
"code": "007",
"name": "produkt 007",
"description": "popis produktu",
"taxRate": 21,
"category": {
"id": 791,
"value": "Náklady"
},
"primaryPriceListItem": {
"id": 249,
"price": 1500,
"priceList": {
"id": 1,
"currency": "CZK"
}
},
"productLine": {
"id": 206,
"value": "fabie I"
},
"unit": "ks",
"cost": 1000,
"validFrom": "2016-04-01",
"validTill": null,
"rowInfo.createdAt": "2016-01-01 13:07",
"rowInfo.createdBy": "admin@firma.cz",
"rowInfo.updatedAt": "2016-01-01 13:07",
"rowInfo.updatedBy": "admin@firma.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"tags": [
"tag 1",
"tag 2"
],
"photo": null,
"_version": 1,
"attachments": [],
"customFields": {
"Vaha_(g)_80307": 10
}
}
}
upravení produktuPOST/api/v2/product/{productId}/
Upravení dat produktu
Example URI
- productId
Long
(required) Example: 123ID produktu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code": "007",
"name": "produkt 007",
"unit": "ks",
"description": "popis produktu",
"taxRate": 21,
"category": 791,
"productLine": 206,
"cost": 1000,
"price": 1500,
"tags": [
"tag 1",
"tag 2"
],
"customFields": {
"Vaha_(g)_80307": 25
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code": {
"type": "string",
"required": true,
"unique": true,
"description": "[Kód]"
},
"name": {
"type": "string",
"required": true,
"description": "[Název]"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka]"
},
"description": {
"type": "string",
"required": false,
"description": "[Popis]"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Sazba DPH]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ProductCategory"
},
"productLine": {
"type": "long",
"required": false,
"description": "[Produktová řada] ID záznamu z číselníku ProductLine"
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklad]"
},
"price": {
"type": "number",
"required": false,
"description": "[Standardní cena]"
},
"tags": {
"type": "array",
"required": false,
"items": {
"type": "string",
"required": true
}
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
}
}
}
200
smazání produktuDELETE/api/v2/product/{productId}/
Example URI
- productId
Long
(required) Example: 123ID produktu
Headers
X-Instance-Name: instanceName
200
Zneplatnění produktu ¶
zneplatnění produktuPOST/api/v2/product/{productId}/invalid
Zneplatnění záznamu produktu.
Example URI
- productId
Long
(required) Example: 123ID produktu
Headers
X-Instance-Name: instanceName
200
Obnovit platnost produktu ¶
obnovení platnosti produktuPOST/api/v2/product/{productId}/valid
Obnovení platnosti záznamu produktu.
Example URI
- productId
Long
(required) Example: 123ID produktu
Headers
X-Instance-Name: instanceName
200
Ceníky ¶
API pro práci s ceníky.
Seznam ceníků ¶
seznam ceníkůGET/api/v2/priceList/{?offset,limit,sortColumn,sortDirection,fulltext,code,primary,currency,validFrom,validTill,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu ceníků. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/priceList/?offset=0&limit=1&code[LIKE]=CEN-001%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených firem je
1000
- sortColumn
string
(optional) Example: nameChoices:
name
regNumber
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- code
string
(optional) Example: code[EQ]=CEN-001Filtrování ceníků podle kódu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- primary
string
(optional) Example: primary[EQ]=YESFiltrování ceníků podle příznaku, zda je ceník výchozí. Lze využít operátoru
EQ
,NE
- currency
number
(optional) Example: currency[EQ]=1Filtrování ceníků podle měny (Currency). Filtruje se podle jednoznačného identifikátoru měny (id)
- validFrom
string
(optional) Example: validFrom[GT]=2014-06-01Filtrování ceníků podle data platnosti. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- validTill
string
(optional) Example: validTill[GT]=2014-06-01Filtrování ceníků podle data platnosti. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování ceníků podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování ceníků podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování ceníků podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 2,
"category": null,
"code": "Cen-001",
"currency": {
"id": 16,
"value": "€"
},
"description": null,
"name": "Optimistický ceník pana ředitele",
"primary": false,
"validFrom": "2017-02-03",
"validTill": null,
"owner": {
"id": 2,
"fullName": "Igor Hnízdo"
},
"rowInfo.createdAt": "2017-02-03 10:02",
"rowInfo.createdBy": "admin@firma.cz",
"rowInfo.updatedAt": null,
"rowInfo.updatedBy": null,
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nový ceník ¶
nový ceníkPUT/api/v2/priceList/
Založení nového ceníku
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "Ceník ABC",
"code": "CEN-002",
"owner": 3,
"currency": 17,
"category": 13,
"validFrom": "2015-11-08",
"validTill": "2019-11-08",
"description": "Text text"
}
Schema
{
"type":"object",
"required":true,
"properties":{
"name": {
"type":"string",
"required":true,
"description": "[Název]"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"code": {
"type":"long",
"required":true,
"description": "[Kód]"
},
"currency": {
"type":"long",
"required":true,
"description": "[Měna] ID záznamu z číselníku Currency"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku PriceListCategory"
},
"validFrom": {
"type":"date",
"required":true,
"description": "[Otevřeno od] datum platnosti od"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Otevřeno od] datum platnosti do"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného ceníku"
}
}
}
}
}
Detail ceníku ¶
detail ceníkuGET/api/v2/priceList/{priceListId}/
Získání detailu ceníku.
https://app.raynet.cz/api/v2/priceList/1/
Example URI
- priceListId
Long
(required) Example: 123ID ceníku
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 3,
"category": {
"id": 103,
"value": "Ohoo"
},
"code": "CEN-002",
"currency": {
"id": 17,
"value": "$"
},
"description": "Text text",
"name": "Ceník ABC",
"primary": false,
"validFrom": "2015-11-08",
"validTill": "2019-11-08",
"owner": {
"id": 2,
"fullName": "Igor Hnízdo"
},
"rowInfo.createdAt": "2017-02-03 11:32",
"rowInfo.createdBy": "admin@firma.cz",
"rowInfo.updatedAt": "2017-02-03 11:41",
"rowInfo.updatedBy": "admin@firma.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"items": [
{
"id": 2,
"product": {
"id": 1,
"code": "007",
"name": "Pohovka rohová"
},
"price": 420.1344,
"rowInfo.createdAt": "2017-02-03 11:41",
"rowInfo.createdBy": "admin@firma.cz",
"rowInfo.updatedAt": null,
"rowInfo.updatedBy": null,
"rowInfo.rowAccess": null,
"rowInfo.rowState": null
}
]
}
}
upravení ceníkuPOST/api/v2/priceList/{priceListId}/
Upravení dat ceníku
Example URI
- priceListId
Long
(required) Example: 123ID ceníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "Ceník ABC",
"code": "CEN-002",
"owner": 3,
"currency": 17,
"category": 13,
"validFrom": "2015-11-08",
"validTill": "2019-11-08",
"description": "Text text"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Název]"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type": "long",
"required": false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"code": {
"type": "long",
"required": true,
"description": "[Kód]"
},
"currency": {
"type": "long",
"required": true,
"description": "[Měna] ID záznamu z číselníku Currency"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku PriceListCategory"
},
"validFrom": {
"type": "date",
"required": true,
"description": "[Otevřeno od] datum platnosti od"
},
"validTill": {
"type": "date",
"required": false,
"description": "[Otevřeno od] datum platnosti do"
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka]"
}
}
}
200
smazání ceníkuDELETE/api/v2/priceList/{priceListId}/
Example URI
- priceListId
Long
(required) Example: 123ID ceníku
Headers
X-Instance-Name: instanceName
200
Uzamčení ceníku ¶
uzamčení ceníkuPOST/api/v2/priceList/{priceListId}/lock
Uzamčení záznamu ceníku pro editaci.
Example URI
- priceListId
Long
(required) Example: 123ID ceníku
Headers
X-Instance-Name: instanceName
200
Odemčení ceníku ¶
odemčení ceníkuPOST/api/v2/priceList/{priceListId}/unlock
Odemčení záznamu ceníku k editaci.
Example URI
- priceListId
Long
(required) Example: 123ID ceníku
Headers
X-Instance-Name: instanceName
200
Seznam položek ceníku ¶
seznam položek ceníkuGET/api/v2/priceList/{priceListId}/items/{?offset,limit,sortColumn,sortDirection,product-code,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt}
V rámci detailu ceníku je vráceno prvních 1000 položek ceníku. Pokud potřebujete vyčíst větší množství položek z konkrétního ceníku, je nutné použít toto volání API.
Example URI
- priceListId
Long
(required) Example: 123ID ceníku
- offset
int
(optional) Example: 0Zobrazení záznamů od začátku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: nameChoices:
name
price
unit
cost
taxRate
rowInfo.createdAt
rowInfo.updatedAt
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- product-code
string
(optional) Example: KONVFiltrování položek ceníku podle kódu produktu. Lze využít operátoru
EQ
,NE
,LIKE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 134,
"product": {
"id": 57,
"code": "KONV",
"name": "Konvalinka"
},
"name": "Konvalinka",
"price": 52.381,
"cost": 4.7619,
"unit": "ks",
"taxRate": 21,
"description": null,
"rowInfo.createdAt": "2017-06-08 21:41",
"rowInfo.createdBy": "admin@firma.cz",
"rowInfo.updatedAt": "2018-03-20 14:35",
"rowInfo.updatedBy": "admin@firma.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null
}
]
}
Přidání položek ceníku ¶
přidání položek ceníkuPUT/api/v2/priceList/{priceListId}/item/
Přidání položek na ceník
https://app.raynet.cz/api/v2/priceList/1/item/
Example URI
- priceListId
Long
(required) Example: 123ID ceníku
Headers
X-Instance-Name: instanceName
Body
{
"price": 400,
"product": 1,
"description": "Lorem ipsum...",
"unit": "ks",
"cost": 100,
"taxRate": 21
}
Schema
{
"type": "object",
"required": true,
"properties": {
"product": {
"type": "long",
"required": true,
"description": "[Produkt] ID produktu, který do ceníku přidávám"
},
"price": {
"type": "number",
"required": false,
"description": "[Prodejní cena] "
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka]"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka]"
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklady]"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Sazba DPH]"
}
}
}
201
Přidání/Upravení položek ceníku ¶
hromadné přidání/upravení položek ceníkuPOST/api/v2/priceList/{priceListId}/itemBulkUpsert/
Hromadné přidání/upravení položek na ceník. API je omezeno na 100 současně vkládaných položek.
https://app.raynet.cz/api/v2/priceList/1/itemBulkInsert/
Example URI
- priceListId
Long
(required) Example: 123ID ceníku
Headers
X-Instance-Name: instanceName
Body
[
{
"price": 400,
"product": 1,
"description": "Lorem ipsum...",
"unit": "ks",
"cost": 100,
"taxRate": 21
}
]
Schema
{
"type": "array",
"required": true,
"items": {
"type": "object",
"required": true,
"properties": {
"product": {
"type": "long",
"required": true,
"description": "[Produkt] ID produktu, který do ceníku přidávám"
},
"price": {
"type": "number",
"required": false,
"description": "[Prodejní cena] "
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka]"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka]"
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklady]"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Sazba DPH]"
}
}
}
}
200
Body
{
"success": true,
"data": [
{
"product": "1",
"priceListItem": 12,
"success": true,
"message": "inserted"
}
]
}
Schema
{
"success": {
"type": "boolean",
"required": true,
"description": "Inforamce o úspěšnosti akce"
},
"data": {
"type": "array",
"required": true,
"items" : {
"type": "object",
"required": true,
"properties" : {
"product": {
"type": "number",
"required": true,
"description": "Produkt, který byl v požadavku zaslán"
},
"success": {
"type": "boolean",
"required": true,
"description": "Inforamce o úspěšnosti akce"
}
"priceListItem": {
"type": "number",
"required": false,
"description": "[ID] položky ceníku"
}
"message": {
"type": "string",
"required": true,
"description": "Popis, jaká akce byla s položkou provedena"
}
}
}
}
}
Upravení položek ceníku ¶
upravení položky ceníkuPOST/api/v2/priceList/{priceListId}/item/{priceListItemId}/
Upravení položky na ceníku
Example URI
- priceListId
Long
(required) Example: 123ID ceníku
- priceListItemId
Long
(required) Example: 123ID položky ceníku
Headers
X-Instance-Name: instanceName
Body
{
"price": 400,
"product": 1,
"description": "Lorem ipsum...",
"unit": "ks",
"cost": 100,
"taxRate": 21
}
Schema
{
"type": "object",
"required": true,
"properties": {
"product": {
"type": "long",
"required": true,
"description": "[Produkt] ID produktu, který do ceníku přidávám"
},
"price": {
"type": "number",
"required": false,
"description": "[Prodejní cena]"
},
"description": {
"type": "string",
"required": false,
"description": "[Poznámka]"
},
"unit": {
"type": "string",
"required": false,
"description": "[Jednotka]"
},
"cost": {
"type": "number",
"required": false,
"description": "[Náklady]"
},
"taxRate": {
"type": "number",
"required": false,
"description": "[Sazba DPH]"
}
}
}
200
smazání položky ceníkuDELETE/api/v2/priceList/{priceListId}/item/{priceListItemId}/
Smazání položky na ceníku
Example URI
- priceListId
Long
(required) Example: 123ID ceníku
- priceListItemId
Long
(required) Example: 123ID položky ceníku
Headers
X-Instance-Name: instanceName
200
Faktury ¶
API pro práci s historickým fakturačním modulem.
Fakturační modul je od roku 2021 ukončen
a nahrazen integrací s iDokladem. Toto API již není technicky podporováno a slouží pouze pro přechodné období a dočasnou zpětnou kompatibilitu. Od roku 2022 již nebude možné uživatelsky faktury zakládat ani je editovat.
V případě dotazů ohledně potřebné práce s fakturami nás neváhejte kontaktovat a během přechodného období lze domluvit individuální postup…
Seznam faktur ¶
seznam fakturGET/api/v2/invoice/{?offset,limit,sortColumn,sortDirection,fulltext,title,code,company,owner,businessCase,issueDate,invoiceType,taxableSupplyDate,dueDate,paymentDate,variableSymbol,specificSymbol,constantSymbol,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu faktur. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/invoice/?offset=0&limit=1&title[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených firem je
1000
- sortColumn
string
(optional) Example: titleChoices:
title
code
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- title
string
(optional) Example: name[LIKE]=RAY%Filtrování faktur podle jména. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- code
string
(optional) Example: 12345678Filtrování faktur podle kódu faktury. Lze využít operátoru
EQ
,NE
,LIKE
. Výchozím operátorem jeEQ
.- company
number
(optional) Example: 1Filtrování faktur podle firmy. Filtruje se podle jednoznačného identifikátoru firmy (id)
- owner
number
(optional) Example: 1Filtrování faktur podle vlastníka. Filtruje se podle jednoznačného identifikátoru vlastníka (id)
- businessCase
number
(optional) Example: 1Filtrování faktur podle obchodního případu. Filtruje se podle jednoznačného identifikátoru OP (id)
- issueDate
string
(optional) Example: 2015-01-01Filtrování faktur podle data vystavení.
- invoiceType
string
(optional) Example: NORMALFiltrování faktur podle typu. Hodnoty jsou:
NORMAL
,PROFORMA
,CREDIT_NOTE
. Lze využít operátoruEQ
,NE
,IN
. Výchozím operátorem jeEQ
.- taxableSupplyDate
string
(optional) Example: 2015-01-01Filtrování faktur podle data zdanitelného plnění.
- dueDate
string
(optional) Example: 2015-01-01Filtrování faktur podle data splatnosti.
- paymentDate
string
(optional) Example: 2015-01-01Filtrování faktur podle data uhrazení.
- variableSymbol
string
(optional) Example: 123456Filtrování faktur podle variabilního symbolu. Lze využít operátoru
EQ
,NE
,LIKE
- specificSymbol
string
(optional) Example: 123456Filtrování faktur podle specifického symbolu. Lze využít operátoru
EQ
,NE
,LIKE
- constantSymbol
string
(optional) Example: 0308Filtrování faktur podle konstantního symbolu. Lze využít operátoru
EQ
,NE
,LIKE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování faktur podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování faktur podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování faktur podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 1,
"code": "FV2015001",
"title": "Faktura FV2015001",
"company": {
"id": 1,
"name": "RAYNET s.r.o."
},
"invoiceType": "NORMAL",
"issueDate": "2015-10-02",
"dueDate": "2015-10-16",
"taxableSupplyDate": "2015-10-02",
"paymentDate": null,
"invoiceState": "UNPAID",
"baseAmount": 123,
"totalAmount": 148.83,
"unpaidAmount": 148.83,
"currencyExchangeRate": 1,
"currency": {
"id": 15,
"value": "Kč"
},
"variableSymbol": "2015001",
"constantSymbol": "0308",
"specificSymbol": null,
"category": null,
"owner": {
"id": 2,
"fullName": "M P"
},
"note": "VS: {VARIABILNI_SYMBOL}",
"privateNote": null,
"deliveryNote": null,
"creditNoteReason": null,
"vendorName": null,
"vendorBankAccountNumber": null,
"badDebt": false,
"businessCase": null,
"paymentType": "PAYMENT_CARD",
"decimalPrecision": 2,
"taxPayer": "YES",
"rounding": false,
"roundingType": "FLOOR",
"reverseTax": false,
"rowInfo.createdAt": "2015-10-02 15:14",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": "2015-10-02 15:14",
"rowInfo.updatedBy": "konektor@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"tags": []
}
]
}
Nová faktura ¶
nová fakturaPUT/api/v2/invoice/
Založení nové faktury
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"company": 1,
"title": "Faktura za dobrou radu",
"constantSymbol": "0308",
"currency": 15,
"dueDate": "2015-10-16",
"invoiceType": "NORMAL",
"issueDate": "2015-10-02",
"paymentTermDays": 14,
"paymentType": "PAYMENT_DIRECT_DEBIT",
"securityLevel": 1,
"specificSymbol": "",
"taxableSupplyDate": "2015-10-02",
"businessCase": 4
}
Schema
{
"type":"object",
"required":true,
"properties": {
"company": {
"type":"long",
"required":true,
"description": "[Firma] Firma které se bude fakturovat"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"title": {
"type":"string",
"required":false,
"description": "[Název] Název faktury pro lepší dohledatelnost"
},
"constantSymbol": {
"type":"string",
"required":false,
"description": "[Konstantní symbol] "
},
"specificSymbol": {
"type":"string",
"required":false,
"description": "[Specifický symbol] "
},
"currency": {
"type":"long",
"required":true,
"description": "[Měna] ID záznamu z číselníku Currency"
},
"dueDate": {
"type":"string",
"required":true,
"description": "[Datum splatnosti] "
},
"issueDate": {
"type":"string",
"required":true,
"description": "[Datum vystavení] "
},
"invoiceType": {
"enum": ['NORMAL', 'PROFORMA'],
"required":true,
"description": "[Typ faktury] "
},
"paymentTermDays": {
"type": "number",
"required":false,
"description": "[Splatnost] "
},
"paymentType": {
"enum": [PAYMENT_DIRECT_DEBIT, PAYMENT_CASH, PAYMENT_CASH_ON_DELIVERY, PAYMENT_CARD],
"required": true,
"description": "[Způsob úhrady] "
},
"taxableSupplyDate": {
"type":"string",
"required": true,
"description": "[Datum zdanitelného plnění] "
},
"businessCase": {
"type":"long",
"required":false,
"description": "[Obchodní případ] ID záznamu obchodního případu. Pokud je vloženo jsou zkopírovány položky OP na fakturu. Není kontrolována integrita Klient - Obchodní případ - Faktura (tzn. faktura může být na jinou firmu než OP)."
},
"note": {
"type":"string",
"required": false,
"description": "[Poznámka pro příjemce] Pokud není vyplněna, použije se předvyplnění z konfigurace fakturačního modulu"
},
"deliveryNote": {
"type":"string",
"required": false,
"description": "[Poznámka pro příjemce - dodací list]"
},
"privateNote": {
"type":"string",
"required": false,
"description": "[Poznámka interní]"
}
}
}
201
Nový dobropis ¶
nový dobropisPUT/api/v2/invoice/creditNote
Založení nového dobropisu
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"invoiceId": 1,
"reason": "Dobropis, špatně vystavená faktura"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"invoiceId": {
"type": "long",
"required": true,
"description": "[Faktura] Faktura, která má být dopropisována."
},
"reason": {
"type": "string",
"required": true,
"description": "[Zdůvodnění opravu] Popis proč je dopropis vystavován."
}
}
}
201
Detail faktury ¶
detail fakturyGET/api/v2/invoice/{invoiceId}/
Získání detailu faktury.
https://app.raynet.cz/api/v2/invoice/1/
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
Headers
X-Instance-Name: instanceName
200
Body
{
"id": 1,
"code": "FV2015001",
"title": "Faktura FV2015001",
"company": {
"id": 1,
"name": "RAYNET s.r.o."
},
"invoiceType": "NORMAL",
"issueDate": "2015-10-02",
"dueDate": "2015-10-16",
"taxableSupplyDate": "2015-10-02",
"paymentDate": null,
"invoiceState": "PAID",
"baseAmount": 123,
"totalAmount": 148.83,
"unpaidAmount": 0,
"currency": {
"id": 15,
"value": "Kód"
},
"currencyExchangeRate": 1,
"variableSymbol": "2015001",
"constantSymbol": "0308",
"specificSymbol": null,
"category": null,
"owner": {
"id": 2,
"fullName": "M P"
},
"note": "VS: {VARIABILNI_SYMBOL}",
"privateNote": null,
"deliveryNote": null,
"creditNoteReason": null,
"vendorName": "RAYNET s.r.o.",
"vendorBankAccountNumber": "192913372/0300",
"vendorBankName": "Československá obchodní banka, a.s.",
"vendorBankIban": "CZ9303000000000192913372",
"vendorBankSwift": "CEKOCZPP",
"vendorRegNumber": "26843820",
"vendorTaxNumber": "CZ26843820",
"vendorTaxNumber2": null,
"vendorEmail": "fakturace@raynet.cz",
"vendorWebsite": "www.raynet.cz",
"vendorPhoneNumber": "+420 553 401 520",
"vendorFax": null,
"vendorBusinessRegisterNote": "Krajský obchodní soud v Ostravě, oddíl C, vložka 28180",
"vendorAddress":{
"city": "Ostrava",
"country": "Česká republika",
"countryCode": "CZ",
"province": null,
"street": "Francouzská 6167/5",
"zipCode": "70800"
},
"billingName": "RAYNET s.r.o.",
"billingRegNumber": "26843820",
"billingTaxNumber": "CZ26843820",
"billingTaxNumber2": null,
"billingAddress":{
"city": "Ostrava",
"country": "Česká republika",
"countryCode": "CZ",
"province": null,
"street": "Francouzská 6167/5",
"zipCode": "70800"
},
"badDebt": false,
"businessCase": null,
"salesOrder": null,
"paymentType": "PAYMENT_CARD",
"decimalPrecision": 2,
"taxPayer": "YES",
"rounding": false,
"roundingType": "FLOOR",
"reverseTax": false,
"rowInfo.createdAt": "2015-10-02 15:14",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": "2015-10-02 15:36",
"rowInfo.updatedBy": "konektor@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 6,
"extIds": null
"tags": [
],
"items": [
{
"id": 1,
"name": "Nekategorizovaný produkt",
"amount": 1,
"unitPrice": 123,
"taxRate": 21,
"basePrice": 123,
"totalTax": 25.83,
"totalPrice": 148.83,
"discountPercent": 0,
"sequenceNumber": 1,
"unitLabel": "ks",
"calculateTaxFromTotalPrice": false,
"priceListItem": null,
"description": null,
"rowInfo.createdAt": "2015-10-02 15:14",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": "2015-10-02 15:14",
"rowInfo.updatedBy": "konektor@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null
}
],
"payments": [
{
"id": 1,
"amount": 148.83,
"date": "2015-10-02",
"rowInfo.createdAt": "2015-10-02 15:36",
"rowInfo.createdBy": "konektor@raynet.cz",
"rowInfo.updatedAt": null,
"rowInfo.updatedBy": null,
"rowInfo.rowAccess": null,
"rowInfo.rowState": null
}
]
}
upravení fakturyPOST/api/v2/invoice/{invoiceId}/
Upravení dat faktury
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"company": 1,
"title": "Faktura za dobrou radu",
"constantSymbol": "0308",
"currency": 15,
"dueDate": "2015-10-16",
"invoiceType": "NORMAL",
"issueDate": "2015-10-02",
"paymentTermDays": 14,
"paymentType": "PAYMENT_DIRECT_DEBIT",
"securityLevel": 1,
"specificSymbol": "",
"taxableSupplyDate": "2015-10-02",
"businessCase": 5,
"vendorName": "RAYNET s.r.o.",
"vendorRegNumber": "26843820",
"vendorTaxNumber": "CZ26843820",
"vendorAddress": {
"street": "Francouzská 6167/5",
"city": "Ostrava",
"zipCode": "708 00",
"countryCode": "CZ",
"countryName": "Česká republika",
"province": "Moravskoslezský kraj"
},
"vendorEmail": "info@raynet.cz",
"vendorFax": "",
"vendorPhoneNumber": "800 101 201",
"vendorWebsite": "www.raynet.cz",
"vendorBankName": "ČSOB",
"vendorBankAccountNumber": "11555511/0300",
"vendorBankIban": "CZ05 0300 0000 0000 1155 5511",
"vendorBankSwift": "CEKOCZPP",
"vendorBusinessRegisterNote": "Krajský obchodní soud v Ostravě, oddíl C, vložka 28180",
"billingName": "RAYNET s.r.o.",
"billingRegNumber": "26843820",
"billingTaxNumber": "CZ26843820",
"billingAddress": {
"street": "Francouzská 6167/5",
"city": "Ostrava",
"zipCode": "708 00",
"countryCode": "CZ",
"countryName": "Česká republika",
"province": "Moravskoslezský kraj"
},
"items": [
{
"name": "položka 1",
"unitPrice": 123,
"taxRate": 21,
"amount": 2,
"unitLabel": "ks",
"discountPercent": 0
},
{
"id": 2,
"name": "položka 2",
"unitPrice": 123,
"taxRate": 21,
"amount": 2,
"unitLabel": "ks",
"discountPercent": 10
}
]
}
Schema
{
"type":"object",
"required":true,
"properties":{
"company": {
"type":"long",
"required":true,
"description": "[Firma] Firma které se bude fakturovat"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":false,
"description": "[Vlastník] ID osoby, která je zároveň uživatelem"
},
"title": {
"type":"string",
"required":false,
"description": "[Název] Název faktury pro lepší dohledatelnost"
},
"variableSymbol": {
"type":"string",
"required":false,
"description": "[Variabilní symbol] "
},
"constantSymbol": {
"type":"string",
"required":false,
"description": "[Konstantní symbol] "
},
"specificSymbol": {
"type":"string",
"required":false,
"description": "[Specifický symbol] "
},
"currency": {
"type":"long",
"required":false,
"description": "[Měna] ID záznamu z číselníku Currency"
},
"dueDate": {
"type":"string",
"required":false,
"description": "[Datum splatnosti] "
},
"issueDate": {
"type":"string",
"required":false,
"description": "[Datum vystavení] "
},
"invoiceType": {
"enum": ['NORMAL', 'PROFORMA'],
"required":true,
"description": "[Typ faktury] "
},
"paymentTermDays": {
"type": "number",
"required":false,
"description": "[Splatnost] "
},
"paymentType": {
"enum": [PAYMENT_DIRECT_DEBIT, PAYMENT_CASH, PAYMENT_CASH_ON_DELIVERY, PAYMENT_CARD],
"required": true,
"description": "[Způsob úhrady] "
},
"businessCase": {
"type": "long",
"required": false,
"description": "[Obchodní případ] ID záznamu obchodního případu. Není kontrolována integrita Klient - Obchodní případ - Faktura (tzn. faktura může být na jinou firmu než OP)."
},
"note": {
"type":"string",
"required": false,
"description": "[Poznámka pro příjemce] Pokud není vyplněna, použije se předvyplnění z konfigurace fakturačního modulu"
},
"deliveryNote": {
"type":"string",
"required": false,
"description": "[Poznámka pro příjemce - dodací list]"
},
"privateNote": {
"type":"string",
"required": false,
"description": "[Poznámka interní]"
},
"vendorName": {
"type":"string",
"required":false,
"description": "[Dodavatel - Jméno firmy]"
},
"vendorRegNumber": {
"type":"string",
"required":false,
"description": "[Dodavatel - IČ]"
},
"vendorTaxNumber": {
"type":"string",
"required":false,
"description": "[Dodavatel - DIČ]"
},
"vendorAddress": {
"type":"object",
"required":false,
"description" : "[Adresa dodavatele]",
"properties":{
"street": {
"type":"string",
"required":false,
"description": "[Ulice]"
},
"city": {
"type":"string",
"required":false,
"description": "[Město]"
},
"province": {
"type":"string",
"required":false,
"description": "[Kraj]"
},
"zipCode": {
"type":"string",
"required":false,
"description": "[PSČ]"
},
"country": {
"type":"string",
"required":false,
"description": "[Kód Země]"
}
}
},
"vendorEmail": {
"type":"string",
"required":false,
"description": "[Dodavatel - Email]"
},
"vendorFax": {
"type":"string",
"required":false,
"description": "[Dodavatel - Fax]"
},
"vendorPhoneNumber": {
"type":"string",
"required":false,
"description": "[Dodavatel - Telefon]"
},
"vendorWebsite": {
"type":"string",
"required":false,
"description": "[Dodavatel - Web]"
},
"vendorBankName": {
"type":"string",
"required":false,
"description": "[Dodavatel - Název banky]"
},
"vendorBankAccountNumber": {
"type":"string",
"required":false,
"description": "[Dodavatel - Číslo účtu]"
},
"vendorBankIban": {
"type":"string",
"required":false,
"description": "[Dodavatel - IBAN]"
},
"vendorBankSwift": {
"type":"string",
"required":false,
"description": "[Dodavatel - SWIFT]"
},
"vendorBusinessRegisterNote": {
"type":"string",
"required":false,
"description": "[Dodavatel - Zapsán v rejstříku]"
},
"billingName": {
"type":"string",
"required":false,
"description": "[Odběratel - Jméno klienta]"
},
"billingRegNumber": {
"type":"string",
"required":false,
"description": "[Odběratel - IČ]"
},
"billingTaxNumber": {
"type":"string",
"required":false,
"description": "[Odběratel - DIČ]"
},
"billingAddress": {
"type":"object",
"required":false,
"description" : "[Adresa odběratele]",
"properties":{
"street": {
"type":"string",
"required":false,
"description": "[Ulice]"
},
"city": {
"type":"string",
"required":false,
"description": "[Město]"
},
"province": {
"type":"string",
"required":false,
"description": "[Kraj]"
},
"zipCode": {
"type":"string",
"required":false,
"description": "[PSČ]"
},
"country": {
"type":"string",
"required":false,
"description": "[Kód Země]"
}
}
},
"items": {
"type":"array",
"required":false,
"minItems" : 1,
"items": {
"type":"object",
"required":true,
"properties": {
"id": {
"type":"long",
"required":false,
"description": "[ID] ID položky faktury, která se má upravit. Pokud není obsaženo, je založena nová položka"
},
"name": {
"type":"string",
"required":false,
"description": "[Položka] Název položky faktury. Je vyžadováno, pokud se vkládá nová položka (id není zadáno)"
},
"unitPrice": {
"type":"number",
"required":false,
"description": "[Cena]"
},
"taxRate": {
"type":"number",
"required":false,
"description": "[Daň]"
},
"amount": {
"type":"number",
"required":false,
"description": "[Množství]"
},
"unitLabel": {
"type":"string",
"required":false,
"description": "[Jednotka]"
},
"discountPercent": {
"type":"number",
"required":false,
"description": "[Sleva %]"
},
"description": {
"type":"string",
"required":false,
"description": "[Poznámka]"
}
}
}
}
}
}
200
smazání fakturyDELETE/api/v2/invoice/{invoiceId}/
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
Headers
X-Instance-Name: instanceName
200
Uzamčení faktury ¶
uzamčení fakturyPOST/api/v2/invoice/{invoiceId}/lock
Uzamčení záznamu faktury pro editaci.
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
Headers
X-Instance-Name: instanceName
200
Odemčení faktury ¶
odemčení fakturyPOST/api/v2/invoice/{invoiceId}/unlock
Odemčení záznamu faktury k editaci.
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
Headers
X-Instance-Name: instanceName
200
Export faktury do PDF ¶
export faktury do PDFGET/api/v2/invoice/{invoiceId}/pdfExport{?locale}
Export faktury do PDF. Konkrétně dojde k vytvoření dočasného souboru v CRM uložišti. K obsahu tohoto souboru je pak možné přistoupit prostřednictvím API /exportBody (Více v sekci: Soubory / Stažení těla exportu).
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
- locale
String
(optional) Example: enJazyk exportované faktury
Headers
X-Instance-Name: instanceName
200
Body
{
"uuid": "6775ac8cebd548e9b94a8ec99c30bab7",
"fileName": "Faktura FV2017001.pdf",
"contentType": "application/octet-stream",
"accessToken": "d9b38352c39f4ca2b7d367cffe089d20",
"instanceName": "mojecrm"
}
Stornovat fakturu ¶
stornovat fakturuPOST/api/v2/invoice/{invoiceId}/cancel
Stornování faktury
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
Headers
X-Instance-Name: instanceName
200
Obnovení fakturu ¶
obnovení fakturyPOST/api/v2/invoice/{invoiceId}/renew
Obnovení stornované faktury
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
Headers
X-Instance-Name: instanceName
200
Změna kódu faktury ¶
změna kódu fakturyPOST/api/v2/invoice/{invoiceId}/changeCode
Změna kódu faktury
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
Headers
X-Instance-Name: instanceName
Body
{
"code": "FV12313"
}
200
Změna počtu desetinných míst ¶
změna počtu desetinných místPOST/api/v2/invoice/{invoiceId}/changeDecimalPrecision
Změna počtu desetinných míst faktury
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
Headers
X-Instance-Name: instanceName
Body
{
"decimalPrecision": 2
}
Schema
{
"type": "object",
"required": true,
"properties": {
"decimalPrecision": {
"type": "number",
"required": true,
"description": "[Počet desetinných míst] Počet desetinných míst"
}
}
}
200
Přidání platby ¶
přidání platbyPUT/api/v2/invoice/{invoiceId}/payment/
Přidání platby k faktuře
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
Headers
X-Instance-Name: instanceName
Body
{
"amount": 123.5,
"date": "2015-06-01"
}
Schema
{
"type":"object",
"required":true,
"properties":{
"amount": {
"type":"number",
"required":true,
"description": "[Uhrazená suma] Uhrazená částka"
},
"date": {
"type":"string",
"required":date,
"description": "[Datum úhrady] Datum úhrady"
},
}
}
200
Smazání platby ¶
smazání platbyDELETE/api/v2/invoice/{invoiceId}/payment/{paymentId}/
Smazání platby u faktury
Example URI
- invoiceId
Long
(required) Example: 123ID faktury
- paymentId
Long
(required) Example: 123ID platby
Headers
X-Instance-Name: instanceName
200
Aktivity ¶
API pro práci s aktivitami.
Seznam úkolů ¶
seznam úkolůGET/api/v2/task/{?offset,limit,sortColumn,sortDirection,fulltext,id,title,scheduledFrom,scheduledTill,deadline,completed,category-id,status,owner-id,personFilter,companyContextFilter,leadContextFilter,businessCase,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu úkolů. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/task/?offset=0&limit=1&title[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených úkolů je
1000
- sortColumn
string
(optional) Example: idChoices:
id
title
tags
scheduledFrom
scheduledTill
category
owner
status
deadline
rowInfo.createdAt
rowInfo.updatedAt
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- id
number
(optional) Example: id[NE]=3Filtrování úkolů podle ID. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- title
string
(optional) Example: title[LIKE]=%myTag%Filtrování úkolů podle předmětu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- scheduledFrom
string
(optional) Example: scheduledFrom=2014-06-01 10:00Filtrování úkolů podle data naplánování (“od”). Lze využít operátoru
GT
,GE
,LT
,LE
- scheduledTill
string
(optional) Example: scheduledTill[LT]=2015-06-01 10:00Filtrování úkolů podle data naplánování (“do”). Lze využít operátoru
GT
,GE
,LT
,LE
- completed
string
(optional) Example: completed[LT]=2015-06-01 10:00Filtrování úkolů podle data realizování. Lze využít operátoru
GT
,GE
,LT
,LE
- category-id
number
(optional) Example: 3Filtrování úkolů podle ID kategorie. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: SCHEDULEDFiltrování úkolů podle statusu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- deadline
string
(optional) Example: 2015-05-03Filtrování úkolů podle data deadline. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- owner-id
number
(optional) Example: 3Filtrování úkolů podle ID osoby, která je vlastníkem úkolu. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- personFilter
number
(optional) Example: 3Filtrování úkolů podle ID osoby, která je participantem. Nelze využít standardních operátorů.
- companyContextFilter
number
(optional) Example: 3Filtrování úkolů podle ID klienta, kterého se úkoly týkají (klient je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- leadContextFilter
number
(optional) Example: 3Filtrování úkolů podle ID leadu, kterého se úkoly týkají (lead je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- businessCase
number
(optional) Example: 3Filtrování úkolů podle ID obchodního případu, kterého se úkoly týkají. Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování úkolů podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování úkolů podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování úkolů podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 12,
"title": "Neřešitelný úkol",
"personal": false,
"status": "SCHEDULED",
"priority": "DEFAULT",
"category": {
"id": 94,
"value": "Dohodnuto napevno"
},
"activity": {
"id": 1,
"title": "První schůzka"
},
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"person": {
"id": 8,
"name": "Igor Hnízdo"
},
"lead": null,
"project": null,
"businessCase": {
"id": 4,
"code": "OP-18-001",
"name": "Prodej kladiv Datel"
},
"offer": null,
"salesOrder": null,
"scheduledFrom": "2018-02-20 09:00",
"scheduledTill": "2018-02-20 10:00",
"completed": null,
"description": "<p>Poznámka</p>",
"solution": "<p>Řešení</p>",
"tags": [
"Tag1",
"Tag2"
],
"rowInfo.createdAt": "2018-02-20 08:44",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2018-03-05 10:55",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 9,
"customFields": {
"Vip_37674": "VIP"
},
"participants": [
{
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": null,
"lead": null
},
{
"owner": false,
"role": null,
"name": "Martin Vosa",
"person": 6,
"company": null,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nový úkol ¶
nový úkolPUT/api/v2/task/
Založení nového úkolu
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Navázat kontakt s klientem",
"priority": "DEFAULT",
"category": 1,
"person": 2,
"company": 3,
"owner": 4,
"resolver": 6,
"deadline": "2014-06-11 15:03",
"scheduledFrom": "2014-06-11 15:00",
"scheduledTill": "2014-06-11 16:00",
"description": "Je potřeba být laskavý!",
"solution": "Nakonec to dopadlo dobře.",
"tags": [
"stitek 1",
"stitek 2"
]
}
Schema
{
"type":"object",
"required":true,
"properties":{
"title": {
"type":"string",
"required":true,
"description": "[Předmět]"
},
"priority": {
"enum": [ "MINOR", "DEFAULT", "CRITICAL" ],
"required":true,
"description": "[Priorita]"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"person": {
"type":"long",
"required":false,
"description" : "[Osoba] ID osoby v kontextu záznamu"
},
"company": {
"type":"long",
"required":false,
"description" : "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type":"long",
"required":false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type":"long",
"required":false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type":"long",
"required":false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type":"long",
"required":false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type":"long",
"required":false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"owner": {
"type":"long",
"required":true,
"description" : "[Vlastník] ID osoby, který je vlastníkem (zadavatelem) úkolu"
},
"resolver": {
"type":"long",
"required":true,
"description" : "[Řešitel] ID osoby, který je řešitelem úkolu"
},
"deadline": {
"type":"datetime",
"required":true,
"description":"[Deadline]"
},
"scheduledFrom": {
"type":"datetime",
"required":false,
"description":"[Naplánování v kalendáři od]"
},
"scheduledTill": {
"type":"datetime",
"required":false,
"description":"[Naplánování v kalendáři do]"
},
"completed": {
"type":"datetime",
"required":false,
"description":"[Datum realizace]"
},
"description": {
"type":"string",
"required":false,
"description": "[Zadání úkolu]"
},
"solution": {
"type":"string",
"required":false,
"description": "[Řešení úkolu]"
},
"tags" : {
"type": "array",
"required":false,
"items" : {
"type":"string",
"required":true
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného úkolu"
}
}
}
}
}
Detail úkolu ¶
detail úkoluGET/api/v2/task/{taskId}/
Získání detailu úkolu. Pokud záznam úkolu obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/task/2/
Example URI
- taskId
Long
(required) Example: 123ID úkolu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 89,
"title": "Navázat kontakt s klientem",
"category": {
"id": 90,
"value": "Lékař"
},
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"owner": {
"id": 2,
"fullName": "Petr Svetr"
},
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"person": {
"id": 3,
"fullName": "Pavel Dobrý"
},
"lead": null,
"businessCase": null,
"offer": null,
"salesOrder": null,
"project": null,
"activity": null,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"deadline": "2017-06-11 15:03",
"completed": null,
"description": "Je potřeba být laskavý!",
"solution": "Nakonec to dopadlo dobře.",
"tags": [],
"rowInfo.createdAt": "2017-04-24 08:06",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2017-05-17 10:46",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"customFields": {
"VIP_b91d1": false
},
"participants": [
{
"id": 123,
"owner": false,
"role": null,
"name": "Martin Vosa",
"person": 6,
"company": 2,
"lead": null
},
{
"id": 119,
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": 2,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
}
}
}
upravení úkoluPOST/api/v2/task/{taskId}/
Upravení dat úkolu
Example URI
- taskId
Long
(required) Example: 123ID úkolu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Navázat kontakt s klientem",
"category": 90,
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"company": 2,
"person": 3,
"businessCase": 5,
"project": 4,
"activity": 14,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"deadline": "2017-06-11 15:03",
"description": "Je potřeba být laskavý!",
"solution": "Nakonec to dopadlo dobře.",
"tags": [
"aaa",
"bbb"
],
"customFields": {
"VIP_b91d1": true
},
"participants": [
{
"id": -123
},
{
"id": 119,
"owner": true,
"role": "FROM",
"person": 8,
"company": 2,
"lead": null
}
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"title": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"priority": {
"enum": [
"MINOR",
"DEFAULT",
"CRITICAL"
],
"required": true,
"description": "[Priorita]"
},
"status": {
"enum": [
"NEW",
"SCHEDULED",
"COMPLETED",
"CANCELLED"
],
"required": true,
"description": "[Stav]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"personal": {
"type": "boolean",
"required": false,
"description": "[Soukromá aktivita]"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID firmy v kontextu záznamu"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby v kontextu záznamu"
},
"businessCase": {
"type": "long",
"required": false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type": "long",
"required": false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type": "long",
"required": false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type": "long",
"required": false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type": "long",
"required": false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type": "datetime",
"required": false,
"description": "[Naplánováno od] datum naplánování od"
},
"scheduledTill": {
"type": "datetime",
"required": false,
"description": "[Naplánováno do] datum naplánování do"
},
"deadline": {
"type": "datetime",
"required": false,
"description": "[Deadline] deadline datum"
},
"completed": {
"type": "datetime",
"required": false,
"description": "[Realizováno] datum realizace aktivity"
},
"description": {
"type": "string",
"required": false,
"description": "[Zadání úkolu]"
},
"solution": {
"type": "string",
"required": false,
"description": "[Řešení úkolu]"
},
"tags": {
"type": "string",
"required": false,
"description": "[Seznam štítků oddělených čárkou]"
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
},
"participants": {
"type": "array",
"required": false,
"items": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": false,
"description": "[ID] id participanta aktivity (prázdné ID => participant bude založen nový, záporné ID => participant bude smazán, kladné ID => participant bude změněn)"
},
"owner": {
"type": "boolean",
"required": false,
"description": "[Vlastník] příznak, že je participant zároveň vlastníkem aktivity"
},
"role": {
"enum": [
"FROM",
"TO"
],
"required": false,
"description": "[Směr aktivity]"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby, pokud je participant kontaktní osoba"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID klienta, pokud je participant firma (klient)"
},
"lead": {
"type": "long",
"required": false,
"description": "[Lead] ID leadu, pokud je participant lead"
}
}
}
}
}
}
200
Body
{
"success": true,
}
Schema
{
"type":"object",
"required":true,
"properties":{
"success": {
"type":"boolean",
"required":true
}
}
}
smazání úkoluDELETE/api/v2/task/{taskId}/
Example URI
- taskId
Long
(required) Example: 123ID úkolu
Headers
X-Instance-Name: instanceName
200
Seznam schůzek ¶
seznam schůzekGET/api/v2/meeting/{?offset,limit,sortColumn,sortDirection,fulltext,id,title,scheduledFrom,scheduledTill,completed,category-id,status,owner-id,personFilter,companyContextFilter,leadContextFilter,businessCase,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu schůzek. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/meeting/?offset=0&limit=1&title[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených schůzek je
1000
- sortColumn
string
(optional) Example: idChoices:
id
title
tags
scheduledFrom
scheduledTill
category
owner
status
rowInfo.createdAt
rowInfo.updatedAt
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- id
number
(optional) Example: 3Filtrování schůzek podle ID. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- title
string
(optional) Example: title[LIKE]=%myTag%Filtrování schůzek podle předmětu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- scheduledFrom
string
(optional) Example: scheduledFrom=2014-06-01 10:00Filtrování schůzek podle data naplánování (“od”). Lze využít operátoru
GT
,GE
,LT
,LE
- scheduledTill
string
(optional) Example: scheduledTill[LT]=2015-06-01 10:00Filtrování schůzek podle data naplánování (“do”). Lze využít operátoru
GT
,GE
,LT
,LE
- completed
string
(optional) Example: completed[LT]=2015-06-01 10:00Filtrování schůzek podle data realizování. Lze využít operátoru
GT
,GE
,LT
,LE
- category-id
number
(optional) Example: =3Filtrování schůzek podle ID kategorie. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: SCHEDULEDFiltrování schůzek podle statusu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- owner-id
number
(optional) Example: 3Filtrování schůzek podle ID osoby, která je vlastníkem schůzky. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- personFilter
number
(optional) Example: 3Filtrování schůzek podle ID osoby, která je participantem. Nelze využít standardních operátorů.
- companyContextFilter
number
(optional) Example: 3Filtrování schůzek podle ID klienta, kterého se schůzky týkají (klient je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- leadContextFilter
number
(optional) Example: 3Filtrování schůzek podle ID leadu, kterého se schůzky týkají (lead je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- businessCase
number
(optional) Example: 3Filtrování schůzek podle ID obchodního případu, kterého se schůzky týkají. Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování schůzek podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování schůzek podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování schůzek podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 12,
"title": "Schůzka u kafe",
"personal": false,
"status": "SCHEDULED",
"priority": "DEFAULT",
"category": {
"id": 94,
"value": "Dohodnuto napevno"
},
"activity": null,
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"person": null,
"lead": null,
"project": null,
"businessCase": {
"id": 4,
"code": "OP-18-001",
"name": "Prodej kladiv Datel"
},
"offer": {
"id": 3,
"code": "NAB-18-001",
"name": "Nabídka na prodej kladiv Datel"
},
"salesOrder": null,
"scheduledFrom": "2018-02-20 09:00",
"scheduledTill": "2018-02-20 10:00",
"completed": null,
"description": "<p>Poznámka</p>",
"solution": "<p>Zápis ze schůzky</p>",
"tags": [
"Tag1",
"Tag2"
],
"rowInfo.createdAt": "2018-02-20 08:44",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2018-03-05 10:55",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 9,
"customFields": {
"Vip_37674": "VIP"
},
"participants": [
{
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": null,
"lead": null
},
{
"owner": false,
"role": null,
"name": "Albert Veselý",
"person": 8,
"company": null,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
},
"meetingPlace": "Kavárna",
"companyAddress": {
"city": "Olomouc",
"country": "Česká republika",
"province": null,
"street": "Vídeňská 1026",
"zipCode": "779 00"
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nová schůzka ¶
nová schůzkaPUT/api/v2/meeting/
Založení nové schůzky
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Schůzka s klientem",
"priority": "DEFAULT",
"category": 1,
"owner": 4,
"person": 2,
"company": 3,
"scheduledFrom": "2014-06-11 15:00",
"scheduledTill": "2014-06-11 16:00",
"description": "Opravdu chcete náš produkt?",
"solution": "Berou to.",
"tags": [
"stitek 1",
"stitek 2"
]
}
Schema
{
"type":"object",
"required":true,
"properties":{
"title": {
"type":"string",
"required":true,
"description": "[Předmět]"
},
"priority": {
"enum": [ "MINOR", "DEFAULT", "CRITICAL" ],
"required":true,
"description": "[Priorita]"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"owner": {
"type":"long",
"required":true,
"description" : "[Vlastník] ID osoby, který je vlastníkem záznamu"
},
"person": {
"type":"long",
"required":false,
"description" : "[Osoba] ID osoby, která je účastníkem schůzky"
},
"company": {
"type":"long",
"required":false,
"description" : "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type":"long",
"required":false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type":"long",
"required":false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type":"long",
"required":false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type":"long",
"required":false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type":"long",
"required":false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type":"datetime",
"required":false,
"description":"[Naplánování v kalendáři od]"
},
"scheduledTill": {
"type":"datetime",
"required":false,
"description":"[Naplánování v kalendáři do]"
},
"completed": {
"type":"datetime",
"required":false,
"description":"[Datum realizace]"
},
"description": {
"type":"string",
"required":false,
"description": "[Otázky k projednání]"
},
"solution": {
"type":"string",
"required":false,
"description": "[Výsledek jednání]"
},
"tags" : {
"type": "array",
"required":false,
"items" : {
"type":"string",
"required":true
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené schůzky"
}
}
}
}
}
Detail schůzky ¶
detail schůzkyGET/api/v2/meeting/{meetingId}/
Získání detailu schůzky. Pokud záznam schůzky obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/meeting/2/
Example URI
- meetingId
Long
(required) Example: 123ID schůzky
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 81,
"title": "Schůzka u kávy",
"category": {
"id": 90,
"value": "Lékař"
},
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"owner": {
"id": 2,
"fullName": "Petr Svetr"
},
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"lead": null,
"businessCase": null,
"offer": null,
"salesOrder": null,
"project": null,
"activity": null,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"completed": null,
"description": "Otázky k projednání.",
"solution": "Výsledek jednání.",
"meetingPlace": "Kavárna",
"tags": [],
"rowInfo.createdAt": "2017-04-24 08:06",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2017-05-17 10:46",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"customFields": {
"VIP_b91d1": false
},
"participants": [
{
"id": 123,
"owner": false,
"role": null,
"name": "Martin Vosa",
"person": 6,
"company": 2,
"lead": null
},
{
"id": 120,
"owner": false,
"role": null,
"name": "První lead",
"person": null,
"company": null,
"lead": 18
},
{
"id": 119,
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": 2,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
}
}
}
upravení schůzkyPOST/api/v2/meeting/{meetingId}/
Upravení dat schůzky
Example URI
- meetingId
Long
(required) Example: 123ID schůzky
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Schůzka u kávy",
"category": 90,
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"company": 2,
"businessCase": 5,
"project": 4,
"activity": 14,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"description": "Otázky k projednání.",
"solution": "Výsledek jednání.",
"tags": [
"aaa",
"bbb"
],
"customFields": {
"VIP_b91d1": true
},
"participants": [
{
"id": -123
},
{
"person": 4
},
{
"id": 119,
"owner": true,
"role": "FROM",
"person": 8,
"company": 2,
"lead": null
}
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"title": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"priority": {
"enum": [
"MINOR",
"DEFAULT",
"CRITICAL"
],
"required": true,
"description": "[Priorita]"
},
"status": {
"enum": [
"NEW",
"SCHEDULED",
"COMPLETED",
"CANCELLED"
],
"required": true,
"description": "[Stav]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"personal": {
"type": "boolean",
"required": false,
"description": "[Soukromá aktivita]"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type": "long",
"required": false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type": "long",
"required": false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type": "long",
"required": false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type": "long",
"required": false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type": "long",
"required": false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type": "datetime",
"required": false,
"description": "[Naplánováno od] datum naplánování od"
},
"scheduledTill": {
"type": "datetime",
"required": false,
"description": "[Naplánováno do] datum naplánování do"
},
"completed": {
"type": "datetime",
"required": false,
"description": "[Realizováno] datum realizace aktivity"
},
"description": {
"type": "string",
"required": false,
"description": "[Otázky k projednání]"
},
"solution": {
"type": "string",
"required": false,
"description": "[Výsledek jednání]"
},
"meetingPlace": {
"type": "string",
"required": false,
"description": "[Místo konání]"
},
"tags": {
"type": "string",
"required": false,
"description": "[Seznam štítků oddělených čárkou]"
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
},
"participants": {
"type": "array",
"required": false,
"items": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": false,
"description": "[ID] id participanta aktivity (prázdné ID => participant bude založen nový, záporné ID => participant bude smazán, kladné ID => participant bude změněn)"
},
"owner": {
"type": "boolean",
"required": false,
"description": "[Vlastník] příznak, že je participant zároveň vlastníkem aktivity"
},
"role": {
"enum": [
"FROM",
"TO"
],
"required": false,
"description": "[Směr aktivity]"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby, pokud je participant kontaktní osoba"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID klienta, pokud je participant firma (klient)"
},
"lead": {
"type": "long",
"required": false,
"description": "[Lead] ID leadu, pokud je participant lead"
}
}
}
}
}
}
200
Body
{
"success": true,
}
Schema
{
"type":"object",
"required":true,
"properties":{
"success": {
"type":"boolean",
"required":true
}
}
}
smazání schůzkyDELETE/api/v2/meeting/{meetingId}/
Example URI
- meetingId
Long
(required) Example: 123ID schůzky
Headers
X-Instance-Name: instanceName
200
Seznam událostí ¶
seznam událostíGET/api/v2/event/{?offset,limit,sortColumn,sortDirection,fulltext,id,title,scheduledFrom,scheduledTill,completed,category-id,status,owner-id,personFilter,companyContextFilter,leadContextFilter,businessCase,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu událostí. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/event/?offset=0&limit=1&title[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených událostí je
1000
- sortColumn
string
(optional) Example: idChoices:
id
title
tags
scheduledFrom
scheduledTill
category
owner
status
rowInfo.createdAt
rowInfo.updatedAt
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- id
number
(optional) Example: 3Filtrování událostí podle ID. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- title
string
(optional) Example: title[LIKE]=%myTag%Filtrování událostí podle předmětu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- scheduledFrom
string
(optional) Example: scheduledFrom=2014-06-01 10:00Filtrování událostí podle data naplánování (“od”). Lze využít operátoru
GT
,GE
,LT
,LE
- scheduledTill
string
(optional) Example: scheduledTill[LT]=2015-06-01 10:00Filtrování událostí podle data naplánování (“do”). Lze využít operátoru
GT
,GE
,LT
,LE
- completed
string
(optional) Example: 2015-06-01 10:00Filtrování událostí podle data realizování. Lze využít operátoru
GT
,GE
,LT
,LE
- category-id
number
(optional) Example: 3Filtrování událostí podle ID kategorie. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: SCHEDULEDFiltrování událostí podle statusu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- owner-id
number
(optional) Example: 3Filtrování událostí podle ID osoby, která je vlastníkem události. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- personFilter
number
(optional) Example: 3Filtrování událostí podle ID osoby, která je participantem. Nelze využít standardních operátorů.
- companyContextFilter
number
(optional) Example: 3Filtrování událostí podle ID klienta, kterého se událostí týkají (klient je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- leadContextFilter
number
(optional) Example: 3Filtrování událostí podle ID leadu, kterého se událostí týkají (lead je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- businessCase
number
(optional) Example: 3Filtrování událostí podle ID obchodního případu, kterého se události týkají. Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování událostí podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování událostí podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování událostí podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 12,
"title": "Seminář ke zdravému spánku",
"personal": true,
"status": "COMPLETED",
"priority": "DEFAULT",
"category": {
"id": 95,
"value": "Zdravý duch"
},
"activity": null,
"company": {
"id": 2,
"name": "Dobrý spánek s.r.o."
},
"person": null,
"lead": null,
"project": null,
"businessCase": null,
"offer": null,
"salesOrder": null,
"scheduledFrom": "2018-02-20 09:00",
"scheduledTill": "2018-02-20 10:00",
"completed": "2018-02-20 10:00",
"description": "<p>Poznámka</p>",
"tags": [
"Tag1",
"Tag2"
],
"rowInfo.createdAt": "2018-02-20 08:44",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2018-03-05 10:55",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 9,
"customFields": null,
"participants": [
{
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": null,
"lead": null
},
{
"owner": false,
"role": null,
"name": "Petr Svetr",
"person": 2,
"company": null,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
},
"meetingPlace": "Impact Hub Ostrava",
"companyAddress": {
"city": "Ostrava",
"country": "Česká republika",
"province": null,
"street": "Sokolská tř. 1263/24",
"zipCode": "702 00"
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nová událost ¶
nová událostPUT/api/v2/event/
Založení nové události
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Výročí založení firmy",
"priority": "DEFAULT",
"category": 1,
"owner": 4,
"person": 2,
"company": 3,
"scheduledFrom": "2014-06-11 15:00",
"scheduledTill": "2014-06-11 16:00",
"description": "Oslavíme ve čtvrtek nebo v pátek?",
"tags": [
"stitek 1",
"stitek 2"
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"title": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"priority": {
"enum": [
"MINOR",
"DEFAULT",
"CRITICAL"
],
"required": true,
"description": "[Priorita]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"owner": {
"type": "long",
"required": true,
"description": "[Vlastník] ID osoby, který je vlastníkem záznamu"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby, která je účastníkem události"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type": "long",
"required": false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type": "long",
"required": false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type": "long",
"required": false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type": "long",
"required": false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type": "long",
"required": false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type": "datetime",
"required": false,
"description": "[Naplánování v kalendáři od]"
},
"scheduledTill": {
"type": "datetime",
"required": false,
"description": "[Naplánování v kalendáři do]"
},
"completed": {
"type": "datetime",
"required": false,
"description": "[Datum realizace]"
},
"description": {
"type": "string",
"required": false,
"description": "[Informace o události]"
},
"tags": {
"type": "array",
"required": false,
"items": {
"type": "string",
"required": true
}
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené události"
}
}
}
}
}
Detail události ¶
detail událostiGET/api/v2/event/{eventId}/
Získání detailu události. Pokud záznam události obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/event/2/
Example URI
- eventId
Long
(required) Example: 123ID události
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 81,
"title": "Výročí založení firmy",
"category": {
"id": 89,
"value": "Firemní"
},
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"owner": {
"id": 2,
"fullName": "Petr Svetr"
},
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"lead": null,
"businessCase": null,
"offer": null,
"salesOrder": null,
"project": null,
"activity": null,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"completed": null,
"description": "Oslavíme ve čtvrtek nebo v pátek?",
"meetingPlace": "Impact Hub Ostrava",
"tags": [],
"rowInfo.createdAt": "2017-04-24 08:06",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2017-05-17 10:46",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"customFields": {
"VIP_b91d1": false
},
"participants": [
{
"id": 123,
"owner": false,
"role": null,
"name": "Martin Vosa",
"person": 6,
"company": 2,
"lead": null
},
{
"id": 120,
"owner": false,
"role": null,
"name": "První lead",
"person": null,
"company": null,
"lead": 18
},
{
"id": 119,
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": 2,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
}
}
}
upravení událostiPOST/api/v2/event/{eventId}/
Upravení dat události
Example URI
- eventId
Long
(required) Example: 123ID události
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Výročí založení firmy",
"category": 89,
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"company": 2,
"businessCase": 5,
"project": 4,
"activity": 14,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"description": "Oslavíme ve čtvrtek nebo v pátek?",
"tags": [
"aaa",
"bbb"
],
"customFields": {
"VIP_b91d1": true
},
"participants": [
{
"id": -123
},
{
"person": 4
},
{
"id": 119,
"owner": true,
"role": "FROM",
"person": 8,
"company": 2,
"lead": null
}
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"title": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"priority": {
"enum": [
"MINOR",
"DEFAULT",
"CRITICAL"
],
"required": true,
"description": "[Priorita]"
},
"status": {
"enum": [
"NEW",
"SCHEDULED",
"COMPLETED",
"CANCELLED"
],
"required": true,
"description": "[Stav]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"personal": {
"type": "boolean",
"required": false,
"description": "[Soukromá aktivita]"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type": "long",
"required": false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type": "long",
"required": false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type": "long",
"required": false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type": "long",
"required": false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type": "long",
"required": false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type": "datetime",
"required": false,
"description": "[Naplánováno od] datum naplánování od"
},
"scheduledTill": {
"type": "datetime",
"required": false,
"description": "[Naplánováno do] datum naplánování do"
},
"completed": {
"type": "datetime",
"required": false,
"description": "[Realizováno] datum realizace aktivity"
},
"description": {
"type": "string",
"required": false,
"description": "[Infomace o události]"
},
"meetingPlace": {
"type": "string",
"required": false,
"description": "[Místo konání]"
},
"tags": {
"type": "string",
"required": false,
"description": "[Seznam štítků oddělených čárkou]"
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
},
"participants": {
"type": "array",
"required": false,
"items": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": false,
"description": "[ID] id participanta aktivity (prázdné ID => participant bude založen nový, záporné ID => participant bude smazán, kladné ID => participant bude změněn)"
},
"owner": {
"type": "boolean",
"required": false,
"description": "[Vlastník] příznak, že je participant zároveň vlastníkem aktivity"
},
"role": {
"enum": [
"FROM",
"TO"
],
"required": false,
"description": "[Směr aktivity]"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby, pokud je participant kontaktní osoba"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID klienta, pokud je participant firma (klient)"
},
"lead": {
"type": "long",
"required": false,
"description": "[Lead] ID leadu, pokud je participant lead"
}
}
}
}
}
}
200
Body
{
"success": true,
}
Schema
{
"type":"object",
"required":true,
"properties":{
"success": {
"type":"boolean",
"required":true
}
}
}
smazání událostiDELETE/api/v2/event/{eventId}/
Example URI
- eventId
Long
(required) Example: 123ID události
Headers
X-Instance-Name: instanceName
200
Seznam emailů ¶
seznam emailůGET/api/v2/email/{?offset,limit,sortColumn,sortDirection,fulltext,id,title,scheduledFrom,scheduledTill,completed,category-id,status,owner-id,personFilter,companyContextFilter,leadContextFilter,businessCase,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu emailů. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/email/?offset=0&limit=1&title[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených emailů je
1000
- sortColumn
string
(optional) Example: idChoices:
id
title
tags
scheduledFrom
scheduledTill
category
owner
status
rowInfo.createdAt
rowInfo.updatedAt
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- id
number
(optional) Example: 3Filtrování emailů podle ID. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- title
string
(optional) Example: title[LIKE]=%myTag%Filtrování emailů podle předmětu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- scheduledFrom
string
(optional) Example: 2014-06-01 10:00Filtrování emailů podle data naplánování (“od”). Lze využít operátoru
GT
,GE
,LT
,LE
- scheduledTill
string
(optional) Example: scheduledTill[LT]=2015-06-01 10:00Filtrování emailů podle data naplánování (“do”). Lze využít operátoru
GT
,GE
,LT
,LE
- completed
string
(optional) Example: 2015-06-01 10:00Filtrování emailů podle data realizování. Lze využít operátoru
GT
,GE
,LT
,LE
- category-id
number
(optional) Example: =3Filtrování emailů podle ID kategorie. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: SCHEDULEDFiltrování emailů podle statusu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- owner-id
number
(optional) Example: 3Filtrování emailů podle ID osoby, která je vlastníkem emailu. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- personFilter
number
(optional) Example: 3Filtrování emailů podle ID osoby, která je participantem. Nelze využít standardních operátorů.
- companyContextFilter
number
(optional) Example: 3Filtrování emailů podle ID klienta, kterého se emaily týkají (klient je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- leadContextFilter
number
(optional) Example: 3Filtrování emailů podle ID leadu, kterého se emaily týkají (lead je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- businessCase
number
(optional) Example: 3Filtrování emailů podle ID obchodního případu, kterého se emailů týkají. Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování emailů podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování emailů podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování emailů podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 12,
"title": "Dlouhý e-mail s nabídkou",
"personal": false,
"status": "SCHEDULED",
"priority": "DEFAULT",
"category": {
"id": 94,
"value": "Dohodnuto napevno"
},
"activity": null,
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"person": null,
"lead": null,
"project": null,
"businessCase": {
"id": 4,
"code": "OP-18-001",
"name": "Prodej kladiv Datel"
},
"offer": {
"id": 3,
"code": "NAB-18-001",
"name": "Nabídka na prodej kladiv Datel"
},
"salesOrder": null,
"scheduledFrom": "2018-02-20 09:00",
"scheduledTill": "2018-02-20 10:00",
"completed": null,
"description": "<p>Text e-mailu</p>",
"tags": [
"Tag1",
"Tag2"
],
"rowInfo.createdAt": "2018-02-20 08:44",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2018-03-05 10:55",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 9,
"customFields": {
"Vip_37674": "VIP"
},
"participants": [
{
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": null,
"lead": null
},
{
"owner": false,
"role": null,
"name": "Firma s.r.o.",
"person": null,
"company": 2,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nový email ¶
nový emailPUT/api/v2/email/
Založení nového emailu
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Poptávka na ceník",
"priority": "DEFAULT",
"category": 1,
"owner": 4,
"person": 2,
"company": 3,
"scheduledFrom": "2014-06-11 15:00",
"scheduledTill": "2014-06-11 16:00",
"description": "Dobrý den pane Kapre, potřebujeme ceník. Děkuji",
"tags": [
"stitek 1",
"stitek 2"
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"title": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"priority": {
"enum": [
"MINOR",
"DEFAULT",
"CRITICAL"
],
"required": true,
"description": "[Priorita]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"owner": {
"type": "long",
"required": true,
"description": "[Vlastník] ID osoby, který je vlastníkem záznamu"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby, která je v kentextu záznamu"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type": "long",
"required": false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type": "long",
"required": false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type": "long",
"required": false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type": "long",
"required": false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type": "long",
"required": false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type": "datetime",
"required": false,
"description": "[Naplánování v kalendáři od]"
},
"scheduledTill": {
"type": "datetime",
"required": false,
"description": "[Naplánování v kalendáři do]"
},
"completed": {
"type": "datetime",
"required": false,
"description": "[Datum realizace]"
},
"description": {
"type": "string",
"required": false,
"description": "[Obsah emailu]"
},
"tags": {
"type": "array",
"required": false,
"items": {
"type": "string",
"required": true
}
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného emailu"
}
}
}
}
}
Detail emailu ¶
detail emailuGET/api/v2/email/{emailId}/
Získání detailu emailu. Pokud záznam emailu obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/email/2/
Example URI
- emailId
Long
(required) Example: 123ID emailu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 81,
"title": "Poptávka na ceník",
"category": {
"id": 89,
"value": "Firemní"
},
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"owner": {
"id": 2,
"fullName": "Petr Svetr"
},
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"lead": null,
"businessCase": null,
"offer": null,
"salesOrder": null,
"project": null,
"activity": null,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"completed": null,
"description": "Dobrý den pane Kapre, potřebujeme ceník. Děkuji",
"tags": [],
"rowInfo.createdAt": "2017-04-24 08:06",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2017-05-17 10:46",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"customFields": {
"VIP_b91d1": false
},
"participants": [
{
"id": 123,
"owner": false,
"role": null,
"name": "Martin Vosa",
"person": 6,
"company": 2,
"lead": null,
"email": "martin@vosa.cz"
},
{
"id": 120,
"owner": false,
"role": null,
"name": "První lead",
"person": null,
"company": null,
"lead": 18,
"email": "prvni@lead.cz"
},
{
"id": 119,
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": 2,
"lead": null,
"email": "petr@svetr.cz"
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
}
}
}
upravení emailuPOST/api/v2/email/{emailId}/
Upravení dat emailu
Example URI
- emailId
Long
(required) Example: 123ID emailu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Poptávka na ceník",
"category": 89,
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"company": 2,
"businessCase": 5,
"project": 4,
"activity": 14,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"description": "Dobrý den pane Kapre, potřebujeme ceník. Děkuji",
"tags": [
"aaa",
"bbb"
],
"customFields": {
"VIP_b91d1": true
},
"participants": [
{
"id": -123
},
{
"person": 4
},
{
"id": 119,
"owner": true,
"role": "FROM",
"person": 8,
"company": 2,
"lead": null
}
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"title": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"priority": {
"enum": [
"MINOR",
"DEFAULT",
"CRITICAL"
],
"required": true,
"description": "[Priorita]"
},
"status": {
"enum": [
"NEW",
"SCHEDULED",
"COMPLETED",
"CANCELLED"
],
"required": true,
"description": "[Stav]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"personal": {
"type": "boolean",
"required": false,
"description": "[Soukromá aktivita]"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type": "long",
"required": false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type": "long",
"required": false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type": "long",
"required": false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type": "long",
"required": false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type": "long",
"required": false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type": "datetime",
"required": false,
"description": "[Naplánováno od] datum naplánování od"
},
"scheduledTill": {
"type": "datetime",
"required": false,
"description": "[Naplánováno do] datum naplánování do"
},
"completed": {
"type": "datetime",
"required": false,
"description": "[Realizováno] datum realizace aktivity"
},
"description": {
"type": "string",
"required": false,
"description": "[Obsah emailu]"
},
"tags": {
"type": "string",
"required": false,
"description": "[Seznam štítků oddělených čárkou]"
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
},
"participants": {
"type": "array",
"required": false,
"items": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": false,
"description": "[ID] id participanta aktivity (prázdné ID => participant bude založen nový, záporné ID => participant bude smazán, kladné ID => participant bude změněn)"
},
"owner": {
"type": "boolean",
"required": false,
"description": "[Vlastník] příznak, že je participant zároveň vlastníkem aktivity"
},
"role": {
"enum": [
"FROM",
"TO"
],
"required": false,
"description": "[Směr aktivity]"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby, pokud je participant kontaktní osoba"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID klienta, pokud je participant firma (klient)"
},
"lead": {
"type": "long",
"required": false,
"description": "[Lead] ID leadu, pokud je participant lead"
}
}
}
}
}
}
200
Body
{
"success": true,
}
Schema
{
"type":"object",
"required":true,
"properties":{
"success": {
"type":"boolean",
"required":true
}
}
}
smazání emailuDELETE/api/v2/email/{emailId}/
Example URI
- emailId
Long
(required) Example: 123ID emailu
Headers
X-Instance-Name: instanceName
200
Seznam telefonátů ¶
seznam telefonátůGET/api/v2/phonecall/{?offset,limit,sortColumn,sortDirection,fulltext,id,title,scheduledFrom,scheduledTill,completed,category-id,status,owner-id,personFilter,companyContextFilter,leadContextFilter,businessCase,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu telefonátů. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/phonecall/?offset=0&limit=1&title[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených telefonátů je
1000
- sortColumn
string
(optional) Example: idChoices:
id
title
tags
scheduledFrom
scheduledTill
category
owner
status
rowInfo.createdAt
rowInfo.updatedAt
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- id
number
(optional) Example: id[NE]=3Filtrování telefonátů podle ID. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- title
string
(optional) Example: title[LIKE]=%myTag%Filtrování telefonátů podle předmětu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- scheduledFrom
string
(optional) Example: 2014-06-01 10:00Filtrování telefonátů podle data naplánování (“od”). Lze využít operátoru
GT
,GE
,LT
,LE
- scheduledTill
string
(optional) Example: scheduledTill[LT]=2015-06-01 10:00Filtrování telefonátů podle data naplánování (“do”). Lze využít operátoru
GT
,GE
,LT
,LE
- completed
string
(optional) Example: 2015-06-01 10:00Filtrování telefonátů podle data realizování. Lze využít operátoru
GT
,GE
,LT
,LE
- category-id
number
(optional) Example: 3Filtrování telefonátů podle ID kategorie. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: SCHEDULEDFiltrování telefonátů podle statusu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- owner-id
number
(optional) Example: 3Filtrování telefonátů podle ID osoby, která je vlastníkem telefonátu. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- personFilter
number
(optional) Example: 3Filtrování telefonátů podle ID osoby, která je participantem. Nelze využít standardních operátorů.
- companyContextFilter
number
(optional) Example: 3Filtrování telefonátů podle ID klienta, kterého se telefonáty týkají (klient je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- leadContextFilter
number
(optional) Example: 3Filtrování telefonátů podle ID leadu, kterého se telefonáty týkají (lead je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- businessCase
number
(optional) Example: 3Filtrování telefonátů podle ID obchodního případu, kterého se telefonáty týkají. Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování telefonátů podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování telefonátů podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování telefonátů podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 12,
"title": "Vtipný telefonát ohledně nabídky",
"personal": false,
"status": "SCHEDULED",
"priority": "DEFAULT",
"category": {
"id": 94,
"value": "Dohodnuto napevno"
},
"activity": null,
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"person": null,
"lead": null,
"project": null,
"businessCase": {
"id": 4,
"code": "OP-18-001",
"name": "Prodej kladiv Datel"
},
"offer": {
"id": 3,
"code": "NAB-18-001",
"name": "Nabídka na prodej kladiv Datel"
},
"salesOrder": null,
"scheduledFrom": "2018-02-20 09:00",
"scheduledTill": "2018-02-20 10:00",
"completed": null,
"description": "<p>K projednání</p>",
"solution": "<p>výsledek telefonátu</p>",
"tags": [
"Tag1",
"Tag2"
],
"rowInfo.createdAt": "2018-02-20 08:44",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2018-03-05 10:55",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 9,
"customFields": {
"Vip_37674": "VIP"
},
"participants": [
{
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": null,
"lead": null
},
{
"owner": false,
"role": null,
"name": "Martin Vosa",
"person": 6,
"company": null,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nový telefonát ¶
nový telefonátPUT/api/v2/phonecall/
Založení nového telefonátu
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Dotaz z call centra",
"priority": "DEFAULT",
"category": 1,
"owner": 2,
"person": 2,
"company": 3,
"scheduledFrom": "2014-06-11 15:00",
"scheduledTill": "2014-06-11 16:00",
"description": "Mají ještě kapra?",
"solution": "Kapra mají.",
"tags": [
"stitek 1",
"stitek 2"
]
}
Schema
{
"type":"object",
"required":true,
"properties":{
"title": {
"type":"string",
"required":true,
"description": "[Předmět]"
},
"priority": {
"enum": [ "MINOR", "DEFAULT", "CRITICAL" ],
"required":true,
"description": "[Priorita]"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"owner": {
"type":"long",
"required":true,
"description" : "[Vlastník] ID osoby, který je vlastníkem záznamu"
},
"person": {
"type":"long",
"required":false,
"description" : "[Osoba] ID osoby, která je účastníkem telefonátu"
},
"company": {
"type":"long",
"required":false,
"description" : "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type":"long",
"required":false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type":"long",
"required":false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type":"long",
"required":false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type":"long",
"required":false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type":"long",
"required":false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type":"datetime",
"required":false,
"description":"[Naplánování v kalendáři od]"
},
"scheduledTill": {
"type":"datetime",
"required":false,
"description":"[Naplánování v kalendáři do]"
},
"completed": {
"type":"datetime",
"required":false,
"description":"[Datum realizace]"
},
"description": {
"type":"string",
"required":false,
"description": "[K projednání]"
},
"solution": {
"type":"string",
"required":false,
"description": "[Výsledek telefonátu]"
},
"tags" : {
"type": "array",
"required":false,
"items" : {
"type":"string",
"required":true
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného telefonátu"
}
}
}
}
}
Detail telefonátu ¶
detail telefonátuGET/api/v2/phoneCall/{phoneCallId}/
Získání detailu telefonátu. Pokud záznam telefonátu obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/phoneCall/2/
Example URI
- phoneCallId
Long
(required) Example: 123ID telefonátu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 81,
"title": "Dotaz z call centra",
"category": {
"id": 89,
"value": "Firemní"
},
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"owner": {
"id": 2,
"fullName": "Petr Svetr"
},
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"lead": null,
"businessCase": null,
"offer": null,
"salesOrder": null,
"project": null,
"activity": null,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"completed": null,
"description": "Mají ještě kapra?",
"solution": "Kapra mají.",
"tags": [],
"rowInfo.createdAt": "2017-04-24 08:06",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2017-05-17 10:46",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"customFields": {
"VIP_b91d1": false
},
"participants": [
{
"id": 123,
"owner": false,
"role": null,
"name": "Martin Vosa",
"person": 6,
"company": 2,
"lead": null
},
{
"id": 119,
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": 2,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
}
}
}
upravení telefonátuPOST/api/v2/phoneCall/{phoneCallId}/
Upravení dat telefonátu
Example URI
- phoneCallId
Long
(required) Example: 123ID telefonátu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Dotaz z call centra",
"category": 89,
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"company": 2,
"businessCase": 5,
"project": 4,
"activity": 14,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"description": "Mají ještě kapra?",
"solution": "Kapra mají.",
"tags": [
"aaa",
"bbb"
],
"customFields": {
"VIP_b91d1": true
},
"participants": [
{
"id": -123
},
{
"person": 4
},
{
"id": 119,
"owner": true,
"role": "FROM",
"person": 8,
"company": 2,
"lead": null
}
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"title": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"priority": {
"enum": [
"MINOR",
"DEFAULT",
"CRITICAL"
],
"required": true,
"description": "[Priorita]"
},
"status": {
"enum": [
"NEW",
"SCHEDULED",
"COMPLETED",
"CANCELLED"
],
"required": true,
"description": "[Stav]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"personal": {
"type": "boolean",
"required": false,
"description": "[Soukromá aktivita]"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type": "long",
"required": false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type": "long",
"required": false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type": "long",
"required": false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type": "long",
"required": false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type": "long",
"required": false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type": "datetime",
"required": false,
"description": "[Naplánováno od] datum naplánování od"
},
"scheduledTill": {
"type": "datetime",
"required": false,
"description": "[Naplánováno do] datum naplánování do"
},
"completed": {
"type": "datetime",
"required": false,
"description": "[Realizováno] datum realizace aktivity"
},
"description": {
"type": "string",
"required": false,
"description": "[K projednání]"
},
"solution": {
"type": "string",
"required": false,
"description": "[Výsledek telefonátu]"
},
"tags": {
"type": "string",
"required": false,
"description": "[Seznam štítků oddělených čárkou]"
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
},
"participants": {
"type": "array",
"required": false,
"items": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": false,
"description": "[ID] id participanta aktivity (prázdné ID => participant bude založen nový, záporné ID => participant bude smazán, kladné ID => participant bude změněn)"
},
"owner": {
"type": "boolean",
"required": false,
"description": "[Vlastník] příznak, že je participant zároveň vlastníkem aktivity"
},
"role": {
"enum": [
"FROM",
"TO"
],
"required": false,
"description": "[Směr aktivity]"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby, pokud je participant kontaktní osoba"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID klienta, pokud je participant firma (klient)"
},
"lead": {
"type": "long",
"required": false,
"description": "[Lead] ID leadu, pokud je participant lead"
}
}
}
}
}
}
200
Body
{
"success": true,
}
Schema
{
"type":"object",
"required":true,
"properties":{
"success": {
"type":"boolean",
"required":true
}
}
}
smazání telefonátuDELETE/api/v2/phoneCall/{phoneCallId}/
Example URI
- phoneCallId
Long
(required) Example: 123ID telefonátu
Headers
X-Instance-Name: instanceName
200
Seznam dopisů ¶
seznam dopisůGET/api/v2/letter/{?offset,limit,sortColumn,sortDirection,fulltext,id,title,scheduledFrom,scheduledTill,completed,category-id,status,owner-id,personFilter,companyContextFilter,leadContextFilter,businessCase,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu dopisů. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/letter/?offset=0&limit=1&title[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených dopisů je
1000
- sortColumn
string
(optional) Example: idChoices:
id
title
tags
scheduledFrom
scheduledTill
category
owner
status
rowInfo.createdAt
rowInfo.updatedAt
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- id
number
(optional) Example: id[NE]=3Filtrování dopisů podle ID. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- title
string
(optional) Example: title[LIKE]=%myTag%Filtrování dopisů podle předmětu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- scheduledFrom
string
(optional) Example: 2014-06-01 10:00Filtrování dopisů podle data naplánování (“od”). Lze využít operátoru
GT
,GE
,LT
,LE
- scheduledTill
string
(optional) Example: scheduledTill[LT]=2015-06-01 10:00Filtrování dopisů podle data naplánování (“do”). Lze využít operátoru
GT
,GE
,LT
,LE
- completed
string
(optional) Example: 2015-06-01 10:00Filtrování dopisů podle data realizování. Lze využít operátoru
GT
,GE
,LT
,LE
- category-id
number
(optional) Example: =3Filtrování dopisů podle ID kategorie. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: SCHEDULEDFiltrování dopisů podle statusu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- owner-id
number
(optional) Example: 3Filtrování dopisů podle ID osoby, která je vlastníkem dopisu. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- personFilter
number
(optional) Example: 3Filtrování dopisů podle ID osoby, která je participantem. Nelze využít standardních operátorů.
- companyContextFilter
number
(optional) Example: 3Filtrování dopisů podle ID klienta, kterého se dopisy týkají (klient je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- leadContextFilter
number
(optional) Example: 3Filtrování dopisů podle ID leadu, kterého se dopisy týkají (lead je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- businessCase
number
(optional) Example: 3Filtrování dopisů podle ID obchodního případu, kterého se dopisy týkají. Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování dopisů podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování dopisů podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování dopisů podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 12,
"title": "Nabídka zaslaná poštou",
"personal": false,
"status": "SCHEDULED",
"priority": "DEFAULT",
"category": {
"id": 94,
"value": "Dohodnuto napevno"
},
"activity": null,
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"person": null,
"lead": null,
"project": null,
"businessCase": {
"id": 4,
"code": "OP-18-001",
"name": "Prodej kladiv Datel"
},
"offer": {
"id": 3,
"code": "NAB-18-001",
"name": "Nabídka na prodej kladiv Datel"
},
"salesOrder": null,
"scheduledFrom": "2018-02-20 09:00",
"scheduledTill": "2018-02-20 10:00",
"completed": null,
"description": "<p>K projednání</p>",
"tags": [
"Tag1",
"Tag2"
],
"rowInfo.createdAt": "2018-02-20 08:44",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2018-03-05 10:55",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 9,
"customFields": {
"Vip_37674": "VIP"
},
"participants": [
{
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": null,
"lead": null
},
{
"owner": false,
"role": null,
"name": "Martin Vosa",
"person": 6,
"company": null,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nový dopis ¶
nový dopisPUT/api/v2/letter/
Založení nového telefonátu
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Dopis příteli",
"priority": "DEFAULT",
"category": 1,
"owner": 4,
"person": 2,
"company": 3,
"scheduledFrom": "2014-06-11 15:00",
"scheduledTill": "2014-06-11 16:00",
"description": "Dobrý den příteli.",
"tags": [
"stitek 1",
"stitek 2"
]
}
Schema
{
"type":"object",
"required":true,
"properties":{
"title": {
"type":"string",
"required":true,
"description": "[Předmět]"
},
"priority": {
"enum": [ "MINOR", "DEFAULT", "CRITICAL" ],
"required":true,
"description": "[Priorita]"
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"owner": {
"type":"long",
"required":true,
"description" : "[Vlastník] ID osoby, který je vlastníkem záznamu"
},
"person": {
"type":"long",
"required":false,
"description" : "[Osoba] ID osoby, které se dopis zasílá"
},
"company": {
"type":"long",
"required":false,
"description" : "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type":"long",
"required":false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type":"long",
"required":false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type":"long",
"required":false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type":"long",
"required":false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type":"long",
"required":false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type":"datetime",
"required":false,
"description":"[Naplánování v kalendáři od]"
},
"scheduledTill": {
"type":"datetime",
"required":false,
"description":"[Naplánování v kalendáři do]"
},
"completed": {
"type":"datetime",
"required":false,
"description":"[Datum realizace]"
},
"description": {
"type":"string",
"required":false,
"description": "[Obsah dopisu]"
},
"tags" : {
"type": "array",
"required":false,
"items" : {
"type":"string",
"required":true
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného dopisu"
}
}
}
}
}
Detail dopisu ¶
detail dopisuGET/api/v2/letter/{letterId}/
Získání detailu dopisu. Pokud záznam dopisu obsahuje volitelná pole, ve výstupu nejsou přítomná pole, která obsahují prázdnou hodnotu (z optimalizačních důvodů).
https://app.raynet.cz/api/v2/letter/2/
Example URI
- letterId
Long
(required) Example: 123ID dopisu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 81,
"title": "Dopis příteli",
"category": {
"id": 89,
"value": "Firemní"
},
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"owner": {
"id": 2,
"fullName": "Petr Svetr"
},
"company": {
"id": 2,
"name": "Firma s.r.o."
},
"lead": null,
"businessCase": null,
"offer": null,
"salesOrder": null,
"project": null,
"activity": null,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"completed": null,
"description": "Dobrý den příteli.",
"tags": [],
"rowInfo.createdAt": "2017-04-24 08:06",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2017-05-17 10:46",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"customFields": {
"VIP_b91d1": false
},
"participants": [
{
"id": 123,
"owner": false,
"role": null,
"name": "Martin Vosa",
"person": 6,
"company": 2,
"lead": null
},
{
"id": 119,
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": 2,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
}
}
}
upravení dopisuPOST/api/v2/letter/{letterId}/
Upravení dat dopisu
Example URI
- letterId
Long
(required) Example: 123ID dopisu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Dopis příteli",
"category": 89,
"priority": "DEFAULT",
"status": "SCHEDULED",
"personal": false,
"company": 2,
"businessCase": 5,
"project": 4,
"activity": 14,
"scheduledFrom": "2017-06-11 15:00",
"scheduledTill": "2017-06-11 16:00",
"description": "Dobrý den příteli.",
"tags": [
"aaa",
"bbb"
],
"customFields": {
"VIP_b91d1": true
},
"participants": [
{
"id": -123
},
{
"person": 4
},
{
"id": 119,
"owner": true,
"role": "FROM",
"person": 8,
"company": 2,
"lead": null
}
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"title": {
"type": "string",
"required": true,
"description": "[Předmět]"
},
"priority": {
"enum": [
"MINOR",
"DEFAULT",
"CRITICAL"
],
"required": true,
"description": "[Priorita]"
},
"status": {
"enum": [
"NEW",
"SCHEDULED",
"COMPLETED",
"CANCELLED"
],
"required": true,
"description": "[Stav]"
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku ActivityCategory"
},
"personal": {
"type": "boolean",
"required": false,
"description": "[Soukromá aktivita]"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID firmy v kontextu záznamu"
},
"businessCase": {
"type": "long",
"required": false,
"description": "[Obch. případ] ID obch. případu v kontextu záznamu"
},
"offer": {
"type": "long",
"required": false,
"description": "[Nabídka] ID nabídky v kontextu záznamu"
},
"salesOrder": {
"type": "long",
"required": false,
"description": "[Objednávka] ID objednávky v kontextu záznamu"
},
"project": {
"type": "long",
"required": false,
"description": "[Projekt] ID projektu v kontextu záznamu"
},
"activity": {
"type": "long",
"required": false,
"description": "[Aktivita] ID aktivity v kontextu záznamu"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna, je nastavena výchozí bezpečnostní skupina."
},
"scheduledFrom": {
"type": "datetime",
"required": false,
"description": "[Naplánováno od] datum naplánování od"
},
"scheduledTill": {
"type": "datetime",
"required": false,
"description": "[Naplánováno do] datum naplánování do"
},
"completed": {
"type": "datetime",
"required": false,
"description": "[Realizováno] datum realizace aktivity"
},
"description": {
"type": "string",
"required": false,
"description": "[Obsah dopisu]"
},
"tags": {
"type": "string",
"required": false,
"description": "[Seznam štítků oddělených čárkou]"
},
"customFields": {
"type": "object",
"required": false,
"properties": {
"<customFieldKey>": {
"type": "number - pro volitelné pole typu BIG_DECIMAL, boolean - pro volitelné pole typu BOOLEAN, date - pro typ DATE a string - pro ostatní",
"required": false,
"description": "customFieldKey = vygenerovaný unikátní klíč volitelného pole (získaný z konfigurace volitelných polí). Pokud je hodnota neprázdná, nastaví se volitelnému poli, pokud je prázdná nebo null, hodnota se ve volitelném poli vymaže."
}
}
},
"participants": {
"type": "array",
"required": false,
"items": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": false,
"description": "[ID] id participanta aktivity (prázdné ID => participant bude založen nový, záporné ID => participant bude smazán, kladné ID => participant bude změněn)"
},
"owner": {
"type": "boolean",
"required": false,
"description": "[Vlastník] příznak, že je participant zároveň vlastníkem aktivity"
},
"role": {
"enum": [
"FROM",
"TO"
],
"required": false,
"description": "[Směr aktivity]"
},
"person": {
"type": "long",
"required": false,
"description": "[Osoba] ID osoby, pokud je participant kontaktní osoba"
},
"company": {
"type": "long",
"required": false,
"description": "[Firma] ID klienta, pokud je participant firma (klient)"
},
"lead": {
"type": "long",
"required": false,
"description": "[Lead] ID leadu, pokud je participant lead"
}
}
}
}
}
}
200
Body
{
"success": true,
}
Schema
{
"type":"object",
"required":true,
"properties":{
"success": {
"type":"boolean",
"required":true
}
}
}
smazání dopisuDELETE/api/v2/letter/{letterId}/
Example URI
- letterId
Long
(required) Example: 123ID dopisu
Headers
X-Instance-Name: instanceName
200
Uzamčení aktivity ¶
uzamčení aktivityPOST/api/v2/{activityType}/{activityId}/lock
Uzamčení záznamu aktivity pro editaci.
Example URI
- activityType
string
(required) Example: taskTyp aktivity, může nabývat hodnot: ‘task’, ‘meeting’, ‘event’, ‘email’, ‘phonecall’ nebo ‘letter’
- activityId
Long
(required) Example: 123ID aktivity
Headers
X-Instance-Name: instanceName
200
Odemčení aktivity ¶
odemčení aktivityPOST/api/v2/{activityType}/{activityId}/unlock
Odemčení záznamu aktivity k editaci.
Example URI
- activityType
string
(required) Example: meetingTyp aktivity, může nabývat hodnot: ‘task’, ‘meeting’, ‘event’, ‘email’, ‘phonecall’ nebo ‘letter’
- activityId
Long
(required) Example: 123ID aktivity
Headers
X-Instance-Name: instanceName
200
Seznam aktivit ¶
seznam aktivitGET/api/v2/activity/{?offset,limit,sortColumn,sortDirection,fulltext,id,title,scheduledFrom,scheduledTill,completed,category-id,status,owner-id,personFilter,companyContextFilter,leadContextFilter,businessCase,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu všech aktivit, nezávisle na typu. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/activity/?offset=0&limit=1&title[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených událostí je
1000
- sortColumn
string
(optional) Example: idChoices:
id
title
tags
scheduledFrom
scheduledTill
category
owner
status
rowInfo.createdAt
rowInfo.updatedAt
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- id
number
(optional) Example: 3Filtrování aktivit podle ID. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- title
string
(optional) Example: title[LIKE]=%myTag%Filtrování aktivit podle předmětu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- scheduledFrom
string
(optional) Example: scheduledFrom=2014-06-01 10:00Filtrování aktivit podle data naplánování (“od”). Lze využít operátoru
GT
,GE
,LT
,LE
- scheduledTill
string
(optional) Example: scheduledTill[LT]=2015-06-01 10:00Filtrování aktivit podle data naplánování (“do”). Lze využít operátoru
GT
,GE
,LT
,LE
- completed
string
(optional) Example: 2015-06-01 10:00Filtrování aktivit podle data realizování. Lze využít operátoru
GT
,GE
,LT
,LE
- category-id
number
(optional) Example: 3Filtrování aktivit podle ID kategorie. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: SCHEDULEDFiltrování aktivit podle statusu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- owner-id
number
(optional) Example: 3Filtrování aktivit podle ID osoby, která je vlastníkem aktivity. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- personFilter
number
(optional) Example: 3Filtrování aktivit podle ID osoby, která je participantem. Nelze využít standardních operátorů.
- companyContextFilter
number
(optional) Example: 3Filtrování aktivit podle ID klienta, kterého se aktivity týkají (klient je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- leadContextFilter
number
(optional) Example: 3Filtrování aktivit podle ID leadu, kterého se aktivity týkají (lead je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
- businessCase
number
(optional) Example: 3Filtrování aktivit podle ID obchodního případu, kterého se události týkají. Lze využít operátoru
EQ
,NE
,IN
,NOT_IN
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování aktivit podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování aktivit podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování aktivit podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.- tags
string
(optional) Example: tagsFiltrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (
tag1,tag2
).
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 12,
"title": "Seminář ke zdravému spánku",
"personal": true,
"status": "COMPLETED",
"priority": "DEFAULT",
"category": {
"id": 95,
"value": "Zdravý duch"
},
"activity": null,
"company": {
"id": 2,
"name": "Dobrý spánek s.r.o."
},
"person": null,
"lead": null,
"project": null,
"businessCase": null,
"offer": null,
"salesOrder": null,
"scheduledFrom": "2018-02-20 09:00",
"scheduledTill": "2018-02-20 10:00",
"completed": "2018-02-20 10:00",
"description": "<p>Poznámka</p>",
"tags": [
"Tag1",
"Tag2"
],
"rowInfo.createdAt": "2018-02-20 08:44",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2018-03-05 10:55",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 9,
"customFields": null,
"participants": [
{
"owner": true,
"role": "FROM",
"name": "Petr Svetr",
"person": 2,
"company": null,
"lead": null
},
{
"owner": false,
"role": null,
"name": "Petr Svetr",
"person": 2,
"company": null,
"lead": null
}
],
"recurrence": {
"id": 5,
"count": 3,
"endDate": null,
"interval": "WEEKLY",
"recurrenceDay": 4,
"startDate": "2018-03-05"
},
"meetingPlace": "Impact Hub Ostrava",
"companyAddress": {
"city": "Ostrava",
"country": "Česká republika",
"province": null,
"street": "Sokolská tř. 1263/24",
"zipCode": "702 00"
}
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Diskuze ¶
API pro práci s diskuzemi.
Seznam příspěvků diskuze ¶
seznam příspěvků diskuzeGET/api/v2/{entityName}/{entityId}/post/
https://app.raynet.cz/api/v2/company/4/post/
Example URI
- entityName
string
(required) Example: companyNázev entity (podporované hodnoty jsou: ‘company’, ‘lead’, ‘person’, ‘businessCase’, ‘offer’, ‘salesOrder’, ‘product’, ‘priceList’, ‘project’, ‘invoice’, ‘task’, ‘email’, ‘event’, ‘letter’, ‘phoneCall’, ‘meeting’)
- entityId
Long
(required) Example: 123ID entity
Headers
Content-Type: application/json
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 2,
"data": [
{
"id": 16,
"parent": 16,
"date": "2017-12-13 13:00",
"comment": "Ahoj, jak se máš ?",
"owner": {
"id": 2,
"fullName": "Dušan Gálik"
},
"_version": 1
},
{
"id": 17,
"parent": 16,
"date": "2017-12-13 13:00",
"comment": "Mám se dobře, díky",
"owner": {
"id": 6,
"fullName": "Igor Hnízdo"
},
"_version": 0
}
]
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
nový příspěvek do diskuzePUT/api/v2/{entityName}/{entityId}/post/
https://app.raynet.cz/api/v2/company/4/post/
Example URI
- entityName
string
(required) Example: companyNázev entity (podporované hodnoty jsou: `company’, ‘lead’, ‘person’, ‘businessCase’, ‘offer’, ‘salesOrder’, ‘product’, ‘priceList’, ‘project’, ‘invoice’, ‘task’, ‘email’, ‘event’, ‘letter’, ‘phoneCall’, ‘meeting’)
- entityId
Long
(required) Example: 123ID entity
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"parent": 16,
"comment": "Další zajímavý komentář"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"parent": {
"type": "long",
"required": true,
"unique": true,
"description": "[ID nadřazeného příspěvku, pod který má být nový komentář zařazen]"
},
"comment": {
"type": "string",
"required": true,
"description": "[Komentář]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 17
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově vloženého příspěvku"
}
}
}
}
}
Smazání příspěvku z diskuze ¶
smazání příspěvku z diskuzeDELETE/api/v2/{entityName}/{entityId}/post/{postId}/
https://app.raynet.cz/api/v2/company/4/post/19/
Example URI
- entityName
string
(required) Example: companyNázev entity (podporované hodnoty jsou:
company
,lead
,person
,businessCase
,offer
,salesOrder
,product
,priceList
,project
,invoice
,task
,email
,event
,letter
,phoneCall
,meeting
)- entityId
Long
(required) Example: 123ID entity
- postId
Long
(required) Example: 123ID příspěvku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
201
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
Seznam sledovačů diskuze ¶
seznam sledovačů diskuzeGET/api/v2/{entityName}/{entityId}/watcher/
https://app.raynet.cz/api/v2/company/4/watcher/
Example URI
- entityName
string
(required) Example: companyNázev entity (podporované hodnoty jsou:
company
,lead
,person
,businessCase
,offer
,salesOrder
,product
,priceList
,project
,invoice
,task
,email
,event
,letter
,phoneCall
,meeting
)- entityId
Long
(required) Example: 123ID entity
Headers
Content-Type: application/json
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 2,
"data": [
{
"id": 16,
"person": {
"id": 2,
"fullName": "Dušan Gálik"
},
"_version": 0
},
{
"id": 17,
"person": {
"id": 6,
"fullName": "Igor Hnízdo"
},
"_version": 0
}
]
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Přidat sledovače diskuze ¶
přidání sledovače diskuzePUT/api/v2/{entityName}/{entityId}/watcher/{personId}/
https://app.raynet.cz/api/v2/company/4/watcher/2/
Example URI
- entityName
string
(required) Example: companyNázev entity (podporované hodnoty jsou:
company
,lead
,person
,businessCase
,offer
,salesOrder
,product
,priceList
,project
,invoice
,task
,email
,event
,letter
,phoneCall
,meeting
)- entityId
Long
(required) Example: 123ID entity
- personId
Long
(required) Example: 123ID kontaktní osoby pro přidání mezi sledovače diskuze
Headers
Content-Type: application/json
X-Instance-Name: instanceName
201
Body
{
"success": true,
"data": {
"id": 17
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově vloženého komentáře"
}
}
}
}
}
Odebrat sledovače diskuze ¶
odebrání sledovače diskuzeDELETE/api/v2/{entityName}/{entityId}/post/{personId}/
https://app.raynet.cz/api/v2/company/4/watcher/2/
Example URI
- entityName
string
(required) Example: companyNázev entity (podporované hodnoty jsou:
company
,lead
,person
,businessCase
,offer
,salesOrder
,product
,priceList
,project
,invoice
,task
,email
,event
,letter
,phoneCall
,meeting
)- entityId
Long
(required) Example: 123ID entity
- personId
Long
(required) Example: 123ID kontaktní osoby pro odebrání ze sledovačů diskuze
Headers
Content-Type: application/json
X-Instance-Name: instanceName
201
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
Číselníky ¶
API pro práci s číselníky.
Kategorie leadu ¶
seznam kategorií leaduGET/api/v2/leadCategory/
LeadCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "bez reakce",
"code02": "aa99dd"
}
]
}
založení nové kategorie leaduPUT/api/v2/leadCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "bez reakce",
"code02": "aa99dd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení kategorie leaduPOST/api/v2/leadCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "bez reakce",
"code02": "aa99dd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie leaduDELETE/api/v2/leadCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Kategorie firmy ¶
seznam kategorií firmyGET/api/v2/companyCategory/
CompanyCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Zostřený režim",
"code02": "aa99dd"
}
]
}
založení nové kategorie firmyPUT/api/v2/companyCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Zostřený režim",
"code02": "aa99dd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení kategorie firmyPOST/api/v2/companyCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Zostřený režim",
"code02": "aa99dd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie firmyDELETE/api/v2/companyCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Zdroje kontaktů ¶
seznam zdrojů kontaktuGET/api/v2/contactSource/
ContactSource
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "vlastní nový kontakt"
}
]
}
založení nového zdroje kontaktuPUT/api/v2/contactSource/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "vlastní nový kontakt"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení zdroje kontaktuPOST/api/v2/contactSource/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "vlastní nový kontakt"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání zdroje kontaktuDELETE/api/v2/contactSource/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Počet zaměstnanců ¶
seznam počtu zaměstnancůGET/api/v2/employeesNumber/
EmployeesNumber
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "1 - 10"
}
]
}
přidání počtu zaměstnancůPUT/api/v2/employeesNumber/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "1 - 10"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení počtu zaměstnancůPOST/api/v2/employeesNumber/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "1 - 10"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání počtu zaměstnancůDELETE/api/v2/employeesNumber/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Právní forma ¶
seznam právních foremGET/api/v2/legalForm/
LegalForm
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "s.r.o."
}
]
}
založení nové právní formyPUT/api/v2/legalForm/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "s.r.o."
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení právní formyPOST/api/v2/legalForm/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "s.r.o."
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání právní formyDELETE/api/v2/legalForm/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Platební podmínky ¶
seznam platebních podmínekGET/api/v2/paymentTerm/
PaymentTerm
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "7 dní"
}
]
}
přidání platební podmínkyPUT/api/v2/paymentTerm/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "7 dní"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení platební podmínkyPOST/api/v2/paymentTerm/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "7 dní"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání platební podmínkyDELETE/api/v2/paymentTerm/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Obrat ¶
seznam obratůGET/api/v2/companyTurnover/
CompanyTurnover
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "do 1 mil. Kč"
}
]
}
přidání nového obratuPUT/api/v2/companyTurnover/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "do 1 mil. Kč"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení obratuPOST/api/v2/companyTurnover/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "do 1 mil. Kč"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání obratuDELETE/api/v2/companyTurnover/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Obor činnost ¶
seznam oborů činnostiGET/api/v2/economyActivity/
EconomyActivity
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "obor"
}
]
}
založení nového oboru činnostiPUT/api/v2/economyActivity/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "obor"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení oboru činnostiPOST/api/v2/economyActivity/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "obor"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání oboru činnostiDELETE/api/v2/economyActivity/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Firma klasifikace 1 ¶
seznam klasifikací 1 pro firmuGET/api/v2/companyClassification1/
CompanyClassification1
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "klasifikace 1"
}
]
}
založení nové klasifikace 1 pro firmuPUT/api/v2/companyClassification1/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 1"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení klasifikace 1 pro firmuPOST/api/v2/companyClassification1/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 1"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání klasifikace 1DELETE/api/v2/companyClassification1/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Firma klasifikace 2 ¶
seznam klasifikací 2 pro firmuGET/api/v2/companyClassification2/
CompanyClassification2
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "klasifikace 2"
}
]
}
založení nové klasifikace 2 pro firmuPUT/api/v2/companyClassification2/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 2"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení klasifikace 2 pro firmuPOST/api/v2/companyClassification2/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 2"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání klasifikace 2DELETE/api/v2/companyClassification2/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Firma klasifikace 3 ¶
seznam klasifikací 3 pro firmuGET/api/v2/companyClassification3/
CompanyClassification3
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "klasifikace 3"
}
]
}
založení nové klasifikace 3 pro firmuPUT/api/v2/companyClassification3/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 3"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení klasifikace 3 pro firmuPOST/api/v2/companyClassification3/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 3"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání klasifikace 3DELETE/api/v2/companyClassification3/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Obchodní teritorium ¶
seznam obchodních teritoriíGET/api/v2/territory/
Territory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Morava"
}
]
}
založení nového obchodního teritoriaPUT/api/v2/territory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Morava"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení obchodního teritoriaPOST/api/v2/territory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Morava"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání obchodního teritoriaDELETE/api/v2/territory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Kategorie osoby ¶
seznam kategorií osobyGET/api/v2/personCategory/
PersonCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "VIP"
}
]
}
založení nové kategorie osobyPUT/api/v2/personCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "VIP",
"code02": "aa99dd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení kategorie osobyPOST/api/v2/personCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "VIP",
"code02": "aa99dd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie osobyDELETE/api/v2/personCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Osoba klasifikace 1 ¶
seznam klasifikací 1 osobyGET/api/v2/personClassification1/
PersonClassification1
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "klasifikace 1"
}
]
}
založení nové klasifikace 1 pro osobuPUT/api/v2/personClassification1/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 1"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení klasifikace 1 pro osobuPOST/api/v2/personClassification1/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 1"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání klasifikace 1 osobyDELETE/api/v2/personClassification1/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Osoba klasifikace 2 ¶
seznam klasifikací 2 osobyGET/api/v2/personClassification2/
PersonClassification2
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "klasifikace 2"
}
]
}
založení nové klasifikace 2 pro osobuPUT/api/v2/personClassification2/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 2"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení klasifikace 2 pro osobuPOST/api/v2/personClassification2/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 2"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání klasifikace 2 osobyDELETE/api/v2/personClassification2/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Osoba klasifikace 3 ¶
seznam klasifikací 3 osobyGET/api/v2/personClassification3/
PersonClassification3
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "klasifikace 3"
}
]
}
založení nové klasifikace 3 pro osobuPUT/api/v2/personClassification3/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 3"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení klasifikace 3 pro osobuPOST/api/v2/personClassification3/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 3"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání klasifikace 3 osobyDELETE/api/v2/personClassification3/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Jazyk ¶
seznam jazykůGET/api/v2/language/
Language
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "čeština"
}
]
}
založení nového jazykuPUT/api/v2/language/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "čeština"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení jazykuPOST/api/v2/language/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "čeština"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání jazykuDELETE/api/v2/language/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Rodinný stav ¶
seznam rodinných stavůGET/api/v2/maritalStatus/
MaritalStatus
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Svobodná / Svobodný"
}
]
}
přidání rodinného stavuPUT/api/v2/maritalStatus/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Svobodná / Svobodný"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení rodinného stavuPOST/api/v2/maritalStatus/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Svobodná / Svobodný"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání rodinného stavuDELETE/api/v2/maritalStatus/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Kategorie produktů ¶
seznam kategorie produktůGET/api/v2/productCategory/
ProductCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "kusový prodej"
}
]
}
založení nové kategorie produktuPUT/api/v2/productCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "kusový prodej",
"code02": "aa99dd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení kategorie produktuPOST/api/v2/productCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "kusový prodej",
"code02": "aa99dd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie produktůDELETE/api/v2/productCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Produktová řada ¶
seznam produktových řadGET/api/v2/productLine/
ProductLine
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "ovoce"
}
]
}
založení nové produktové řadyPUT/api/v2/productLine/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "ovoce"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení produktové řadyPOST/api/v2/productLine/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "ovoce"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání produktové řadyDELETE/api/v2/productLine/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Kategorie obchodního případu ¶
seznam kategorií obchodního případuGET/api/v2/businessCaseCategory/
BusinessCaseCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Prodej nového zboží",
"code02": "cdcdcd"
}
]
}
založení nové kategorie obchodního případuPUT/api/v2/businessCaseCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Prodej nového zboží",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení kategorie obchodního případuPOST/api/v2/businessCaseCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Prodej nového zboží",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie obchodního případuDELETE/api/v2/businessCaseCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Typ obchodního případu ¶
seznam typů obchodního případuGET/api/v2/businessCaseType/
BusinessCaseType
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Servis"
}
]
}
Stavy obchodního případu ¶
seznam stavů obchodního případuGET/api/v2/businessCasePhase/
BusinessCasePhase
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Před uzavřením",
"code02": "E9802F",
"strValue01": "B_ACTIVE",
"probability": 50,
"businessCaseTypeId": 64,
"locked": false
}
]
}
založení nového stavu obchodního případuPUT/api/v2/businessCasePhase/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Před uzavřením",
"code02": "E9802F",
"probability": 50,
"businessCaseTypeId": null
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název stavu OP]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva stavu OP]"
},
"probability": {
"type": "number",
"required": false,
"description": "[Výchozí pravděpodobnost] pro daný stav OP"
},
"businessCaseTypeId": {
"type": "long",
"required": false,
"description": "[ID typu OP] (povinné, pokud je zapnuto rozšíření 'Typy obchodu' v nastavení evidence OP)"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založeného stavu OP"
}
}
}
smazání stavu obchodního případuDELETE/api/v2/businessCasePhase/{id}/
Example URI
- id
Long
(required) Example: 123ID stavu OP
Headers
X-Instance-Name: instanceName
200
Obchodní případ klasifikace 1 ¶
seznam klasifikací 1 pro obchodní případGET/api/v2/businessCaseClassification1/
BusinessCaseClassification1
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "klasifikace 1"
}
]
}
založení nové klasifikace 1 pro obchodní případPUT/api/v2/businessCaseClassification1/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 1"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení klasifikace 1 pro obchodní případPOST/api/v2/businessCaseClassification1/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 1"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání klasifikace 1DELETE/api/v2/businessCaseClassification1/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Obchodní případ klasifikace 2 ¶
seznam klasifikací 2 pro obchodní případGET/api/v2/businessCaseClassification2/
BusinessCaseClassification2
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "klasifikace 2"
}
]
}
založení nové klasifikace 2 pro obchodní případPUT/api/v2/businessCaseClassification2/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 2"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení klasifikace 2 pro obchodní případPOST/api/v2/businessCaseClassification2/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 2"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání klasifikace 2DELETE/api/v2/businessCaseClassification2/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Obchodní případ klasifikace 3 ¶
seznam klasifikací 3 pro obchodní případGET/api/v2/businessCaseClassification3/
BusinessCaseClassification3
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "klasifikace 3"
}
]
}
založení nové klasifikace 3 pro obchodní případPUT/api/v2/businessCaseClassification3/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 3"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení klasifikace 3 pro obchodní případPOST/api/v2/businessCaseClassification3/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "klasifikace 3"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání klasifikace 3DELETE/api/v2/businessCaseClassification3/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Měny ¶
seznam měnGET/api/v2/currency/
Currency
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 19,
"code01": "Kč",
"code02": "CZK",
"strValue01": "Česká koruna"
}
]
}
založení nové měnyPUT/api/v2/currency/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "¥",
"code02": "JPY",
"strValue01": "Japonský jen"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název měny]"
},
"code02": {
"type": "string",
"required": true,
"unique": true,
"description": "[Kód měny]"
},
"strValue01": {
"type": "string",
"required": false,
"unique": false,
"description": "[Popis měny]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení měnyPOST/api/v2/currency/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "¥",
"code02": "JPY",
"strValue01": "Japonský jen"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název měny]"
},
"code02": {
"type": "string",
"required": true,
"unique": true,
"description": "[Kód měny]"
},
"strValue01": {
"type": "string",
"required": false,
"unique": false,
"description": "[Popis měny]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání měnyDELETE/api/v2/currency/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Kategorie prohry ¶
seznam kategorií prohryGET/api/v2/losingCategory/
LosingCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "přechod ke konkurenci"
}
]
}
založení nové kategorie prohryPUT/api/v2/losingCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "přechod ke konkurenci"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení kategorie prohryPOST/api/v2/losingCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "přechod ke konkurenci"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie prohryDELETE/api/v2/losingCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Typy telefonu ¶
seznam typů telefonuGET/api/v2/telType/
TypTel
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "pager"
}
]
}
založení nového typu telefonuPUT/api/v2/telType/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "pager"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
}
}
upravení typu telefonuPOST/api/v2/telType/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "pager"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název číselníkové položky]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání typu telefonuDELETE/api/v2/telType/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Stavy leadu ¶
seznam stavů leaduGET/api/v2/leadPhase/
LeadPhase
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Odloženo",
"code02": "cdcdcd",
"locked": false
}
]
}
založení nového stavu leaduPUT/api/v2/leadPhase/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název stavu]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva stavu]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
smazání stavu leaduDELETE/api/v2/leadPhase/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Kategorie nabídky ¶
seznam kategorií nabídkyGET/api/v2/offerCategory/
OfferCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Odloženo",
"code02": "cdcdcd"
}
]
}
založení nové kategorie nabídkyPUT/api/v2/offerCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení kategorie nabídkyPOST/api/v2/offerCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie nabídkyDELETE/api/v2/offerCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Kategorie objednávky ¶
seznam kategorií objednávkyGET/api/v2/salesOrderCategory/
SalesOrderCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Odloženo",
"code02": "cdcdcd"
}
]
}
založení nové kategorie objednávkyPUT/api/v2/salesOrderCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení kategorie objednávkyPOST/api/v2/salesOrderCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie objednávkyDELETE/api/v2/salesOrderCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Kategorie projektu ¶
seznam kategorií projektuGET/api/v2/projectCategory/
ProjectCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Odloženo",
"code02": "cdcdcd"
}
]
}
založení nové kategorie projektuPUT/api/v2/projectCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení kategorie projektuPOST/api/v2/projectCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie projektuDELETE/api/v2/projectCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Kategorie ceníku ¶
seznam kategorií ceníkuGET/api/v2/priceListCategory/
PriceListCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Odloženo",
"code02": "cdcdcd"
}
]
}
založení nové kategorie ceníkuPUT/api/v2/priceListCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení kategorie ceníkuPOST/api/v2/priceListCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo",
"code02": "cdcdcd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie ceníkuDELETE/api/v2/priceListCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Stavy nabídky ¶
seznam stavů nabídkyGET/api/v2/offerStatus/
OfferStatus
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Odloženo",
"locked": false
}
]
}
založení nového stavu nabídkyPUT/api/v2/offerStatus/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název stavu]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
smazání stavu nabídkyDELETE/api/v2/offerStatus/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Stavy objednávky ¶
seznam stavů objednávkyGET/api/v2/salesOrderStatus/
SalesOrderStatus
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Odloženo",
"locked": false
}
]
}
založení nového stavu objednávkyPUT/api/v2/salesOrderStatus/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název stavu]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
smazání stavu objednávkyDELETE/api/v2/salesOrderStatus/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Stavy projektu ¶
seznam stavů projektuGET/api/v2/projectStatus/
ProjectStatus
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "Odloženo",
"locked": false
}
]
}
založení nového stavu projektuPUT/api/v2/projectStatus/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "Odloženo"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název stavu]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
smazání stavu projektuDELETE/api/v2/projectStatus/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Sazby DPH ¶
seznam sazeb DPHGET/api/v2/taxRate/
TaxRate
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "15%",
"numValue01": 15
}
]
}
založení nové sazby DPHPUT/api/v2/taxRate/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "15%"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Hodnota sazby v procentech]"
},
"numValue01": {
"type": "long",
"required": false,
"unique": true,
"description": "[Hodnota sazby v číselném vyjádření] - pokud není hodnota zadána, je vypočítána z code01"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
smazání sazby DPHDELETE/api/v2/taxRate/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
GDPR - Forma souhlasu ¶
seznam forem souhlasuGET/api/v2/gdprFormAgreement/
GdprFormAgreement
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
id": 140,
"code01": "elektronicky",
}
]
}
založení nové formy souhlasuPUT/api/v2/gdprFormAgreement/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "elektronicky"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Popis formy souhlasu]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení formy souhlasuPOST/api/v2/gdprFormAgreement/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "elektronicky"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Popis formy souhlasu]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání formy souhlasuDELETE/api/v2/gdprFormAgreement/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Kategorie aktivity ¶
seznam kategorií aktivitGET/api/v2/activityCategory/
ActivityCategory
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 3,
"code01": "bez reakce",
"code02": "aa99dd"
}
]
}
založení nové kategorie aktivityPUT/api/v2/activityCategory/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "bez reakce",
"code02": "aa99dd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
201
Body
{
"success": true,
"data": 5
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené položky číselníku"
}
}
}
upravení kategorie aktivityPOST/api/v2/activityCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"code01": "bez reakce",
"code02": "aa99dd"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"code01": {
"type": "string",
"required": true,
"unique": true,
"description": "[Název kategorie]"
},
"code02": {
"type": "string",
"required": false,
"description": "[Barva kategorie]"
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
smazání kategorie aktivityDELETE/api/v2/activityCategory/{id}/
Example URI
- id
Long
(required) Example: 123ID položky číselníku
Headers
X-Instance-Name: instanceName
200
Bezpečnostní úrovně ¶
API pro práci s bezpečnostními úrovněmi.
Seznam bezpečnostních úrovní ¶
seznam bezpečnostních úrovníGET/api/v2/securityLevel/{?offset,limit,name,locked}
Získání seznamu bezpečnostních úrovní. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/securityLevel/?offset=0&limit=1&name[LIKE]=Sd%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- name
string
(optional) Example: name[LIKE]=RAY%Filtrování bezpečnostních úrovní podle jména. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- locked
boolean
(optional) Example: YESFiltrování bezpečnostních úrovní podle stavu uzamčení. Lze využít operátoru
EQ
,NE
.
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 2,
"data": [
{
"id": 1,
"name": "Sdílená",
"locked": true
},
{
"id": 2,
"name": "halabala",
"locked": false
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
nová bezpečnostní úroveňPUT/api/v2/securityLevel/
Založení nové bezpečnostní úrovně. Bude přiřazena automaticky všem administrátorům.
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "Bezpečnostní úroveň 1"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Název]"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené bezpečnostní úrovně"
}
}
}
}
}
500
Headers
Content-Type: application/json
Body
{
"message": "TranslatedApplicationException: exception.duplicateKey",
"translatedMessage": "Některá z položek není unikátní."
}
Smazání bezpečnostní úrovně ¶
smazání bezpečnostní úrovněDELETE/api/v2/securityLevel/{securityLevelId}/
Example URI
- securityLevelId
Long
(required) Example: 123ID bezpečnostní úrovně
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true
}
500
Headers
Content-Type: application/json
Body
{
"message": "TranslatedApplicationException: exception.stillReferenced",
"translatedMessage": "Tento záznam nelze smazat - odkazují se na něj jiné záznamy."
}
Hromadné přidání uživatelů do bezpečnostní úrovně ¶
hromadné přidání uživatelů do bezpečnostní úrovněPOST/api/v2/securityLevel/{securityLevelId}/multiAddUser
Example URI
- securityLevelId
Long
(required) Example: 123ID bezpečnostní úrovně
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"personIds": [
84,
102
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"personIds": {
"type": "array",
"required": true,
"items": {
"type": "long",
"required": true,
"description": "ID osoby (entita Person) uživatele"
}
}
}
}
201
Body
{
"success": true,
}
Schema
{
"type":"object",
"required":true,
"properties":{
"success": {
"type":"boolean",
"required":true
}
}
}
Hromadné odebrání uživatelů z bezpečnostní úrovně ¶
hromadné odebrání uživatelů z bezpečnostní úrovněPOST/api/v2/securityLevel/{securityLevelId}/multiRemoveUser
Example URI
- securityLevelId
Long
(required) Example: 123ID bezpečnostní úrovně
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"personIds": [
84,
102
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"personIds": {
"type": "array",
"required": true,
"items": {
"type": "long",
"required": true,
"description": "ID osoby (entita Person) uživatele"
}
}
}
}
201
Body
{
"success": true,
}
Schema
{
"type":"object",
"required":true,
"properties":{
"success": {
"type":"boolean",
"required":true
}
}
}
Knihovna dokumentů ¶
API pro práci s knihovnou dokumentů.
Listování složkami ¶
seznam složek a souborůGET/api/v2/dms/{?path}
Api pro listování strukturou složek. Ve výsledku je vrácen seznam složek, souborů a odkazů, které jsou relevantní pro filtrovanou cestu (path).
Example URI
- path
string
(optional) Example: /DokumentyFiltrování podle cesty ve struktuře složek. Lze využít pouze operátoru
EQ
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": [
{
"id": 0,
"name": "GDPR",
"type": "Folder",
"path": "/Dokumenty/GDPR",
"owner": null,
"link": null,
"file": null
},
{
"id": 1,
"name": "vzorek dat.xlsx",
"type": "Document",
"path": null,
"owner": {
"id": 175,
"fullName": "Petr Svetr"
},
"link": null,
"file": {
"id": 35891,
"fileName": "vzorek dat.xlsx",
"size": 6371,
"contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
}
},
{
"id": 2,
"name": "Ceník",
"type": "Document",
"path": null,
"owner": {
"id": 2619,
"fullName": "Alena Lososová"
},
"link": {
"link": "https://docs.google.com/document/d/a623fda94c2d4ae6a980cd7513482e08/edit",
"linkName": "Ceník produktu"
},
"file": null
}
]
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nová složka ¶
nová složkaPUT/api/v2/dms/folder/
Založení nové složky v DMS. Složka musí mít unikátní název v rámci svého zařazení a nesmí obsahovat některé speciální znaky.
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"name": "Složka 1",
"parent": null,
"category": 143,
"securityLevel": 1
}
Schema
{
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true,
"description": "[Název]"
},
"parent": {
"type": "long",
"required": false,
"description": "[Nadřazená složka] ID složky, do které má být složka vložena. Pokud není vyplněna je založena do hlavní složky."
},
"category": {
"type": "long",
"required": false,
"description": "[Kategorie] ID záznamu z číselníku DocumentCategory"
},
"securityLevel": {
"type": "long",
"required": false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené firmy"
}
}
}
}
}
smazání složky ¶
Smazání složky pokud je prázdná a již neobsahuje žádné vnořené složky nebo dokumenty.
smazání složkyDELETE/api/v2/dms/folder/{folderId}/
Example URI
- folderId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
200
smazání složky kaskádovitě ¶
Smazání složky včetně všech obsažených záznamů.
smazání složky kaskádovitěDELETE/api/v2/dms/folder/{folderId}/cascade/
Example URI
- folderId
Long
(required) Example: 123ID firmy
Headers
X-Instance-Name: instanceName
200
nový dokument ¶
nový dokumentPUT/api/v2/dms/document/
Vložení nového dokumentu do knihovny dokumentů.
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"file": {
"uuid": "7d694dbb4e6241829de8a385da797283",
"fileName": "picture.png",
"contentType": "image/png",
"fileSize": 24309
},
"status": "E_WIN",
"securityLevel": 4,
"category": 288,
"template": false,
"validFrom": "2021-01-01",
"validTill": "2022-01-01",
"folder": 9
}
Schema
{
"type":"object",
"required":true,
"properties":{
"file": {
"type":"object",
"required":false,
"properties":{
"uuid": {
"type": "string",
"required": true,
"description": "[UUID souboru]"
},
"fileName": {
"type": "string",
"required": true,
"description": "[Název souboru]"
},
"contentType": {
"type": "string",
"required": true,
"description": "[Typ souboru]"
},
"fileSize": {
"type": "Long",
"required": true,
"description": "[Velikost souboru v bytech]"
}
}
},
"link": {
"type":"object",
"required":false,
"properties":{
"link": {
"type":"string",
"required":false,
"description": "[Název odkazu] - pokud je vyplněno, je povinný i linkName"
},
"linkName": {
"type":"string",
"required":false,
"description": "[Název odkazu] - pokud je vyplněno, je povinný i link"
}
},
},
"status": {
"enum": [ "A_DRAFT", "E_WIN", "G_STORNO" ],
"required":false,
"description": "[Stav] - výchozí hodnota A_DRAFT"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku DocumentCategory"
},
"template": {
"type":"boolean",
"required":false,
"description": "[Šablona]"
},
"validFrom": {
"type":"date",
"required":false,
"description": "[Platné od] datum platné od"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Platné do] datum platné do"
},
"folder": {
"type":"long",
"required":true,
"description": "[Umístění] ID záznamu adresáře"
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založené firmy"
}
}
}
}
}
Detail dokumentu ¶
detail dokumentuGET/api/v2/dms/document/{documentId}/
Získání detailu dokumentu.
https://app.raynet.cz/api/v2/dms/document/1/
Example URI
- documentId
Long
(required) Example: 123ID dokumentu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 2,
"code": "DOK-21-002",
"name": "Muj dokument",
"tags": [],
"description": null,
"owner": {
"id": 1,
"fullName": "RAYNET CRM"
},
"category": {
"id": 289,
"value": "Kategorie dokumentu"
},
"validFrom": "2021-02-01",
"validTill": "2022-02-01",
"status": "A_DRAFT",
"template": false,
"folder": {
"id": 8,
"name": "Rejnoci",
"path": "/Dokumenty/Rejnoci"
},
"attachments": [
{
"id": 53,
"link": "https://seznam.cz",
"linkName": "aaaa",
"file": null
},
{
"id": 54,
"link": null,
"linkName": null,
"file": {
"id": 488,
"contentType": "image/jpeg",
"fileName": "MaMaZu.jpg",
"size": 218878
}
}
],
"link": null,
"file": {
"id": 488,
"contentType": "image/jpeg",
"fileName": "MaMaZu.jpg",
"size": 218878
},
"rowInfo.createdAt": "2021-03-08 08:10",
"rowInfo.createdBy": "romana.kaprova@raynet.cz",
"rowInfo.updatedAt": "2021-03-08 08:29",
"rowInfo.updatedBy": "romana.kaprova@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 4,
"name": "Asistentka/Asistent"
},
"extIds": null,
"_version": 5
}
}
upravení dokumentuPOST/api/v2/dms/document/
Upravení dat dokumentu
Example URI
- businessCaseId
Long
(required) Example: 123ID obchodniho pripadu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"file": {
"uuid": "7d694dbb4e6241829de8a385da797283",
"fileName": "picture.png",
"contentType": "image/png",
"fileSize": 24309
},
"status": "E_WIN",
"securityLevel": 4,
"category": 288,
"template": false,
"validFrom": "2021-01-01",
"validTill": "2022-01-01",
"folder": 9
}
Schema
{
"type":"object",
"required":true,
"properties":{
"file": {
"type":"object",
"required":false,
"properties":{
"uuid": {
"type": "string",
"required": true,
"description": "[UUID souboru]"
},
"fileName": {
"type": "string",
"required": true,
"description": "[Název souboru]"
},
"contentType": {
"type": "string",
"required": true,
"description": "[Typ souboru]"
},
"fileSize": {
"type": "Long",
"required": true,
"description": "[Velikost souboru v bytech]"
}
}
},
"link": {
"type":"object",
"required":false,
"properties":{
"link": {
"type":"string",
"required":false,
"description": "[Název odkazu] - pokud je vyplněno, je povinný i linkName"
},
"linkName": {
"type":"string",
"required":false,
"description": "[Název odkazu] - pokud je vyplněno, je povinný i link"
}
},
},
"status": {
"enum": [ "A_DRAFT", "E_WIN", "G_STORNO" ],
"required":false,
"description": "[Stav] - výchozí hodnota A_DRAFT"
},
"securityLevel": {
"type":"long",
"required":false,
"description": "[Bezpečnostní úroveň] ID bezpečnostní úrovně. Pokud není vyplněna je nastavena výchozí bezpečnostní skupina."
},
"category": {
"type":"long",
"required":false,
"description" : "[Kategorie] ID záznamu z číselníku DocumentCategory"
},
"template": {
"type":"boolean",
"required":false,
"description": "[Šablona]"
},
"validFrom": {
"type":"date",
"required":false,
"description": "[Platné od] datum platné od"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Platné do] datum platné do"
},
"folder": {
"type":"long",
"required":true,
"description": "[Umístění] ID záznamu adresáře"
}
}
}
200
smazání dokumentuDELETE/api/v2/dms/document/{documentId}/
Example URI
- documentId
Long
(required) Example: 123ID dokumentu
Headers
X-Instance-Name: instanceName
200
Uzamčení dokumentu ¶
uzamčení dokumentuPOST/api/v2/dms/document/{documentId}/lock
Uzamčení záznamu dokumentu pro editaci.
Example URI
- documentId
Long
(required) Example: 123ID dokumentu
Headers
X-Instance-Name: instanceName
200
Odemčení dokumentu ¶
odemčení dokumentuPOST/api/v2/dms/document/{documentId}/unlock
Odemčení záznamu dokumentu k editaci.
Example URI
- documentId
Long
(required) Example: 123ID dokumentu
Headers
X-Instance-Name: instanceName
200
Zneplatnění dokumentu ¶
zneplatnění dokumentuPOST/api/v2/dms/document/{documentId}/invalid
Zneplatnění záznamu dokumnetu.
Example URI
- documentId
Long
(required) Example: 123ID dokumentu
Headers
X-Instance-Name: instanceName
200
Obnovit platnost OP ¶
obnovení platnosti dokumentuPOST/api/v2/dms/document/{documentId}/valid
Obnovení platnosti záznamu dokumentu.
Example URI
- documentId
Long
(required) Example: 123ID dokumentu
Headers
X-Instance-Name: instanceName
200
Soubory ¶
API pro načtení obsahu souborů v podobě příloh nebo obrázků (fotek, log) k záznamům.
Stažení ikony obrázku ¶
Stažení ikony obrázkuGET/api/v2/icon/{fileId}/
Získání obsahu obrázku (loga nebo fota) v malé velikosti, zakódovaného do Base 64 formátu.
https://app.raynet.cz/api/v2/icon/3/
Example URI
- fileId
Long
(required) Example: 123ID loga nebo fota (získaného z detailu záznamu, kde se foto / logo nachází)
Headers
X-Instance-Name: instanceName
200
Body
{
"fileName": "logo.png",
"contentType": "image/png",
"imgData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAXYElEQVR4nGWWB3QVZdrHr7quZY/7rR0si59d3FXBtYACo="
}
Stažení obrázku ¶
Stažení obrázkuGET/api/v2/image/{fileId}/
Získání obsahu obrázku (loga nebo fota) v plné velikosti zakódovaného do Base 64 formátu.
https://app.raynet.cz/api/v2/image/3/
Example URI
- fileId
Long
(required) Example: 123ID loga nebo fota (získaného z detailu záznamu, kde se foto / logo nachází)
Headers
X-Instance-Name: instanceName
200
Body
{
"fileName": "logo.png",
"contentType": "image/png",
"imgData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAXYElEQVR4nGWWB3QVZdrHr7quZY/7rR0si59d3FXBtYACo="
}
Stažení meta informací o souboru ¶
Stažení meta informací o souboruGET/api/v2/fileHeader/{fileId}/
Stažení meta informací o jakémkoliv souboru v CRM (příloha, logo atd). API vrátí jméno souboru, typ souboru, unikátní identifikátor (UUID), název instance CRM a vygenerovaný access token. Tyto údaje pak slouží k jednorázovému použití v api /fileBody pro získání obsahu souboru.
https://app.raynet.cz/api/v2/fileHeader/3/
Example URI
- fileId
Long
(required) Example: 123ID souboru (získaného z detailu záznamu (např.: attachment -> file -> id), kde se foto, logo nebo příloha nachází)
Headers
X-Instance-Name: instanceName
200
Body
{
"uuid": "6775ac8cebd548e9b94a8ec99c30bab7",
"fileName": "priloha.png",
"fileSize": 1201,
"contentType": "image/png",
"accessToken": "d9b38352c39f4ca2b7d367cffe089d20",
"instanceName": "mojecrm"
}
Stažení těla souboru ¶
Stažení těla souboruGET/api/v2/fileBody/{uuid}/{accessToken}/{instanceName}/?fileName={fileName}&contentType={contentType}
Stažení těla (obsahu) jakéhokoliv souboru v CRM (přílohy, loga atd). Jedná se o file request bez vlastních http hlaviček a bez autorizace (aby mohl být volán automaticky prohlížečem prostřednictvím hyperlinku). Z tohoto důvodu je potřeba do url předat údaje (uuid, acces token a název instance), které se získají z předchozího volání API /fileHeader (viz výše). Navíc se za url do parametrů přidává název (fileName) a typ souboru (contentType), což se následně vrátí v hlavičce odpovědi (prohlížeč pak má správné údaje o stahovaném souboru - např. pro korektní zobrazení a otevření v asociované aplikaci).
https://app.raynet.cz/api/v2/fileBody/6775ac8cebd548e9b94a8ec99c30bab7/d9b38352c39f4ca2b7d367cffe089d20/
mojecrm/?fileName=priloha.png&contentType=image%2Fpng
Example URI
- uuid
string
(required) Example: 6775ac8cebd548e9b94a8ec99c30bab7UUID souboru (jednoznačný identifikátor souboru v CRM, získaný z API /fileHeader)
- accessToken
string
(required) Example: d9b38352c39f4ca2b7d367cffe089d20Access token (vygenerovaný jednorázový autorizační klíč, získaný z API /fileHeader)
- instanceName
string
(required) Example: mojecrmNázev instance (název vašeho CRM, získaný z API /fileHeader)
- fileName
string
(required) Example: priloha.pngNázev souboru (získaný z API /fileHeader)
- contentType
string
(required) Example: image/pngTyp obsahu souboru (získaný z API /fileHeader)
200
Body
Binární obsah souboru
Stažení těla exportu ¶
Stažení těla exportuGET/api/v2/exportBody/{uuid}/{accessToken}/{instanceName}/?fileName={fileName}&contentType={contentType}
Stažení těla (obsahu) souboru, který byl v předchozím kroku z CRM vyexportován prostřednictvím některého z export API (např. API /businessCase/:businessCaseId/pdfExport). Jedná se o file request bez vlastních http hlaviček a bez autorizace (aby mohl být volán automaticky prohlížečem prostřednictvím hyperlinku). Z tohoto důvodu je potřeba do url předat údaje (uuid, acces token a název instance), které se získají z předchozího volání export API. Navíc se za url do parametrů přidává název (fileName) a typ souboru (contentType), což se následně vrátí v hlavičce odpovědi (prohlížeč pak má správné údaje o stahovaném souboru - např. pro korektní zobrazení a otevření v asociované aplikaci).
https://app.raynet.cz/api/v2/exportBody/6775ac8cebd548e9b94a8ec99c30bab7/d9b38352c39f4ca2b7d367cffe089d20/
mojecrm/?fileName=obchodni_pripad.png&contentType=application%2Foctet-stream
Example URI
- uuid
string
(required) Example: 6775ac8cebd548e9b94a8ec99c30bab7UUID souboru (jednoznačný identifikátor souboru v CRM, získaný např. z API /businessCase/:businessCaseId/pdfExport)
- accessToken
string
(required) Example: d9b38352c39f4ca2b7d367cffe089d20Access token (vygenerovaný jednorázový autorizační klíč, získaný např. z API /businessCase/:businessCaseId/pdfExport)
- instanceName
string
(required) Example: mojecrmNázev instance (název vašeho CRM, získaný např. z API /businessCase/:businessCaseId/pdfExport)
- fileName
string
(required) Example: priloha.pngNázev exportovaného souboru (získaný např. z API /businessCase/:businessCaseId/pdfExport)
- contentType
string
(required) Example: application/octet-streamTyp obsahu exportovaného souboru (získaný např. z API /businessCase/:businessCaseId/pdfExport)
200
Body
Binární obsah exportovaného souboru
Upload souboru ¶
Upload souboru do CRMPOST/api/v2/fileUpload
Nahrání souboru do uložiště v CRM. Obsah souboru je potřeba nahrát ve formátu ‘multipart/form-data’ (standardní formát pro odeslání formulářových dat obsahujících soubor http requestem) a to pod atributem s názvem ‘file’. API vrací informace o nově nahraném souboru (zejména unikátní identifikátr souboru - UUID). Výstupní parametry pak slouží jako vstup pro API k založení nové přílohy (viz níže).
https://app.raynet.cz/api/v2/fileUpload
Example URI
Headers
X-Instance-Name: instanceName
Content-Type: multipart/form-data
Body
Binární obsah formulářových dat, soubor musí být uložen pod atributem 'name' = 'file'
200
Body
{
"uuid": "7d694dbb4e6241829de8a385da797283",
"fileName": "picture.png",
"contentType": "image/png",
"fileSize": 24309
}
Schema
{
"type": "object",
"required": true,
"properties": {
"uuid": {
"type": "string",
"required": true,
"description": "[UUID nahraného souboru]"
},
"fileName": {
"type": "string",
"required": true,
"description": "[Název souboru]"
},
"contentType": {
"type": "string",
"required": true,
"description": "[Typ souboru]"
},
"fileSize": {
"type": "Long",
"required": true,
"description": "[Velikost souboru v bytech]"
}
}
}
Přidání přílohy ¶
Přidání přílohy se souboremPUT/api/v2/attachment/{entityName}/{entityId}/
API slouží k vytvoření záznamu přílohy, která odkazuje na předem uploadovaný soubor. Příloha se přiřadí k vybrané entitě, zadané jejím ID a názvem entity. API ke své funkci potřebuje znát UUID předem nahraného souboru spolu s dalšími parametry tohoto souboru.
https://app.raynet.cz/api/v2/attachment/company/3/
Example URI
- entityName
string
(required) Example: companyNázev entity (podporované hodnoty jsou: ‘company’, ‘lead’, ‘person’, ‘businessCase’, ‘offer’, ‘salesOrder’, ‘product’, ‘project’, ‘invoice’, ‘task’, ‘email’, ‘event’, ‘letter’, ‘phoneCall’, ‘meeting’)
- entityId
Long
(required) Example: 123ID entity
Headers
X-Instance-Name: instanceName
Body
{
"uuid": "7d694dbb4e6241829de8a385da797283",
"fileName": "picture.png",
"contentType": "image/png",
"fileSize": 24309
}
Schema
{
"type": "object",
"required": true,
"properties": {
"uuid": {
"type": "string",
"required": true,
"description": "[UUID souboru]"
},
"fileName": {
"type": "string",
"required": true,
"description": "[Název souboru]"
},
"contentType": {
"type": "string",
"required": true,
"description": "[Typ souboru]"
},
"fileSize": {
"type": "Long",
"required": true,
"description": "[Velikost souboru v bytech]"
}
}
}
201
Body
{
"success": true,
"data": 125
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené přílohy"
}
}
}
Přidání přílohy s odkazem na URLPUT/api/v2/attachment/{entityName}/{entityId}/
API slouží k vytvoření záznamu přílohy odkazující na libovolné URL, např. na webové stránky. Příloha se přiřadí k vybrané entitě, zadané jejím ID a názvem entity. API ke své funkci potřebuje znát URL odkazu a název odkazu.
https://app.raynet.cz/api/v2/attachment/company/3/
Example URI
- entityName
string
(required) Example: companyNázev entity (podporované hodnoty jsou: ‘company’, ‘lead’, ‘person’, ‘businessCase’, ‘offer’, ‘salesOrder’, ‘product’, ‘project’, ‘invoice’, ‘task’, ‘email’, ‘event’, ‘letter’, ‘phoneCall’, ‘meeting’)
- entityId
Long
(required) Example: 123ID entity
Headers
X-Instance-Name: instanceName
Body
{
"link": "https://raynet.cz",
"linkName": "raynet.cz"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"link": {
"type": "string",
"required": true,
"description": "[URL odkazu]"
},
"linkName": {
"type": "string",
"required": false,
"description": "[Název odkazu]"
}
}
}
201
Body
{
"success": true,
"data": 125
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "long",
"required": true,
"description": "ID nově založené přílohy"
}
}
}
Přidání přílohy se souborem do volitelného polePUT/api/v2/attachment/{entityName}/{entityId}/
API slouží k vytvoření záznamu přílohy, která odkazuje na předem uploadovaný soubor. Příloha se přiřadí volitelnému poli typu soubor (zadaného klíčem volitelného pole) na vybraném záznamu dané entity, zadané ID záznamu a názvem entity. API ke své funkci potřebuje znát UUID předem nahraného souboru spolu s dalšími parametry tohoto souboru.
https://app.raynet.cz/api/v2/attachment/company/3/soubor_29f53
Example URI
- entityName
string
(required) Example: companyNázev entity (podporované hodnoty jsou: ‘company’, ‘lead’, ‘person’, ‘businessCase’, ‘offer’, ‘salesOrder’, ‘product’, ‘project’, ‘invoice’, ‘task’, ‘email’, ‘event’, ‘letter’, ‘phoneCall’, ‘meeting’)
- entityId
Long
(required) Example: 123ID entity
- customFieldName
String
(required) Example: soubor_29f53Klíč (name) volitelného pole
Headers
X-Instance-Name: instanceName
Body
{
"uuid": "7d694dbb4e6241829de8a385da797283",
"fileName": "picture.png",
"contentType": "image/png",
"fileSize": 24309
}
Schema
{
"type": "object",
"required": true,
"properties": {
"uuid": {
"type": "string",
"required": true,
"description": "[UUID souboru]"
},
"fileName": {
"type": "string",
"required": true,
"description": "[Název souboru]"
},
"contentType": {
"type": "string",
"required": true,
"description": "[Typ souboru]"
},
"fileSize": {
"type": "Long",
"required": true,
"description": "[Velikost souboru v bytech]"
}
}
}
201
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
Smazání přílohy ¶
Smazání přílohyDELETE/api/v2/attachment/{attachmentId}/
API umožňuje smazat existující přílohu na základě zadaného ID přílohy.
https://app.raynet.cz/api/v2/attachment/125/
Example URI
- attachmentId
Long
(required) Example: 125ID přílohy
Headers
X-Instance-Name: instanceName
200
Volitelná pole ¶
API pro načtení konfigurace volitených polí a pro načtení obsahů (seznamů) polí typu ENUMERATION (tzn. číselník, alias roletka). Pozn.: Získání a uložení samotných hodnot volitelných polí se děje prostřednictvím standardních API - add, detail a update.
Načtení konfigurace ¶
Načtení konfiguraceGET/api/v2/customField/config/
Načtení konfigurace (meta-dat) volitených polí, včetně klíčů, uživatelských názvů a skupin polí.
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"Company": [
{
"label": "Číslo klienta",
"dataType": "STRING",
"enumeration": [],
"groupName": "Interní",
"name": "Cislo_klie_cd702"
},
{
"label": "Spolupráce od",
"dataType": "DATE",
"enumeration": [],
"groupName": "Interní",
"name": "Spoluprace_2aa2c"
}
],
"Person": [
{
"label": "VIP",
"dataType": "BOOLEAN",
"enumeration": [],
"groupName": "Interní",
"name": "VIP_b91d1"
}
],
"BusinessCase": [
{
"label": "Priorita OP",
"dataType": "ENUMERATION",
"enumeration": [
"TOP",
"Velká",
"Střední",
"Malá"
],
"groupName": "Priorita",
"name": "Priorita_O_a5fab"
}
],
"Offer": [],
"SalesOrder": [],
"Product": []
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"Company": {
"type": "array",
"required": true,
"items": {
"type": "object",
"required": true,
"properties": {
"label": {
"type": "string",
"required": true,
"description": "[Název pole] Uživatelské pojmenování volitelného pole."
},
"dataType": {
"enum": [
"STRING",
"TEXT",
"BIG_DECIMAL",
"BOOLEAN",
"DATE",
"ENUMERATION"
],
"required": true,
"description": "[Typ pole] Typ volitelného pole: STRING(řetězec), TEXT(dlouhý text), BIG_DECIMAL(číslo), BOOLEAN(ano / ne), DATE(datum), ENUMERATION(číselník)."
},
"enumeration": {
"type": "array",
"required": false,
"description": "Seznam všech dostupných položek číselníku, pokud se jedná o typ ENUMERATION",
"items": {
"type": "string",
"required": false
}
},
"groupName": {
"type": "string",
"required": true,
"description": "[Název panelu] Název skupiny volitelných polí, který se zobrazuje v titulku panelu s polemi."
},
"name": {
"type": "string",
"required": true,
"description": "Vygenerovaný jednoznačný název (klíč) volitelného pole."
}
}
}
},
"Person": "Stejné sub-schéma jako u Company",
"BusinessCase": "Stejné sub-schéma jako u Company",
"Offer": "Stejné sub-schéma jako u Company",
"SalesOrder": "Stejné sub-schéma jako u Company",
"Product": "Stejné sub-schéma jako u Company"
}
}
}
}
Položky enumerace ¶
Načtení seznamu položek enumeraceGET/api/v2/customField/enum/{entityName}/{fieldName}/
Načtení seznamu všech dostupných položek enumerace (číselníku, alias roletky).
Example URI
- entityName
string
(required) Example: businessCaseNázev entity, která volitelné pole obsahuje
- fieldName
string
(required) Example: Priorita_O_a5fabKlíč volitelného pole
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": [
"TOP",
"Velká",
"Střední",
"Malá"
]
}
Schema
{
"type":"object",
"required":true,
"properties":{
"success": {
"type":"boolean",
"required":true
},
"data": {
"type":"array",
"required":true,
"description": "Seznam všech dostupných položek číselníku, pokud se jedná o typ ENUMERATION"
"items" : {
"type":"string",
"required":false
}
}
}
}
Založení nové položky enumeracePUT/api/v2/customField/enum/{entityName}/{fieldName}/
Vložení nové hodnoty do enumerace
Example URI
- entityName
string
(required) Example: businessCaseNázev entity, která volitelné pole obsahuje
- fieldName
string
(required) Example: Priorita_O_a5fabKlíč volitelného pole
Headers
X-Instance-Name: instanceName
Body
{
"value": "položka 1"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"value": {
"type": "string",
"required": true
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
Upravení položky enumeracePOST/api/v2/customField/enum/{entityName}/{fieldName}/
Upravení hodnoty enumerace
Example URI
- entityName
string
(required) Example: businessCaseNázev entity, která volitelné pole obsahuje
- fieldName
string
(required) Example: Priorita_O_a5fabKlíč volitelného pole
Headers
X-Instance-Name: instanceName
Body
{
"oldValue": "položka 1",
"newValue": "položka 11"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"oldValue": {
"type": "string",
"required": true
},
"newValue": {
"type": "string",
"required": true
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
Smazání položky enumeraceDELETE/api/v2/customField/enum/{entityName}/{fieldName}/
Smazání hodnoty enumerace
Example URI
- entityName
string
(required) Example: businessCaseNázev entity, která volitelné pole obsahuje
- fieldName
string
(required) Example: Priorita_O_a5fabKlíč volitelného pole
Headers
X-Instance-Name: instanceName
Body
{
"value": "položka 1"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"value": {
"type": "string",
"required": true
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
500
Body
{
"message": "TranslatedApplicationException: AdminCustomField.enumeration.remove.usedValue",
"translatedMessage": "Položku číselníku nelze odebrat, protože je používána"
}
Hromadný email ¶
API pro práci s entitou hromadný email. API slouží jako podpora pro integrace s mailovými službami třetích stran. Pomocí totoho API je možné zaznamenat výsledek mailové kampaně (uskutečněný službou třetí strany), tzn. jaký email a komu byl odeslán a s jakým výsledkem. Adresáti hromadného emailu mohou být tímto API napojeni přímo na konkrétní Klienty nebo Kontaktní osoby.
Hromadný email ¶
seznam hromadných emailůGET/api/v2/massEmail/{?offset,limit,sortColumn,sortDirection,fulltext,title,tags,completed,campaignName,source,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Example URI
- offset
int
(optional) Example: 0Od kterého záznamu v pořadí seznam zobrazit (stránkování)
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: titleChoices:
title
campaignName
source
rowInfo.createdAt
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- title
string
(optional) Example: title[LIKE_NOCASE]=První%Filtrování hromadných emailů podle názvu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- tags
string
(optional) Example: VIPFiltrování hromadných emailů podle štítků. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- completed
string
(optional) Example: completed[GT]=2017-06-01Filtrování hromadných emailů podle data odeslání. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- campaignName
string
(optional) Example: PrvníFiltrování hromadných emailů podle názvu kampaně (pojmenování v externí emailové službě). Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- source
string
(optional) Example: SPARKPOSTFiltrování hromadných emailů podle zdroje. Lze využít operátoru
EQ
,NE
.Choices:
QUANDA
SMARTEMAILING
MAILCHIMP
MAILGUN
SENDGRID
SPARKPOST
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování hromadných emailů podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování hromadných emailů podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování hromadných emailů podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 9,
"title": "První emailová kampaň",
"completed": "2018-01-30 18:30",
"description": "První testovací kampaň pro VIP členy organizace",
"tags": [
"VIP"
],
"campaignName": "První emailová kampaň SparkPost",
"source": "SPARKPOST",
"externalId": "656464564",
"externalOverviewUrl": "https://www.sparkpost.com/656464564/Overview",
"externalThumbnailUrl": "https://www.sparkpost.com/656464564/Thumbnail",
"stats": {
"sent": "900",
"clicked": "600",
"opened": "800",
"unsubscribed": "500"
},
"rowInfo.createdAt": "2018-01-29 13:30",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2018-01-29 13:42",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 3
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
založení nového hromadného emailuPUT/api/v2/massEmail/
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Druhá emailová kampaň",
"completed": "2018-01-29 10:00",
"description": "Druhá testovací kampaň pro VIP členy organizace",
"tags": [
"VIP",
"Test"
],
"campaignName": "Druhá emailová kampaň SparkPost",
"source": "SPARKPOST",
"externalId": "656464568",
"externalOverviewUrl": "https://www.sparkpost.com/656464568/Overview",
"externalThumbnailUrl": "https://www.sparkpost.com/656464568/Thumbnail",
"stats": {
"sent": "500",
"clicked": "300",
"opened": "400",
"unsubscribed": "200"
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"title": {
"type": "string",
"required": true,
"description": "[Název] Název hromadného emailu"
},
"completed": {
"type": "date",
"required": false,
"description": "[Rozesláno] Datum odeslání hromadného emailu"
},
"description": {
"type": "string",
"required": false,
"description": "[Popis]"
},
"tags" : {
"type": "array",
"required": false,
"items" : {
"type": "string",
"required": true
}
},
"campaignName": {
"type": "string",
"required": false,
"description": "[Název kampaně] Název v mailingové službě"
},
"source": {
"enum": [ "QUANDA", "SMARTEMAILING", "MAILCHIMP", "MAILGUN", "SENDGRID", "SPARKPOST" ],
"required": true,
"description": "[Zdroj] Mailingová služba"
},
"externalId": {
"type": "string",
"required": false,
"description": "[Externí ID] ID kampaně v mailingové službě"
},
"externalOverviewUrl": {
"type": "string",
"required": false,
"description": "[Odkaz na výsledky kampaně] URL s odkazem na výsledky kampaně v externí mailingové službě"
},
"externalOverviewUrl": {
"type": "string",
"required": false,
"description": "[Odkaz na detail kampaně] URL s odkazem na detail kampaně v externí mailingové službě"
},
"stats": {
"type": "object",
"required": false,
"properties": {
"sent" : {
"type": "long",
"required": false,
"description": "[Odesláno] Počet obeslanýh adresátů"
},
"clicked" : {
"type": "long",
"required": false,
"description": "[Kliknuto] Počet prokliků"
},
"opened" : {
"type":"string",
"required":false,
"description": "[Otevřeno] Počet otevřených emailů"
},
"unsubscribed" : {
"type":"string",
"required":true,
"description": "[Odhlášeno] Počet odhlášených adresátů"
},
}
}
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného záznamu"
}
}
}
}
}
Detail hromadného emailu ¶
detail hromadného emailuGET/api/v2/massEmail/{massEmailId}/
Získání detailu hromadného emailu.
https://app.raynet.cz/api/v2/massEmail/3/
Example URI
- massEmailId
Long
(required) Example: 123ID hromadného emailu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 9,
"title": "První emailová kampaň",
"completed": "2018-01-30 18:30",
"description": "První testovací kampaň pro VIP členy organizace",
"tags": [
"VIP"
],
"campaignName": "První emailová kampaň SparkPost",
"source": "SPARKPOST",
"externalId": "656464564",
"externalOverviewUrl": "https://www.sparkpost.com/656464564/Overview",
"externalThumbnailUrl": "https://www.sparkpost.com/656464564/Thumbnail",
"stats": {
"sent": "900",
"clicked": "600",
"opened": "800",
"unsubscribed": "500"
},
"rowInfo.createdAt": "2018-01-29 13:30",
"rowInfo.createdBy": "galik@raynet.cz",
"rowInfo.updatedAt": "2018-01-29 13:42",
"rowInfo.updatedBy": "galik@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null,
"securityLevel": {
"id": 1,
"name": "Sdílená"
},
"_version": 3
}
}
upravení hromadného emailuPOST/api/v2/massEmail/{massEmailId}/
Upravení dat hromadného emailu.
Example URI
- massEmailId
Long
(required) Example: 123ID hromadného emailu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"title": "Druhá emailová kampaň",
"completed": "2018-01-29 10:00",
"description": "Druhá testovací kampaň pro VIP členy organizace",
"tags": [
"VIP",
"Test"
],
"campaignName": "Druhá emailová kampaň SparkPost",
"source": "SPARKPOST",
"externalId": "656464568",
"externalOverviewUrl": "https://www.sparkpost.com/656464568/Overview",
"externalThumbnailUrl": "https://www.sparkpost.com/656464568/Thumbnail",
"stats": {
"sent": "500",
"clicked": "300",
"opened": "400",
"unsubscribed": "200"
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"title": {
"type": "string",
"required": true,
"description": "[Název] Název hromadného emailu"
},
"completed": {
"type": "date",
"required": false,
"description": "[Rozesláno] Datum odeslání hromadného emailu"
},
"description": {
"type": "string",
"required": false,
"description": "[Popis]"
},
"tags" : {
"type": "array",
"required": false,
"items" : {
"type": "string",
"required": true
}
},
"campaignName": {
"type": "string",
"required": false,
"description": "[Název kampaně] Název v mailingové službě"
},
"source": {
"enum": [ "QUANDA", "SMARTEMAILING", "MAILCHIMP", "MAILGUN", "SENDGRID", "SPARKPOST" ],
"required": true,
"description": "[Zdroj] Mailingová služba"
},
"externalId": {
"type": "string",
"required": false,
"description": "[Externí ID] ID kampaně v mailingové službě"
},
"externalOverviewUrl": {
"type": "string",
"required": false,
"description": "[Odkaz na výsledky kampaně] URL s odkazem na výsledky kampaně v externí mailingové službě"
},
"externalOverviewUrl": {
"type": "string",
"required": false,
"description": "[Odkaz na detail kampaně] URL s odkazem na detail kampaně v externí mailingové službě"
},
"stats": {
"type": "object",
"required": false,
"properties": {
"sent" : {
"type": "long",
"required": false,
"description": "[Odesláno] Počet obeslanýh adresátů"
},
"clicked" : {
"type": "long",
"required": false,
"description": "[Kliknuto] Počet prokliků"
},
"opened" : {
"type":"string",
"required":false,
"description": "[Otevřeno] Počet otevřených emailů"
},
"unsubscribed" : {
"type":"string",
"required":true,
"description": "[Odhlášeno] Počet odhlášených adresátů"
},
}
}
}
}
200
smazání hromadného emailuDELETE/api/v2/massEmail/{massEmailId}/
Example URI
- massEmailId
Long
(required) Example: 123ID hromadného emailu
Headers
X-Instance-Name: instanceName
200
Adresáti hromadného emailu ¶
seznam adresátů hromadného emailuGET/api/v2/massEmail/{massEmailId}/recipient/{?offset,limit,sortColumn,sortDirection,fulltext,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,company,person,lead,status,view}
Získání seznamu adresátů hromadného emailu. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
Example URI
- massEmailId
Long
(required) Example: 123ID hromadného emailu
- offset
int
(optional) Example: 0Od kterého záznamu v pořadí seznam zobrazit (stránkování)
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: idChoices:
id
company
person
lead
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- company
string
(optional) Example: 3Filtrování adresátů podle jednoznačného identifikátoru klienta (id). Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- person
string
(optional) Example: 3Filtrování adresátů podle jednoznačného identifikátoru kontaktní osoby (id). Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- lead
string
(optional) Example: 3Filtrování adresátů podle jednoznačného identifikátoru leadu (id). Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- status
string
(optional) Example: SENTFiltrování adresátů podle stavu odeslání. Lze využít operátoru
EQ
,NE
.Choices:
NOT_SENT
DELIVERED
REJECTED
SENT
UNKNOWN
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování adresátů podle data vytvoření záznamu. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování adresátů podle posledního data upravení záznamu. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování OP podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 2,
"massEmail": {
"id": 9,
"title": "Druhá emailová kampaň"
},
"company": {
"id": 3,
"name": "Drozd a.s."
},
"lead": null,
"person": null,
"email": "info@firma.cz",
"opened": "2018-01-29",
"clicked": null,
"unsubscribed": null,
"status": "SENT"
}
]
}
přidání adresáta hromadného emailuPUT/api/v2/massEmail/{massEmailId}/recipient/
Přidání adresáta, kterému byl hromadný email odeslán (resp. bude odeslán).
Example URI
- massEmailId
Long
(required) Example: 123ID hromadného emailu
Headers
X-Instance-Name: instanceName
Body
{
"person": "4",
"status": "DELIVERED",
"email": "Text emailu",
"opened": "2018-01-29",
"clicked": "2018-01-30",
"unsubscribed": "2018-01-31"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"person": {
"type": "long",
"required": false,
"description": "[Kontaktní osoba] ID osoby, která je adresátem emailu"
},
"company": {
"type": "long",
"required": false,
"description": "[Klient] ID klienta, který je adresátem emailu"
},
"lead": {
"type": "long",
"required": false,
"description": "[Lead] ID leadu, který je adresátem emailu"
},
"status": {
"enum": [
"NOT_SENT",
"DELIVERED",
"REJECTED",
"SENT",
"UNKNOWN"
],
"required": true,
"description": "[Stav] Stav odeslání"
},
"email": {
"type": "string",
"required": false,
"description": "[Email] Email, kam byla zpráva odeslána"
},
"opened": {
"type": "date",
"required": false,
"description": "[Otevřeno] Datum, kdy adresátem email otevřel"
},
"clicked": {
"type": "date",
"required": false,
"description": "[Kliknuto] Datum, kdy adresát provedl akci (klik)"
},
"unsubscribed": {
"type": "date",
"required": false,
"description": "[Odhlášeno] Datum, kdy se adresát z kampaně odhlásil"
}
}
}
201
Adresáti hromadného emailu ¶
upravení adresáta hromadného emailuPOST/api/v2/massEmail/{massEmailId}/recipient/{recipientId}/
Upravení adresáta hromadného emailu.
Example URI
- massEmailId
Long
(required) Example: 123ID hromadného emailu
- recipientId
Long
(required) Example: 123ID adresáta
Headers
X-Instance-Name: instanceName
Body
{
"person": "4",
"status": "DELIVERED",
"email": "info@firma.cz",
"opened": "2018-01-29",
"clicked": "2018-01-30",
"unsubscribed": "2018-01-31"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"person": {
"type": "long",
"required": false,
"description": "[Kontaktní osoba] ID osoby, která je adresátem emailu"
},
"company": {
"type": "long",
"required": false,
"description": "[Klient] ID klienta, který je adresátem emailu"
},
"lead": {
"type": "long",
"required": false,
"description": "[Lead] ID leadu, který je adresátem emailu"
},
"status": {
"enum": [
"NOT_SENT",
"DELIVERED",
"REJECTED",
"SENT",
"UNKNOWN"
],
"required": true,
"description": "[Stav] Stav odeslání"
},
"email": {
"type": "string",
"required": false,
"description": "[Email] Email, kam byla zpráva odeslána"
},
"opened": {
"type": "date",
"required": false,
"description": "[Otevřeno] Datum, kdy adresátem email otevřel"
},
"clicked": {
"type": "date",
"required": false,
"description": "[Kliknuto] Datum, kdy adresát provedl akci (klik)"
},
"unsubscribed": {
"type": "date",
"required": false,
"description": "[Odhlášeno] Datum, kdy se adresát z kampaně odhlásil"
}
}
}
200
smazání adresáta hromadného emailuDELETE/api/v2/massEmail/{massEmailId}/recipient/{recipientId}/
Smazání adresáta hromadného emailu.
Example URI
- massEmailId
Long
(required) Example: 123ID hromadného emailu
- recipientId
Long
(required) Example: 123ID adresáta
Headers
X-Instance-Name: instanceName
200
Hromadné akce s adresáty ¶
vložení/upravení adresátů hromadného emailuPOST/api/v2/massEmail/{massEmailId}/recipientBulkUpdate/
Hromadné vložení nebo upravení adresátů hromadného emailu (upsert). Podle emailu bude buď upraven záznam adresáta nebo bude do hromadného emailu vložen nový adresát. Nový adresát se dohledá v adresáři (Klienti, Kontaktní osoby, Leady) podle zadaného emailu vždy v obou možných polích (email, email2). Pokud nebude adresát dohledán, nebude do hromadného emailu založen. Jestliže bude email dohledán u více kontaktů, budou do hromadného emailu přidány všechny entity.
Maximální počet adres k úpravě/přidání, které lze zaslat jedním požadavkem je 1000.
Example URI
- massEmailId
Long
(required) Example: 123ID hromadného emailu
Headers
X-Instance-Name: instanceName
Body
[
{
"email": "info@firma.cz",
"status": "DELIVERED",
"opened": "2018-01-29",
"clicked": "2018-01-30",
"unsubscribed": "2018-01-31"
},
{
"email": "kontakty@uslunce.cz",
"status": "SENT",
"opened": "2018-01-29",
"clicked": "2018-01-30",
"unsubscribed": "2018-01-31"
}
]
Schema
{
"type": "array",
"required": true,
"items" : {
"type": "object",
"required": true,
"properties" : {
"email": {
"type": "string",
"required": true,
"description": "Email, podle kterého se bude dohledávat kontakt v CRM"
},
"status": {
"enum": [ "NOT_SENT", "DELIVERED", "REJECTED", "SENT", "UNKNOWN" ],
"required": true,
"description": "[Stav] Stav odeslání",
},
"opened": {
"type": "date",
"required": false,
"description": "[Otevřeno] Datum, kdy adresátem email otevřel"
},
"clicked": {
"type": "date",
"required": false,
"description": "[Kliknuto] Datum, kdy adresát provedl akci (klik)"
},
"unsubscribed": {
"type": "date",
"required": false,
"description": "[Odhlášeno] Datum, kdy se adresát z kampaně odhlásil"
}
}
}
}
200
Body
{
"success": true,
"data": [
{
"email": "info@firma.cz",
"massEmailRecipientId": [
12,
15
],
"success": true,
"message": "inserted"
},
{
"email": "kontakty@uslunce.com",
"massEmailRecipientId": [
13
],
"success": true,
"message": "updated"
},
{
"email": "podpora@raynet.cz",
"massEmailRecipientId": [],
"success": false,
"message": "email not found"
}
]
}
Schema
{
"success": {
"type": "boolean",
"required": true,
"description": "Inforamce o úspěšnosti akce"
},
"data": {
"type": "array",
"required": true,
"items" : {
"type": "object",
"required": true,
"properties" : {
"email": {
"type": "string",
"required": true,
"description": "Email, který byl v požadavku zaslán"
},
"success": {
"type": "boolean",
"required": true,
"description": "Inforamce o úspěšnosti akce"
}
"massEmailRecipientId": {
"type": "array",
"required": true,
"description": "[ID] adresáta hromadného emailu",
"items": {
"type": "long"
}
}
"message": {
"type": "string",
"required": true,
"description": "Popis, jaká akce byla s kontaktem provedena"
}
}
}
}
}
Hromadné smazání adresátů emailu ¶
smazání adresátů hromadného emailuPOST/api/v2/massEmail/{massEmailId}/recipientBulkDelete/
Hromadné smazání adresátů hromadného emailu podle emailové adresy. Budou smazáni všichni adresáti dohledáni podle emailu.
Maximální počet adres ke smazání, které lze zaslat je 1000.
Example URI
- massEmailId
Long
(required) Example: 123ID hromadného emailu
Headers
X-Instance-Name: instanceName
Body
[
"info@firma.cz",
"kontakty@uslunce.com"
]
Schema
{
"type": "array",
"required": true,
"items": {
"type": "string",
"required": true
}
}
200
Webhook ¶
Webhook je nástroj pro zasílání notifikací o změnách ve vašem CRM do externího systému skrz protokol HTTP. Notifikace jsou odesílány jako požadavky typu POST na zvolené URL adresy.
Konfiguraci provedete v nastavení RAYNET CRM v sekci Webhook. Můžete nastavit více URL pro zasílání požadavků a ke každé navíc určit:
-
typy událostí se mají odesílat,
-
bezpečnostní kód, který bude s každým požadavkem odeslán v hlavičce
X-RAYNETCRM-Token
.
Součástí konfigurace je také technický kontakt, což je sada emailů, na které bude v případě problémů odeslán e-mail. Bude zaslán v těchto případech:
-
Vaše URL více než 1 den nepřijímá notifikace (server je nedostupný nebo vrací jiný HTTP kód než
2xx
). -
Vaše URL již opět přijmá požadavky, pokud nastal bod 1.
-
Vaše URL nepřijímá požadavky více než 7 dní. Webhook bude deaktivován a odstraněn z nastavení.
Interně se odchozí notifikace ze CRM řadí do fronty. V případě, že cílové URL dostupné, jsou zasílány opakovaně. Při odstávce externího systému tedy o žádné události nepříjdete.
Ve výchozím stavu je rychlost odesílání omezena na 1 událost/s na každé konfigurované URL. Současně je omezena maximální doba zpracování webhooku (connectTimeout - 10s, socketTimeout - 60s). Po spojení se čeká maximálně 10s na odpověď.
podporované události
record.created
Událost je zaslána po vytvoření nového záznamu. Součástí dat je typ záznamu a jeho id. Součástí je i externí ID, pokud je u záznamu definováno.
{
"eventId": "62497f2c609d4b7184b9adf1e427fa55",
"createdAt": "2017-01-18T13:16:39.923+01:00",
"type": "record.created",
"author": "admin@raynet.cz",
"source": {
"name": "user",
"description": "browser"
},
"data": {
"entityName": "Company",
"entityId": 123,
"extIds": [
"1111"
]
}
}
record.updated
Událost je zaslána po změně záznamu.
{
"eventId": "d3ba342896d94dd5a4ee72d998e1e7c4",
"createdAt": "2017-01-19T14:02:31.123+01:00",
"type": "record.updated",
"author": "admin@raynet.cz",
"source": {
"name": "user",
"description": "browser"
},
"data": {
"entityName": "Company",
"entityId": 2,
"extIds": null
}
}
record.deleted
Událost je zaslána po odstranění záznamu.
{
"eventId": "22b1d9c792814537b574e053642f2ce6",
"createdAt": "2017-02-02T11:45:00.873+01:00",
"type": "record.deleted",
"author": "admin@raynet.cz",
"source": {
"name": "user",
"description": "browser"
},
"data": {
"entityName": "Company",
"entityId": 2,
"extIds": null
}
}
zdroj události
Součástí události je klíč source
identifikující zdroj akce, která událost vyvolala. Možné hodnoty vnořeného atributu name
jsou:
-
user
: událost je důsledkem uživatelské akce. Poledescription
je pak buďbrowser
(CRM v prohlížeči) nebomobile
(mobilní aplikace). -
api
: událost byla vygenerována na základě API požadavku. Pokud bylo použito přihlášení API klíčem,description
obsahuje název API klíče. -
Ostatní události jsou označeny jako
system
.
Seznam webhooků ¶
seznam webhookůGET/api/v2/webhook/
Získání seznamu webhooků
Example URI
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"technicalContacts": [
"technical@contact.cz"
],
"webhooks": [
{
"webhookId": "cb83cfc88bee4c90ab3111f3dc2b7dfb",
"url": "https://webhook.site",
"secretToken": "tajne-heslo",
"eventsFilter": [
"record.created",
"record.updated",
"record.deleted"
]
}
]
}
}
Nový webhook ¶
nový webhookPUT/api/v2/webhook/
Založení nového webhooku.
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"url": "https://webhook.site",
"events": [
"record.created",
"record.updated",
"record.deleted"
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"url": {
"type": "string",
"required": true,
"description": "[Url] Adresa pro zaslání webhooku (http nebo https)."
},
"secretToken": {
"type": "string",
"required": false,
"description": "[Bezpečnostní token] Token bude zaslán spolu s požadavkem v HTTP hlavičce X-RAYNETCRM-Token."
},
"events": {
"type": "array",
"required": true,
"minItems": 1,
"description": "[Události] Typy událostí, které webhook bude zpracovávat (tzn. record.created, record.updated nebo record.deleted)."
}
}
}
201
Body
{
"success": true,
"data": {
"uuid": "532d339c0a874f68ae8f2cc108c7f7b2"
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"uuid": {
"type": "string",
"required": true,
"description": "UUID nově založeného webhooku."
}
}
}
}
}
500
Upravení technického kontaktu ¶
upravení technického kontaktuPOST/api/v2/webhook/technicalContact/
Upravení emailů pro technický kontakt, který bude notifikován v případě obtíží (viz. výše).
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"technicalContacts": [
"technical@contact.cz"
]
}
Schema
{
"type": "object",
"required": true,
"properties": {
"technicalContacts": {
"type": "array",
"minItems": 0,
"required": true,
"description": "[Technický kontakt] Emaily na technický kontakt."
}
}
}
200
Body
{
"success": true
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
}
}
}
500
Smazání webhooku ¶
smazání webhookuDELETE/api/v2/webhook/{uuid}/
Example URI
- uuid
String
(required) Example: 532d339c0a874f68ae8f2cc108c7f7b2UUID webhooku
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true
}
500
Externí identifikátor ¶
V rámci identifikace záznamu je možné využít externí identifikátor, který lze uložit ke konkrétnímu záznamu. Na základě tohoto identifikátoru lze následně záznam dohledat (zavolat API pro detail tohoto záznamu). Každý záznam může mít až 10 externích identifikátorů.
Identifikátor by měl mít prefix určující jeho původ (respektive systém, ze kterého pochází). Toto je vhodné při integraci více systémů, tak aby byly identifikátory jednoznačné. Externí identifikátor tak může mít například podobu erp:123455
.
Externí identifikátor lze zapsat pomocí přímo určeného API k již existujícímu záznamu (viz. níže) nebo jej lze poslat zároveň při vytváření záznamu. Např. při vytvoření klienta je možné zapsat externí identifikátor takto:
curl -X PUT 'api/v2/company'
{
"name": "RAYNET s.r.o.",
"rating": "A",
"state": "A_POTENTIAL",
"role": "B_PARTNER",
"extId": "erp:123455"
}
Detail daného záznamu je možné následně získat pomocí URL: /api/v2/{entityName}/ext/{extId}/
(https://app.raynet.cz/api/v2/company/ext/erp:123456/)
Externí identifikátor ¶
přidání externího identifikátoruPUT/api/v2/{entityName}/{entityId}/extId/
Přidání externího identifikátoru ke konkrétnímu záznamu.
Example URI
- entityName
String
(required) Example: companyentita ke které má být externí identifikátor přiřazen
- entityId
Long
(required) Example: 123ID záznamu
Headers
X-Instance-Name: instanceName
Body
{
"extId": "erp:123456789"
}
Schema
{
"type": "object",
"required": true,
"properties": {
"extId": {
"type": "string",
"required": true,
"description": "Externí identifikátor"
}
}
}
200
Body
{
"success": "true"
}
Externí identifikátor ¶
odstranění externího identifikátoruDELETE/api/v2/{entityName}/{entityId}/extId/{extId}
Odstranění externího identifikátoru od konkrétního záznamu.
Example URI
- entityName
String
(required) Example: companyentita od které má být externí identifikátor odebrán
- entityId
Long
(required) Example: 123ID záznamu
- extId
String
(required) Example: erp:123456789externí identifikátor, který má být u záznamu uveden
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true"
}
Uživatelé ¶
API pro práci s uživateli.
Seznam uživatelů ¶
seznam uživatelůGET/api/v2/userAccount/{?offset,limit,sortColumn,sortDirection,fulltext,userRole,username,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,view}
Získání seznamu uživatelů. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
Example URI
- offset
int
(optional) Example: 0Od kterého indexu se budou záznamy zobrzovat (
0
= od začátku).- limit
int
(optional) Example: 100Počet vrácených záznamů, maximální počet je
1000
.- sortColumn
string
(optional) Example: usernameChoices:
username
userRole
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- fulltext
string
(optional) Example: fulltext=myTextFulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
- userRole
string
(optional) Example: ADMINFiltrování uživatelů podle role uživatele. Lze využít operátoru
EQ
,NE
.Choices:
ADMIN
FULL_THROTTLE
CERTAIN_RESTRICTIONS
READONLY
- username
string
(optional) Example: username[LIKE]=%@raynet.czFiltrování uživatelů podle uživatelského jména. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování uživatelů podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování uživatelů podle posledního data upravení. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování uživatelů podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.
Headers
X-Instance-Name: instanceName
200
Headers
Content-Type: application/json
Body
{
"success": "true",
"totalCount": 1,
"data": [
"id": 8,
"_version": 5,
"username": "uzivatel@raynet.cz",
"person": {
"id": 9,
"fullName": "Milan Buldog"
},
"userRole": "ADMIN",
"rowInfo.createdAt": "2018-04-17 14:47",
"rowInfo.createdBy": "svetr@raynet.cz",
"rowInfo.updatedAt": "2018-04-18 16:03",
"rowInfo.updatedBy": "svetr@raynet.cz"
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Detail uživatele ¶
detail uživateleGET/api/v2/userAccount/{userAccountId}/
Získání detailu uživatelského účtu.
Example URI
- userAccountId
Long
(required) Example: 123ID uživatele
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 2,
"_version": 5,
"person": {
"id": 2,
"fullName": "Milan Buldog"
},
"username": "uzivatel@raynet.cz",
"email2": "alternativni@email.cz",
"userRole": "ADMIN", //uživatelská role
"personRecordFilter": null, //omezení viditelnosti záznamů
"listExportPermission": true, //může exportovat seznamové pohledy
"detailReportPermission": true, //může exportovat tiskové sestavy
"googleContactsPermission": true, //může přenášet kontakty do Google
"bulkOperationPermission": true, //může hromadně měnit data
"codelistEditPermission": true, //může editovat číselníky
"editOnlyOwnedRecordsPermission": false, //nesmí upravovat cizí záznamy
"onlyLockRecordsPermission": false, //nesmí odemykat uzamčené záznamy
"deletePermissionConfig": null, //omezení mazání záznamů
"twoFactorEnabled": true, //zapnuté dvoufázové ověření uživatele při přihlášení
"timezone": "EUROPE_PRAGUE",
"dateFormat": "DAY_MONTH_YEAR",
"timeFormat": "HOUR24",
"startWeekDay": "MONDAY",
"securityLevels": [
{
"id": 14,
"name": "Bezpečnostní úroveň"
},
{
"id": 1,
"name": "Sdílená"
}
],
"securityProfile": {
"id": 11,
"name": "Můj bezpečnostní profil"
},
"rowInfo.createdAt": "2018-10-06 09:59",
"rowInfo.createdBy": "(unknown)",
"rowInfo.updatedAt": "2018-10-30 12:34",
"rowInfo.updatedBy": "porubsky@raynet.cz"
}
}
Bezpečnostní úrovně uživatele ¶
přidání bezpečností úrovně uživatelePUT/api/v2/userAccount/{userAccountId}/securityLevel/{securityLevelId}
Uživateli bude přidána bezpečnostní úroveň. Tu je možné přidat pouze uživateli, který není administrátor.
Example URI
- userAccountId
Long
(required) Example: 123ID uživatele
- securityLevelId
Long
(required) Example: 123ID bezpečnostní úrovně
Headers
X-Instance-Name: instanceName
200
Headers
Content-Type: application/json
Body
{
"success": "true"
}
500
Headers
Content-Type: application/json
Body
{
"message": "IllegalArgumentException",
"translatedMessage": "UserAccount#2 is ADMIN. Admin is member of all securityLevels by default, therefore this operation is not allowed"
}
odebrání bezpečností úrovně uživateleDELETE/api/v2/userAccount/{userAccountId}/securityLevel/{securityLevelId}
Uživateli bude odebrána bezpečnostní úroveň. Tu je možné odebrat pouze uživateli, který není administrátor.
Example URI
- userAccountId
Long
(required) Example: 123ID uživatele
- securityLevelId
Long
(required) Example: 123ID bezpečnostní úrovně
Headers
X-Instance-Name: instanceName
200
Headers
Content-Type: application/json
Body
{
"success": "true"
}
500
Headers
Content-Type: application/json
Body
{
"message": "IllegalArgumentException",
"translatedMessage": "UserAccount#2 is ADMIN. Admin is member of all securityLevels by default, therefore this operation is not allowed"
}
Vlastní tlačítka ¶
Konfigurace
Tlačítko vlastních akcí můžete použít pro spouštění integračních scénárů vytvořených programátory namíru nebo v platformách jako je například https://www.integromat.com/. Tlačítka mohou také otevírat externí URL adresy nebo spouštět akce. Ty vám vyplní a stáhnou vlastní tiskovou sestavu, zahájí hovor na telefonu nebo odešlou data do jiné cloudové aplikace.
Tlačítka si můžete nakonfigurovat sami v administraci vašeho CRM v sekci “Pro vývojáře -> Tlačítka vlastních akcí”.
Parametry vlastního tlačítka jsou:
Atribut | Popis | Poznámka |
---|---|---|
Název | Název tlačítka | |
URL | Šablona URL adresy | Je možné použít proměnné {token} , {entityId} , {entityName} , {userName} , {userId} , {personId} , {extId_$extIdCode} viz níže |
Umístění | Kde se tlačítko zobrazí | Možnosti jsou: Hlavní menu , Seznam , Detail |
Záznam | Název entity kde se má tlačítko zobrazit | Jen pro umístnění v seznamu nebo detailu záznamu |
Popis | Popis tlačítka | Jen pro umístnění v seznamu nebo detailu záznamu. Zobrazí se při dvou a více tlačítkách v jedné entitě. |
Akce | Typ akce | OPEN URL , AJAX , DOWNLOAD viz níže |
Metoda | Typ http požadavku | GET , POST , PUT , DELETE Jen pro akce typu AJAX a DOWNLOAD |
Obnovit data po | Čas v ms | Dostupné jen pro Seznam a Detail . CRM po stanoveném čase provede aktualizaci zobrazených dat |
Titulek úspěchu | Titulek zprávy po úspěšném vykonání akce | Jen pro AJAX |
Text úspěchu | Text zprávy po úspěšném vykonání akce | Jen pro AJAX |
Vyžadovat potvrzení před spuštěním | Před spuštěním akce bude uživateli zobrazen dialog s potvrzením | |
Viditelné jen pro administrátora | Vidí pouze administrátor | |
Vyžadovat uložení záznamu | Záznam musí být uložen před spuštěním akce | Dosupné jen pro Detail |
Otevírat do | URL otevřít v nové záložce nebo v novém okně | Možnosti jsou OPEN_TAB a OPEN_WINDOW . Dostupné jen pro akci OPEN URL . |
Šířka | Šířka nově otevřeného okna | Dostupné jen pro akci OPEN URL s možností OPEN_WINDOW . |
Výška | Výška nově otevřeného okna | Dostupné jen pro akci OPEN URL s možností OPEN_WINDOW . |
Obnovit data po zavření okna | Po zavření okna obnoví kartu s detailem nebo seznamem | Dostupné jen pro akci OPEN URL s možností OPEN_WINDOW a umístěním v Seznam nebo Detail . |
Parametry URL adresy:
Parametr | Popis |
---|---|
token | Bezpečnostní token generovaný CRM. Je možné jej ověřit pomocí API (viz níže) |
entityId | ID záznamu, ze kterého je akce spouštěna. Dostupné jen pro Detail |
entityName | Název entity, ze které je akce spouštěna. Dostupné jen pro Detail a Seznam |
userName | Email uživatele, který akci spouští. |
userId | ID uživatele, který akci spouští. Uživatele je možné vyfiltrovat pomocí API seznam osob s parametrem userAccount-id |
personId | ID osoby, která akci spustila. Osobu je možné vyfiltrovat pomocí API detail osoby s parametrem id |
extId_$extIdCode | Hodnota externího id v záznamu, ze kterého je akce spouštěna. Dostupné jen pro Detail . Např. v případě externího id “mojeid:123” zadejte extId_mojeid |
Pokud je akce spuštěna ze Seznamu
a je použita jiná metoda než GET
, jsou zaslány v rámci RequestBody
ID zobrazených záznamů (vždy).
Akce:
Akce | Popis |
---|---|
OPEN URL | Otevření URL adresy do nové záložky |
AJAX | Asynchronní požadavek. Při úspěšném zpracování je nutné vrátit HTTP 200 a {success: true} . Při chybě je možné vrátit JSON ve formátu {success: false, message: "Došlo k chybě"} |
DOWNLOAD | Stažení souboru |
ověření bezpečnostního token ¶
ověření bezpečnostního tokenGET/api/v2/security/checktoken/{token}/{personId}
Při použití tlačítka vlastní akce je důležité ověřit, že požadavek vzešel opravdu ze strany CRM a nebyl podrvžen. K tomuto slouží parametr URL token
a personId
, který je možné ověřit touto akcí.
Token je možné ověřit pouze jednou a následně expiruje. Platnost token
je maximálně 60
sekund.
Example URI
- token
String
(required) Example: a14afetoken
- personId
Long
(required) Example: 123ID Osoby
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true"
}
500
Body
{
"message": "AccessTokenNotFoundException: Access token not found"
}
GDPR šablony právních titulů ¶
API pro práci s GDPR šablony právních titulů.
Seznam šablon právních titulů ¶
seznam šablon právních titulůGET/api/v2/gdprTemplate/{?offset,limit,sortColumn,sortDirection,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,id,name,legalTitle,view}
Získání seznamu šablon právních titulů. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/gdprTemplate/?name[LIKE]=RAY%
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: nameChoices:
name
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- id
number
(optional) Example: 3Filtrování šablon právních titulů podle ID. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- name
number
(optional) Example: name[LIKE]=RAY%Filtrování šablon právních titulů podle názvu. Lze využít operátoru
EQ
,NE
,LIKE
,LIKE_NOCASE
- legalTitle
string
(optional) Example: LEGITIMATE_INTERESTFiltrování šablon právních titulů podle typu právního titulu (
LEGITIMATE_INTEREST
,CONSENT
,CONTRACT
,LEGAL_OBLIGATION
,PUBLIC_INTEREST
,VITAL_INTEREST
)- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování šablon právních titulů podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování šablon právních titulů podle posledního data upravení firmy. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování šablon právních titulů podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 2,
"name": "Plnění smlouvy",
"legalTitle": "CONTRACT",
"duration": 12,
"selectedField":{
"lead":[],
"field":[
"name"
],
"person":[],
"company":[]
},
"gdprTypeAgreement":[
133,
134
],
"gdprContract":{
"id": 129,
"value": "Smlouva o dílo"
},
"gdprFormAgreement": {
"id": 140,
"value": "elektronicky"
},,
"gdprLawRegulation": {
"id": 143,
"value": "Zákon o účetnictví"
},
"_version": 0,
"rowInfo.createdAt": "2018-02-20 08:44",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": "2018-03-05 10:55",
"rowInfo.updatedBy": "info@raynet.cz",
"rowInfo.rowAccess": null,
"rowInfo.rowState": null
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
GDPR - právní tituly ¶
API pro práci s GDPR právními tituly.
Seznam právních titulů ¶
seznam právních titulůGET/api/v2/gdpr/{?offset,limit,sortColumn,sortDirection,rowInfo.createdAt,rowInfo.updatedAt,rowInfo.lastModifiedAt,id,company,lead,person,gdprTemplate,view}
Získání seznamu právních titulů k entitě. Tento seznam může být filtrován, řazen a stránkován za použítí níže uvedených parametrů.
https://app.raynet.cz/api/v2/gdpr/
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional) Example: gdprTemplateChoices:
gdprTemplate
- sortDirection
string
(optional) Example: ASCChoices:
ASC
DESC
- id
number
(optional) Example: 3Filtrování právních titulů podle ID. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- company
number
(optional) Example: 1Filtrování právních titulů podle klienta. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- lead
number
(optional) Example: 2Filtrování právních titulů podle leadu. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- person
number
(optional) Example: 10Filtrování právních titulů podle osoby. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- gdprTemplate
number
(optional) Example: 141Filtrování právních titulů podle šablony právního titulu. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- rowInfo.createdAt
string
(optional) Example: 2014-06-01 10:00Filtrování právních titulů podle data vytvoření. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.updatedAt
string
(optional) Example: 2014-06-01 10:00Filtrování právních titulů podle posledního data upravení firmy. Lze využít operátoru
GT
,GE
,LT
,LE
- rowInfo.lastModifiedAt
string
(optional) Example: 2014-06-01 10:00Filtrování právních titulů podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru
GT
,GE
,LT
,LE
. Vhodné pro periodickou detekci změn.- view
string
(optional) Example: rowInfoPokud je hodnota rovna
rowInfo
, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, …). Vhodné pro periodickou detekci změn.
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"totalCount": 1,
"data": [
{
"id": 18,
"company": {
"id": 1,
"name": "[Anonymizovaný záznam]"
},
"person": null,
"lead": null,
"gdprTemplate": {
"id": 1,
"name": "Oprávněný zájem",
"legalTitle": "LEGITIMATE_INTEREST"
},
"gdprFormAgreement": null,
"validFrom": "2018-01-01",
"validTill": "2019-01-01",
"rowInfo.createdAt": "2018-06-05 09:22",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": null,
"rowInfo.updatedBy": null,
"rowInfo.rowAccess": null,
"rowInfo.rowState": null
}
]
}
400
Headers
Content-Type: application/json
Body
{
"message": "Unsupported filter column ..."
}
500
Headers
Content-Type: application/json
Body
{
"message": "AttributeAccessDeniedException",
"translatedMessage": "Nemáte dostatečná oprávnění pro ..."
}
Nový právní titul ¶
nový právní titulPUT/api/v2/gdpr/
Založení nového právního titulu k entitě klient, osoba, lead
Example URI
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"person": 6,
"gdprTemplate": 1,
"validFrom": "2018-01-01"
}
Schema
{
"type":"object",
"required":true,
"properties":{
"gdprTemplate": {
"type":"long",
"required":true,
"description": "[Šablona právního titulu] ID Šablony právního titulu"
},
"gdprFormAgreement": {
"type":"long",
"required":false,
"description": "[Forma udělení souhlasu] ID Formy udělení souhlasu. Jen pro právní titul CONSENT."
},
"company": {
"type":"long",
"required":false,
"description": "[Klient] ID klienta, kterou je vytvářen právní titlu"
},
"person": {
"type":"long",
"required":false,
"description": "[Osoba] ID zodp. osoby klienta, pro kterou je vytvářen právní titlu"
},
"lead": {
"type":"long",
"required":false,
"description": "[Lead] ID leadu, pro kterou je vytvářen právní titlu"
},
"validFrom": {
"type":"date",
"required":false,
"description": "[Platnost od] datum platnosti právního titlulu od"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Platnost do] datum platnosti právního titlulu do"
}
"contractValidity": {
"type":"date",
"required":false,
"description": "[Platnost smlouvy do] datum platnosti smlouvy do. Jen pro právní titul CONTRACT."
}
}
201
Body
{
"success": true,
"data": {
"id": 5
}
}
Schema
{
"type": "object",
"required": true,
"properties": {
"success": {
"type": "boolean",
"required": true
},
"data": {
"type": "object",
"required": true,
"properties": {
"id": {
"type": "long",
"required": true,
"description": "ID nově založeného právního titulu"
}
}
}
}
}
Detail právního titulu ¶
detail právního titluluGET/api/v2/gdpr/{gdprId}/
Získání detailu právního titlulu.
https://app.raynet.cz/api/v2/gdpr/1/
Example URI
- gdprId
Long
(required) Example: 123ID právního titulu
Headers
X-Instance-Name: instanceName
200
Body
{
"success": "true",
"data": {
"id": 18,
"company": {
"id": 1,
"name": "RAYNET"
},
"person": null,
"lead": null,
"gdprTemplate": {
"id": 1,
"name": "Oprávněný zájem",
"legalTitle": "LEGITIMATE_INTEREST"
},
"gdprFormAgreement": null,
"validFrom": "2018-01-01",
"validTill": "2019-01-01",
"rowInfo.createdAt": "2018-06-05 09:22",
"rowInfo.createdBy": "info@raynet.cz",
"rowInfo.updatedAt": null,
"rowInfo.updatedBy": null,
"rowInfo.rowAccess": null,
"rowInfo.rowState": null
}
}
upravení právního tituluPOST/api/v2/gdpr/{gdprId}/
Upravení dat právního titulu.
Example URI
- gdprId
Long
(required) Example: 123ID právního titulu
Headers
Content-Type: application/json
X-Instance-Name: instanceName
Body
{
"validFrom": "2015-11-08",
"validTill": "2020-11-08"
}
Schema
{
"type":"object",
"required":true,
"properties":{
"validFrom": {
"type":"date",
"required":false,
"description": "[Platnost od] datum platnosti právního titlulu od"
},
"validTill": {
"type":"date",
"required":false,
"description": "[Platnost do] datum platnosti právního titlulu do"
}
"gdprFormAgreement": {
"type":"long",
"required":false,
"description": "[Forma udělení souhlasu] ID Formy udělení souhlasu. Jen pro právní titul CONSENT."
},
"contractValidity": {
"type":"date",
"required":false,
"description": "[Platnost smlouvy do] datum platnosti smlouvy do. Jen pro právní titul CONTRACT."
}
}
}
200
Zneplatnění právního titulu ¶
zneplatnění právního tituluPOST/api/v2/gdpr/{gdprId}/invalid/
Zneplatnění právního titulu.
Example URI
- gdprId
Long
(required) Example: 123ID právního titulu
Headers
X-Instance-Name: instanceName
200
Notifikace ¶
API pro práci s notifikacemi.
Seznam notifikaci ¶
seznam notifikacíGET/api/v2/notification/{?offset,limit,sortColumn,sortDirection,recipient,context,read,flag,sender,date,id}
Získání notifikací. Pokud není použit filtr recipient[CUSTOM]=all-recipient
, tak jsou vráceny jen notifikace aktuálního uživatele.
https://app.raynet.cz/api/v2/notification/?sender[EQ]=2
Example URI
- offset
int
(optional) Example: 0Zobrazeni zaznamu od zacatku
- limit
int
(optional) Example: 100Maximální počet vrácených záznamů je
1000
- sortColumn
string
(optional)Choices:
date
- sortDirection
string
(optional)Choices:
ASC
DESC
- id
number
(optional)Filtrování podle ID. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- date
string
(optional)Filtrování podle data notifikace. Lze využít operátoru
EQ
,NE
,GT
,GE
,LT
,LE
- sender
number
(optional)Filtrování podle odesílatele. S perátorem
CUSTOM
- recipient
any
(optional)Filtrování podle příjemce. V případě
recipient[CUSTOM]=all-recipient
operátoru umožní vyfiltrovat notifikace všech uživatelů. Tento filtr může použít pouze uživatel s rolí administrátor. Lze využít operátoruEQ
,NE
,IN
,CUSTOM
- flag
boolean
(optional)Filtrování notifikací označených hvězdičkou. Lze využít operátoru
EQ
,NE
.- read
boolean
(optional)Filtrování přečtených notifikací. Lze využít operátoru
EQ
,NE
.- context
string
(optional)Filtrování podle kontextu notifikace, kde kontext musí být ve formátu NázevEntity#IdEntity (podporované názvy entit jsou: ‘company’, ‘lead’, ‘person’, ‘businessCase’, ‘offer’, ‘salesOrder’, ‘product’, ‘project’, ‘invoice’, ‘task’, ‘email’, ‘event’, ‘letter’, ‘phoneCall’, ‘meeting’)
Headers
X-Instance-Name: instanceName
200
Body
{
"success": true,
"totalCount": 1,
"data": [
{
"id": 782319,
"date": "2022-09-19 13:42",
"recipient": {
"id": 5,
"fullName": "Jan Novák"
},
"items": [
{
"title": "Petr Svetr změnil(a) údaje",
"message": null,
"sender": {
"id": 9,
"fullName": "Petr Svetr",
"isSystem": false,
"gender": "MALE"
},
"types": [
"CR_CHANGE_YOUR_RECORD_MAIN"
],
"context": [
{
"entityId": 299,
"entityName": "Company",
"value": "Test s.r.o."
}
],
"changes": [
{
"label": "Název",
"innerLabel": null,
"type": "CR_CHANGE_YOUR_RECORD_MAIN",
"oldValue": "Test s.r.o.",
"newValue": "Test NX s.r.o."
},
{
"label": "Vztah",
"innerLabel": null,
"type": "CR_CHANGE_YOUR_RECORD_MAIN",
"oldValue": "Partner",
"newValue": "Dodavatel"
}
]
}
],
"read": true,
"flag": false
}
]
}
Smazání notifikace ¶
smazání notifikaceDELETE/api/v2/notification/{notificationId}/
Uživatelé mohou smazat jen vlastní notifikace, kdežto administrátor může smazat i cizí.
Example URI
- notificationId
Long
(required) Example: 123ID notifikace
Headers
X-Instance-Name: instanceName
200