1.) Obecná syntaxe
GET request
GET http(s)://[adresa API]/graphql?query={[dotaz]}
např.: GET https://demo.moneyerp.cz/graphql?query={[dotaz]}
Authorization: Bearer [token]
POST request
POST http(s)://[adresa API]/graphql
Authorization: Bearer [token]
request body: {„query“:“{[dotaz]}“}
Schéma
GET http(s)://[adresa API]/graphql/schema
(bez autorizace)
2.) Čtení dat (select)
2.1 číslo verze
GET http(s)://[adresa API]/graphql?query={Version}
POST http(s)://[adresa API]/graphql
request body: {"query":"{Version}"}2.2. seznam firem a firma (dle ID)
GET http(s)://[adresa API]/graphql?query={Companies{ID,Kod,Nazev}}
POST http(s)://[adresa API]/graphql
request body: {"query":"{Companies{ID,Nazev,ObchMisto}}"}GET http(s)://[adresa API]/graphql?query={Company(ID:"64d9f777-0035-40c2-9954-572fe61298fe"){ID,Kod,Nazev}}
POST http(s)://[adresa API]/graphql
request body:
{"query":"{Company(ID:\"64d9f777-0035-40c2-9954-572fe61298fe\"){ID,Nazev,ObchMisto}}"}
nebo
{"query":"{Companies (Filter:\"ID~eq~64d9f777-0035-40c2-9954-572fe61298fe\") {ID,Kod,Nazev} }"}2.3 seznam zakázek a zakázka (dle ID)
GET http(s)://[adresa API]/graphql?query={JobOrders{ID,Kod,Nazev}}
POST http(s)://[adresa API]/graphql
request body: {"query":"{JobOrders{ID, Kod, Nazev, Firma_ID, Firma{ID, Nazev}}}"}GET http(s)://[adresa API]/graphql?query={JobOrder(ID:"7734856e-e003-4b29-9bfa-561498a80b33"){ID,Kod,Nazev}}
POST http(s)://[adresa API]/graphql
request body: {"query":"{JobOrder(ID:\"7734856e-e003-4b29-9bfa-561498a80b33\") {ID,Kod,Nazev}}"}2.4 Skupiny v seznamech (Group_ID)
Při zaslání dokladu je vhodné použít i Group_ID, který doklad zapíšete do specifické skupiny, která může mít nastavenou například svou číselnou řadu nebo třeba středisko. V každém seznamu je jednotná skupina Nezařazeno a další skupiny si zakládají uživatele vlastní.
Názvy objektů např.: ObjednavkaPrijata, ObjednavkaVydana, FakturaPrijata, FakturaVydana, Zasoba, PolozkaCeniku, Artikl, DodaciListVydany, DodaciListPrijaty, Firma, PokladniDoklad, BankovniVypis, ProdejkaVydana, ProdejkaPrijata, SkladovyDoklad
POST http(s)://[adresa API]/graphql
request body: {"query":"{MerpGroups(ObjectName:\"ObjednavkaVydana\") {ID, Parent_ID, Kod, Nazev, Object_ID, ObjectName}}"} POST http(s)://[adresa API]/graphql
request body:
{
ReceivedOrders #(Filter: "DatumVystaveni~gte~2023-01-01#DatumVystaveni~lte~2023-02-14")
{
ID,
CisloDokladu,
VariabilniSymbol,
DatumVystaveni,
DatumVyrizeni,
IC,
DIC,
ICDPH,
Firma_ID,
AdresaNazev,
AdresaUlice,
AdresaMisto,
AdresaPSC,
AdresaStat_ID,
AdresaStat{Kod,Nazev},
DodaciAdresaFirma_ID,
DodaciAdresaNazev,
DodaciAdresaUlice,
DodaciAdresaMisto,
DodaciAdresaPSC,
DodaciAdresaStat,
AdresaKoncovehoPrijemceKontaktniOsobaNazev,
AdresaKoncovehoPrijemceTelefon,
AdresaKoncovehoPrijemceEmail,
FakturacniAdresaFirma_ID,
FakturacniAdresaNazev,
FakturacniAdresaUlice,
FakturacniAdresaMisto,
FakturacniAdresaPSC,
FakturacniAdresaStat,
#Zaplaceno_UserData,
Poznamka,
Sleva,
SumaCelkem,
PriznakVyrizeno,
ZpusobPlatby_ID,
ZpusobPlatby {
Nazev, Kod
},
ZpusobDopravy_ID,
ZpusobDopravy {
Nazev, Kod
},
Mena_ID,
Mena {
Kod
},
WorkflowStavObjektu{
Stav_ID,
Stav{
Kod,
Nazev
}
},
Stredisko_ID,
Stredisko {Kod, Nazev},
Cinnost_ID,
Cinnost {Kod, Nazev},
Zakazka_ID,
Zakazka {Kod, Nazev}
Polozky {
ID,
Poradi,
Nazev,
Katalog,
Jednotka,
Mnozstvi,
JednCenaCM,
DphSazba,
CelkovaCenaCM,
TypCeny,
Sleva,
Vratka,
PriznakVyrizeno,
ObsahPolozky {Artikl_ID, Artikl{CarovyKod, VlastniHmotnost},
Sklad_ID, Sklad{Kod, Nazev},
Cenik_ID, Cenik{Kod, Nazev}},
Stredisko_ID,
Stredisko {Kod, Nazev},
Cinnost_ID,
Cinnost {Kod, Nazev},
Zakazka_ID,
Zakazka {Kod, Nazev}
},
Create_Date,
Modify_Date
}
}
POST http(s)://[adresa API]/graphql
request body:
{"query":"{
IssuedInvoices(Filter: \"DatumVystaveni~gte~2022-02-13#DatumVystaveni~lte~2022-02-14\") {
ID,
ZpusobPlatby {
Nazev, Kod
},
ZpusobPlatby_ID,
ZpusobDopravy {
Nazev, Kod
},
ZpusobDopravy_ID,
AdresaKoncovehoPrijemceEmail,
AdresaKoncovehoPrijemceKontaktniOsobaNazev,
AdresaKoncovehoPrijemceStat_ID,
AdresaKoncovehoPrijemceTelefon,
AdresaKontaktniOsobaJmeno,
AdresaKontaktniOsobaNazev,
AdresaKontaktniOsobaPrijmeni,
AdresaMisto,
AdresaNazev,
AdresaPrijemceFakturyKontaktniOsobaNazev,
AdresaPrijemceFakturyStat_ID,
AdresaPSC,
AdresaStat{Nazev},
AdresaStat_ID,
AdresaUlice,
CisloDokladu,
DatumVystaveni,
DodaciAdresaFirma_ID,
DodaciAdresaMisto,
DodaciAdresaNazev,
DodaciAdresaPSC,
DodaciAdresaStat,
DodaciAdresaUlice,
DomaciMena_ID,
FakturacniAdresaMisto,
FakturacniAdresaNazev,
FakturacniAdresaPSC,
FakturacniAdresaStat,
FakturacniAdresaUlice,
Poznamka,
SumaCelkem,
VariabilniSymbol,
Mena_ID,
Mena {
Kod
},
Polozky {
ID,
Jednotka,
Mnozstvi,
Nazev,
Katalog,
Poradi
},
Create_Date,
Modify_Date
}
}
"}
POST http(s)://[adresa API]/graphql
request body:
{
Companies #(Filter: "(Misto~eq~Brno#Nazev~eq~Seyfor)|(ICO~eq~60737691)")
{
ID,
Kod
Nazev,
ICO,
ICDPH,
DIC,
Tel1Cislo,
Email,
WWW,
OdlisnaFakturacniAdresa,
OdlisnaAdresaProvozovny,
ObchNazev,
ObchUlice,
ObchMisto,
ObchPsc,
ObchStat {
Kod, Nazev
},
FaktNazev,
FaktUlice,
FaktMisto,
FaktPsc,
FaktStat {
Kod, Nazev
},
ProvNazev,
ProvUlice,
ProvMisto,
ProvPsc,
ProvStat {
Kod, Nazev
},
SeznamSpojeni
{
ID, SpojeniCislo, Poradi, TypSpojeni_ID, Vychozi,
TypSpojeni
{
ID, Kod, Nazev, DruhSpojeni
}
},
PouzivatKredit,
HodnotaKreditu,
VlastniSleva,
HodnotaSlevy,
SeznamCeniku {
ID, Poradi, Firma_ID,
Cenik {ID, Kod, Nazev, Neaktivni, PlatnostOd, PlatnostDo}
},
ZpusobDopravy {
ID, Kod, Nazev
},
ZpusobPlatby{
ID, Kod, Nazev
},
VlastniSplatnostPohledavek,
SplatnostPohledavek
}
}
POST http(s)://[adresa API]/graphql
request body:
{
InternalAccountingDocs (Filter: "CisloDokladu~eq~ID2300001")
{
ID, Group_ID, CisloDokladu, VariabilniSymbol, ParovaciSymbol,
DatumVystaveni, DatumUcetnihoPripadu, DatumUplatneni, DatumPlneni,
Nazev, Firma_ID, AdresaNazev, AdresaMisto, AdresaUlice, AdresaPSC, AdresaStat_ID,
AdresaStat{Kod, Nazev}, IC, ICDPH, DIC,
Predkontace_ID, Predkontace{Kod, Nazev},CleneniDPH_ID, CleneniDPH{Kod, Nazev},
PrimarniUcetMD_ID, PrimarniUcetMD{CisloUctu},PrimarniUcetDal_ID,
PrimarniUcetDal{CisloUctu},
Stredisko_ID, Stredisko{ID, Kod, Nazev}, Zakazka_ID, Zakazka{ID, Kod, Nazev},
Cinnost_ID, Cinnost{ID, Kod, Nazev}
PrijatyDoklad, PuvodniDoklad, Mena_ID, Mena{Kod, Nazev}, UcetniKurzKurz
SumaZaklad,
SumaZakladCM,
SumaDan,
SumaDanCM,
CelkovaCastka,
CelkovaCastkaCM,
UhradyZbyva,
UhradyZbyvaCM,
Polozky {
ID,
Poradi,
Nazev,
Mnozstvi,
Jednotka,
JednCenaCM,
CelkovaCenaCM,
TypCeny,
DphSazba,
SazbaDPH {ID, Sazba},
CleneniDPH_ID,
Predkontace_ID,
UcetMD_ID,
UcetDal_ID,
ParovaciSymbol,
ICO,
Stredisko_ID,
Zakazka_ID,
Cinnost_ID,
Cinnost{ID,Kod, Nazev}
},
Create_Date,
Modify_Date
}
}
Pokud je aktivní modul Eshop konektor, tak jsou dostupné i některé specifické informace pro potřeby eshop (objecty s předponou Esh_ a Eshop).
POST http(s)://[adresa API]/graphql
request body:
{
#Položky dle vybraného Eshopu
EShopArticles (Filter: "Obchod_ID~eq~b40575ac-394b-4c35-9455-5f72c3bc3b6e") {
ID
Artikl_ID
Obchod{Nazev}
Obchod_ID
Artikl {
ID
Nazev
Katalog
CarovyKod
HlavniJednotka {Kod}
NadrazenyArtikl{
ID
Nazev
Katalog
}
}
}
}
POST http(s)://[adresa API]/graphql
request body:
{
Articles {
ID,
Nazev,
Kod,
Katalog
PLU,
CarovyKod,
HlavniJednotka {Kod}
Vyrobce_Nazev,
NadrazenyArtikl_ID,
VlastniHmotnost,
Kategorie,
NadrazenyArtikl{
ID,
Nazev,
Vyrobce_Nazev,
}
}
}
POST http(s)://[adresa API]/graphql
request body:
{
Esh_ArticleExtras (Filter: "Parent_ID~eq~8ba207a4-8705-41c5-a9db-77169210529e")
{
ID,
Parent_ID,
Root_ID,
MutaceTextu{ID, Parent_ID, Root_ID, Nazev, NazevProFeed, Jazyk_ID,
Jazyk{ID, Nazev}
},
MutaceHtmlPopisu {ID, Parent_ID, Root_ID, KratkyPopis, DlouhyPopis, Jazyk_ID,
Jazyk{ID, Nazev}
},
Priznaky {ID, Parent_ID, Root_ID,
Definice{ID, Kod, Nazev},
Hodnota{ID, ViewHodnota}
},
CrossSellArtikly {ID, Parent_ID, Artikl_ID, Artikl {ID, Katalog}},
Souvisejici {ID, Parent_ID, Artikl_ID, Artikl {ID, Katalog}},
Darky {ID, Parent_ID, Artikl_ID, Artikl {ID, Katalog}},
DoplnkoveSluzby {ID, Parent_ID, Artikl_ID, Artikl {ID, Katalog}},
DostupnostZobrDostProdJeNaSklade {Kod, Nazev},
DostupnostZobrDostProdNeniNaSklade {Kod, Nazev},
DostupnostStavProduktu {Kod, Nazev}
}
}
POST http(s)://[adresa API]/graphql
request body:
{
#Překlad pro konkrétní katalogovou položku a jazyk
{
Esh_ArticleTextMutations (Filter: "Root_ID~eq~8ba207a4-8705-41c5-a9db-77169210529e|Jazyk_ID~eq~dfd794de-af8c-4cf1-86e8-2a17785bd48d") {
ID,
Root_ID,
Nazev,
Jazyk_ID
}
}
POST http(s)://[adresa API]/graphql
request body:
{
#Konkrétní katalogová položka Parent_ID=Artikl_ID
Esh_ArticleExtras (Filter: "Parent_ID~eq~8ba207a4-8705-41c5-a9db-77169210529e")
{
ID,
Parent_ID,
Root_ID,
Priznaky {ID, Parent_ID, Root_ID,
Definice{ID, Kod, Nazev},
Hodnota{ID, ViewHodnota }
}
}
}
POST http(s)://[adresa API]/graphql
request body:
{
WarehouseStocks (Filter: "Sklad_ID~eq~8537627e-11d4-4a2d-a2ef-f55f59ad662f#Modify_Date~eq~2024-01-31T12:44:53.307") {
ID,
Sklad_ID,
Artikl_ID,
Kod,
DostupneMnozstvi,
Rezervovano,
Objednano,
Modify_Date,
Sklad {
Nazev, Kod
},
Artikl{
Katalog, CarovyKod
}
}
}
POST http(s)://[adresa API]/graphql
request body:
{
PriceListItems (Filter: "Cenik_ID~eq~fe54f320-21ae-4ca7-b81c-fc35aebdfbbf") {
Kod,
Nazev,
Artikl_ID,
Cenik_ID,
Cena,
TypCeny,
DruhSazby,
NepodlehatSleveDokladu,
Artikl{
ID,
Nazev,
Katalog,
CarovyKod
}
Cenik{
ID,
Kod,
Nazev
}
}
}
Některé příklady jsou uvedeny záměrně pro formulaci těla jako GraphQL a některé jako raw – json. Je potřeba nezapomenout na rozdíly uvození a nutnosti použít zpětných lomítek. Pro rychlý překlad vzorů lze použít např. GraphlQL to JSON Body Converter.
V případě potřeby dotazů, které jsou zanořené do nižší úrovně než 4, tak je potřeba v configuraci API nastavit vyšší hodnotu než je defaultní hodnota 4 („MaxNestingDepthLevel“: 5,). Takový typický dotaz může být například dotaz na položku dokladu, kdy přes ObsahPoložky je požadovaná informace na Katalogu o čárovém kódu nebo vlastní hmotnosti.
{
IssuedInvoices(Filter: "DatumVystaveni~gte~2022-03-17#DatumVystaveni~lte~2022-03-18") {
CisloDokladu,
Polozky {
ID,
Poradi,
Nazev,
Jednotka,
Mnozstvi
ObsahPolozky {
Artikl {
Katalog,
CarovyKod,
VlastniHmotnost
}
}
}
}
}
2.5 Stavy dokladů
Některé doklady (Objednávky přijaté, Reklamace přijaté/vydané, Servisní doklady přijaté/vydané) umožňují evidovat stav dokladu dle uživatelem zvoleného workflow neboli scénáře. Pro jeden object (např. objednávky přijaté) lze evidovat několik různých scénářů, které jsou přiřazené ke skupině dokladů.
Doklad je možné si zavolat jako celek, kde součástí požadovaných informací je i stav dokladu (viz předchozí dotazy). Samotné doklady však nelze filtrovat podle podřízeného objectu, tedy ani dle stavu dokladu. V případě potřeby vyhledat doklady jen v určitém stavu je nutné volat seznam ID (dokladů) nad objectem WorkflowDocStates, který Vám vrátí odpovídající ID dokladů, které následně aplikujete v dalším samostatném requestu pro object objednávek.
{
ReceivedOrder (ID: "fe91ab35-5acb-4bb5-9357-ffb885b7e5f8") {
ID,
CisloDokladu,
VariabilniSymbol,
DatumVystaveni,
IC,
DIC,
Firma_ID,
Stav
WorkflowStavObjektu{
Object_ID
DefiniceScenar_ID,
Stav_ID,
Stav{
Kod,
Nazev
}
},
}
}
{
WorkflowDefStates (Filter: "Parent_ID~eq~332845e6-3a8e-4fc0-b010-c8d4ab113249"){
ID
Parent_ID
Kod
Nazev
}
}
{
WorkflowDocStates (Filter: "Stav_ID~eq~cdf36c5d-f3aa-4470-8354-5b7a4030cbca") {
ID
Object_ID
ObjectObjectName
DefiniceScenar_ID
Stav_ID
Stav {ID, Kod, Nazev}
}
}
2.6 Prodejní ceny
Od verze 1.15.5 je v API dostupná funkce (ProdejniCenaDetailItem), která umožňuje exeterni získat přiřazené prodejní ceny pro konkrétní firmy. V Money je tato funkce dostupná nad Adresářem v detailu s názvem Prodejní ceny. Voláním této funkce získáte prodejní ceny katalogových položek spočítané dle cenové politiky nastavené v Money.
{
ProdejniCeny(
FirmaID: "e6847bf7-ba7d-47c8-b7c6-85f3e3d84711",
#SkladID: "c0406db0-fed8-40e1-b3e2-1cc7679288d8",
#Count: 10
)
{
ID,
ArtiklNazev,
Katalog,
CarovyKod,
TypCeny,
DruhSazby,
CenaBezDane,
CenaSDani,
CenaPolozkyCeniku,
Sleva,
Artikl_ID,
Katalog,
Cenik_ID,
PolozkaCeniku_ID,
SkladKod,
Zasoba_ID,
Rezervovano,
Objednano,
ZustatekMnozstvi
}
}
2.7 Sazby DPH
Systém umožňuje evidovat sazby DPH pro různé státy včetně jejich platností. Sazby jsou následně přiřazeny pro jednolivé katalogové karty, kde opět může být více sazeb a starší mají ukončenou časovou platnost. Vazba se provádí pomocí Státu (ID nebo NULL = domácí stát), Druhu sazby=SazbaVystup nebo Výstup a Platnosti. V případě více snížených sazeb je potřeba dále rozlišit pomocí VATRatesType.
{
VatRates(Filter:"PlatnostDo~eq~9998-12-31T00:00:00#Stat_ID~eq~3d3f235c-df25-42ad-9cce-1b460e3a3c5f")
{
ID,
Deleted,
Hidden,
Parent_ID,
Root_ID,
PlatnostOd,
PlatnostDo,
Sazba,
Poradi,
Stat_ID,
Stat {ID, Kod, KodISO3}
DruhSazby,
PovahaSazbyDPH_ID
}
}
{
ArticleVATs (Filter:"Parent_ID~eq~84f500a9-52af-4953-9db4-031c65db4ef1")
{
ID,
Deleted,
Hidden,
Parent_ID,
Root_ID,
Zacatek,
Stat_ID,
Stat {Nazev, KodISO},
SazbaVstup,
SazbaVystup,
PovahaSazbyVstup_ID,
PovahaSazbyVstup {ID, Kod},
PovahaSazbyVystup_ID ,
PovahaSazbyVystup {ID, Kod}
}
}
2.8 Ostatní
{
JobOrders
{
ID,
Deleted,
Group_ID,
Kod,
Nazev,
Stredisko_ID,
Stredisko {ID, Kod, Nazev},
Firma_ID,
Firma {ID, Kod, Nazev},
Osoba_ID,
Zodpovida_ID,
Mena_ID,
Mena {ID, Kod},
DatumPlanovanehoZahajeni,
DatumPlanovanehoPredani,
DatumZahajeni,
DatumPredani,
Stav_ID,
Stav {ID, Kod, Nazev},
Hodnoceni,
PredpokladanaCastka,
PlanovanyObrat,
PravdepodobnostUzavreniZakazky,
Druh_ID,
Druh {ID, Kod, Nazev},
Obchodnik_ID,
KonfiguraceAktualizace_ID
}
}
3.) Zápis dat (insert)
artikl
POST http(s)://[adresa API]/graphql
{"query":"mutation { CreateArticle(Article:{Nazev: \"Artikl\"}) {ID,Nazev} }"}objednávka přijatá
POST http(s)://[adresa API]/graphql
{"query":"mutation { CreateReceivedOrder(ReceivedOrder:{Nazev: \"objednávka\", Polozky: [{Nazev: \"položka\", ObsahPolozky: {Artikl_ID:\"848a11a5-97bc-43e4-8e88-25c803bb51ff\"}}]}) {ID,Nazev} }"}Skupiny v seznamech (Group_ID)
Při zaslání dokladu je vhodné použít i element Group_ID, který doklad zapíšete do specifické skupiny, která může mít nastavenou například svou číselnou řadu nebo třeba středisko. V každém seznamu je jednotná skupina Nezařazeno a další skupiny si uživatelé zakládají vlastní (různé Group_ID).
Názvy objektů např.: ObjednavkaPrijata, ObjednavkaVydana, FakturaPrijata, FakturaVydana, Zasoba, PolozkaCeniku, Artikl, DodaciListVydany, DodaciListPrijaty, Firma, PokladniDoklad, BankovniVypis, ProdejkaVydana, ProdejkaPrijata, SkladovyDoklad
POST http(s)://[adresa API]/graphql
request body: {"query":"{MerpGroups(ObjectName:\"ObjednavkaVydana\") {ID, Parent_ID, Kod, Nazev, Object_ID, ObjectName}}"} Struktura povinných a nepovinných polí je stejná i pro rest. Popis jednotlivých elementů je v rámci vzorů pro REST-API.
mutation {
CreateReceivedOrder(
ReceivedOrder: {
CisloDokladu: "22030001"
Nazev: "Objednávka č.22030001 z solitea.cz"
VariabilniSymbol: "22030001"
Odkaz: "22030001"
Group_ID: "c2b0081d-bda0-4c6e-b85a-48a4ac62b52c"
IC: "01572377"
DIC: "CZ01572377"
Firma_ID: "d9d5324f-ca16-43b4-a326-f854ff03bca3"
AdresaNazev: "Solitea, a.s."
AdresaUlice: "Drobného 555/49"
AdresaMisto: "Brno"
AdresaPSC: "60200"
AdresaStat_ID: "3d3f235c-df25-42ad-9cce-1b460e3a3c5f"
DodaciAdresaFirma_ID: null
DodaciAdresaNazev: "Solitea, a.s."
DodaciAdresaUlice: "Okružní 732/5"
DodaciAdresaMisto: "Brno"
DodaciAdresaPSC: "63800"
DodaciAdresaStat: "Česká republika"
AdresaKoncovehoPrijemceStat_ID: "3d3f235c-df25-42ad-9cce-1b460e3a3c5f"
AdresaKoncovehoPrijemceKontaktniOsobaNazev: "Jan Novák"
AdresaKoncovehoPrijemceTelefon: "+420734123456"
AdresaKoncovehoPrijemceEmail: "moneyerp@solitea.cz"
FakturacniAdresaFirma_ID: null
FakturacniAdresaNazev: "Solitea, a.s."
FakturacniAdresaUlice: "Drobného 555/49"
FakturacniAdresaMisto: "Brno"
FakturacniAdresaPSC: "60200"
AdresaPrijemceFakturyStat_ID: "3d3f235c-df25-42ad-9cce-1b460e3a3c5f"
ZpusobPlatby_ID: "5b035689-496c-4f5f-a48a-4418a7d041ae"
ZpusobDopravy_ID: "73cd5949-ceaa-4ed3-ace8-34710f724e9c"
Mena_ID: "00f9adb2-d300-42c3-9240-ae1320b019cc"
#Zaplaceno_UserData:false,
Sleva: 0.0000
Poznamka: "Poznámka k dokladu"
System_Komentar: "Komentář dokladu"
System_Priznak: 2
Polozky: [
{
Poradi: 1
GenerateSubItems: true
Nazev: "Skladová položka"
Katalog: "11K1"
Jednotka: "ks"
Mnozstvi: 2
JednCenaCM: 12
DphSazba: 21
TypCeny: 1
TypObsahu: 1
ObsahPolozky: {
Artikl_ID: "7bb036fa-ef6e-4bd4-acf5-031143161c03"
Sklad_ID: "9bcfddf9-d7c0-4f59-8c9b-73ae5bba3c15"
Cenik_ID: "afe86a46-6fa4-4a8a-b97d-ede320d33c7c"
}
Sleva: 0
Vratka: false
}
{
Poradi: 2
Nazev: "Neskladová položka"
Katalog: "12K2"
Jednotka: "ks"
Mnozstvi: 3
JednCenaCM: 33.33
DphSazba: 21
TypCeny: 1
TypObsahu: 0
Sleva: 0
Vratka: false
}
]
}
) {
ID
CisloDokladu
Polozky {
ID
Nazev
Poradi
Mnozstvi
JednCenaCM
CelkovaCenaCM
DphSazba
}
}
}
mutation {
CreateCompany(
Company: {
Kod: "ADR00001"
Group_ID: "d894c9c9-e1df-4cc4-bd0e-f6cd26bec0d8"
Nazev: "Solitea - zařadit"
DIC: "CZ01572377"
ICO: "01572377"
OdlisnaAdresaProvozovny: true
OdlisnaFakturacniAdresa: true
ObchMisto: "Brno"
ObchNazev: "Solitea, a.s."
ObchUlice: "Drobného 555/49"
ObchPsc: "60200"
ObchStat_ID: "3d3f235c-df25-42ad-9cce-1b460e3a3c5f"
ProvMisto: "Brno"
ProvNazev: "Solitea, a.s."
ProvUlice: "Drobného 555/49"
ProvPsc: "60200"
ProvStat_ID: "3d3f235c-df25-42ad-9cce-1b460e3a3c5f"
FaktMisto: "Brno"
FaktNazev: "Solitea, a.s."
FaktUlice: "Drobného 555/49"
FaktPsc: "60200"
FaktStat_ID: "3d3f235c-df25-42ad-9cce-1b460e3a3c5f"
VariabilniSymbol: ""
PouzivatKredit: true
HodnotaKreditu: 500.0000
VlastniSleva: true
HodnotaSlevy: 10.0000
VlastniSplatnostPohledavek: false
SplatnostPohledavek: 0
VlastniSplatnostZavazku: false
SplatnostZavazku: 0
SeznamSpojeni: [
{
SpojeniCislo: "+420 731123456"
TypSpojeni_ID: "999a45ed-7c85-425c-8230-d58ae08a21c6"
}
{
SpojeniCislo: "muj@email.cz"
TypSpojeni_ID: "dc748a02-43ed-4cc5-8264-4994b56919d0"
}
]
Zprava: ""
Poznamka: ""
}
) {
ID
Nazev
Tel1Cislo
Tel2Cislo
Email
SeznamSpojeni {
ID
Poradi
SpojeniCislo
}
}
}
mutation {
CreateReceivedInvoice(
ReceivedInvoice: {
CisloDokladu: "22030003"
Nazev: "Faktura č.22030002"
VariabilniSymbol: "22030001"
DatumVystaveni: "2023-11-15T00:00:00"
DatumUcetnihoPripadu: "2023-11-15T00:00:00"
DatumPlneni: "2023-11-15T00:00:00"
DatumSplatnosti: "2023-11-15T00:00:00"
DatumSkladovehoPohybu: "2023-11-15T00:00:00"
DatumUplatneni: "2023-11-15T00:00:00"
OdkazNaDoklad: "ProVykaz"
PuvodniDoklad: ""
# ParovaciSymbol:"",
Group_ID: "b9bf30ab-f702-4ff9-ae03-c9b6562f5b85"
IC: "01572377"
DIC: "CZ01572377"
Firma_ID: "97385817-15a2-4dd4-a652-bf1aaa29325d"
AdresaNazev: "Seyfor, a.s."
AdresaUlice: "Drobného 555/49"
AdresaMisto: "Brno"
AdresaPSC: "60200"
AdresaStat_ID: "3d3f235c-df25-42ad-9cce-1b460e3a3c5f"
DodaciAdresaFirma_ID: null
DodaciAdresaNazev: "Seyfor, a.s."
DodaciAdresaUlice: "Okružní 732/5"
DodaciAdresaMisto: "Brno"
DodaciAdresaPSC: "63800"
DodaciAdresaStat: "Česká republika"
AdresaKoncovehoPrijemceStat_ID: "3d3f235c-df25-42ad-9cce-1b460e3a3c5f"
AdresaKoncovehoPrijemceKontaktniOsobaNazev: "Jan Novák"
AdresaKoncovehoPrijemceTelefon: "+420734123456"
AdresaKoncovehoPrijemceEmail: "obchod@moneyerp.com"
FakturacniAdresaFirma_ID: null
FakturacniAdresaNazev: "Seyfor, a.s."
FakturacniAdresaUlice: "Drobného 555/49"
FakturacniAdresaMisto: "Brno"
FakturacniAdresaPSC: "60200"
AdresaPrijemceFakturyStat_ID: "3d3f235c-df25-42ad-9cce-1b460e3a3c5f"
ZpusobPlatby_ID: "5b035689-496c-4f5f-a48a-4418a7d041ae"
ZpusobDopravy_ID: "73cd5949-ceaa-4ed3-ace8-34710f724e9c"
# Měna na dokladu je dosazena automaticky výchozí domácí obvykle CZK,
# pokud má být jiná, tak je potřeba určit měnu a kurz
# Mena_ID:"e9daab77-0517-4f36-ac41-9b798182a7ae",
# UcetniKurzKurz: 25.30,
# KurzMnozstvi: 1,
# Následující hodnoty jsou obvykle převzaty ze skupiny dokladů
# Predkontace_ID:"acc2154d-93f6-48e5-bab0-7a2e9971a9ba"
# CleneniDPH_ID:"bd0fe7aa-10a4-4fcc-8ad3-dc7a779ebc3e"
# PrimarniUcet_ID:"b06c2efc-3c07-46f4-924d-051337043e04"
#Kontrolingové proměnné, pokud není doplněno na položce, použije se z hlavičky
#Stredisko_ID: "06fda739-f4d7-43a3-8689-a2a49a926166",
#Zakazka_ID: "4d46f8e3-88e8-4e3b-bd7d-8235c4dc6e7d",
#Cinnost_ID: "0318e49c-cfeb-490f-9fca-b9d9539de2fe",
Sleva: 0.0000
Poznamka: "Poznámka k dokladu"
Polozky: [
{
Poradi: 1
GenerateSubItems: true # Pokud je položka skladová a se složením, tak automticky vloží její složení, je možné posílat výdy u všech položek
Nazev: "Skladová položka 1"
Katalog: "11K1"
Jednotka: "ks"
Mnozstvi: 2
JednCenaCM: 12 # Jednotková cena v cizí měně, pokud je měna stejná jako domácí, tak hodnota bez CM je také stejná
DphSazba: 21
TypCeny: 1 # 0-bezDPH, 1-sDPH, 2-PouzeZaklad, 3-PouzeDan
TypObsahu: 1 # vazba na sklad, vyžaduje ObsahPolozky
ObsahPolozky: {
Artikl_ID: "5f051127-89d7-49b9-be36-00aa04e5269b"
Sklad_ID: "8537627e-11d4-4a2d-a2ef-f55f59ad662f"
}
Sleva: 0
Vratka: false
}
{
Poradi: 2
GenerateSubItems: true
Nazev: "Skladová položka 2"
Katalog: "11K1"
Jednotka: "ks"
Mnozstvi: 2
JednCenaCM: 12
DphSazba: 21
TypCeny: 1
TypObsahu: 1
ObsahPolozky: {
Artikl_ID: "8ba207a4-8705-41c5-a9db-77169210529e"
Sklad_ID: "8537627e-11d4-4a2d-a2ef-f55f59ad662f"
}
}
{
Poradi: 3
GenerateSubItems: true
Nazev: "Textová položka"
Katalog: "T12"
Jednotka: "ks"
Mnozstvi: 2
JednCenaCM: 33
DphSazba: 21
TypCeny: 1
TypObsahu: 0
Sleva: 0
Vratka: false
}
{
Poradi: 4
GenerateSubItems: true
Nazev: "Úcetní položka"
Katalog: "T14"
Jednotka: "ks"
Mnozstvi: 1
JednCenaCM: 33
DphSazba: 21
TypCeny: 2 #Pouze základ
TypObsahu: 0
Sleva: 0
Vratka: false
UcetDal_ID: "b06c2efc-3c07-46f4-924d-051337043e04"
UcetMD_ID: "72d27c2c-c32c-41a4-a45f-eb5027181cf6"
# Stredisko_ID: "1a6b0adc-4100-46ad-b182-c994314b9f25",
# Zakazka_ID: "4d46f8e3-88e8-4e3b-bd7d-8235c4dc6e7d",
# Cinnost_ID: "4c438132-d971-42e7-9475-156782874c12",
}
]
}
) {
ID
Nazev
IC
DIC
Polozky {
ID
Nazev
ObsahPolozky {
ID
Artikl_ID
}
}
}
}
mutation {
CreateBankAccountStatement(
BankAccountStatement: {
CisloDokladu: "CC22200030" # Na skupině BV musí být vypnutá číselná řada
Group_ID: "622ad277-6175-4cba-8782-2e4f6b56ac49" # Zařazení do skupiny BV, dodá zákazník
CisloVypisu: 288
DatumPlneni: "2023-01-25T00:00:00"
DatumUplatneni: "2023-01-26T00:00:00"
DatumUcetnihoPripadu: "2023-01-26T00:00:00"
DatumVystaveni: "2023-01-24T00:00:00"
PocatecniDatum: "2023-01-25T00:00:00"
KoncoveDatum: "2023-01-25T00:00:00"
#PocatecniZustatekCM:4305.66,
#PocatecniZustatek:4305.66,
Mena_ID: "00f9adb2-d300-42c3-9240-ae1320b019cc" # Obvykle se neposílá vůbec. Hodnota je převzata ze skupiny, kde je uveden bankovní účet včetně měny a primárního účtu.
Polozky: [
{
Nazev: "Přijatá platba"
Zprava: "Zprava"
CisloPolozky: 1
TypPolozky: 1 # 1 příjmová položka, 2 výdejová položka
TypCeny: 1 # 0-bezDPH, 1-sDPH, 2-PouzeZaklad, 3-PouzeDan
TypTransakce: 0 # 0-Nespárováno, 1 úhrada, 2 úrok, 3 vklad, 4 poplatek, 5 výběr, 6 převod, 7 inkaso
CelkovaCenaCM: 50.00 # CM cizí měna, typicky cena v EUR
CelkovaCena: 50.00 # cena v domácí měně
DatumUplatneniDPH: "2023-01-25T00:00:00"
DatumPlatby: "2023-01-25T00:00:00"
DatumUcetnihoPripadu: "2023-01-25T00:00:00"
DatumPlneni: "2023-01-25T00:00:00"
DruhSazbyDPH: 2 # 0 snižená, 1 základní, 2 nulová
BankaKod: "0800"
CisloTransakce: ""
Poznamka: "Pozn."
SpecifickySymbol: "888"
CisloUctu: "0000435195001 "
IBAN: "CZ2627000000002102290124"
VariabilniSymbol: "123" # Nutné pro párování dokladů
ParovaciSymbol: "999"
UcetniKurzMnozstvi: 1.000000 # Elementy se zasílají v případě cizí měny
UcetniKurzKurz: 1.000000 # Elementy se zasílají v případě cizí měny
FirmaNazev: "ABC"
FirmaUlice: "Lotyšská 5510/1500"
FirmaPSC: "60200"
ICO: "DE_12345678901"
DIC: ""
}
{
Nazev: "Poplatek"
Zprava: "Zprava"
CisloPolozky: 2
TypPolozky: 2
TypCeny: 2
TypTransakce: 4
CelkovaCenaCM: 50.00
CelkovaCena: 50.00
DatumUplatneniDPH: "2023-01-25T00:00:00"
DatumPlatby: "2023-01-25T00:00:00"
DatumUcetnihoPripadu: "2023-01-25T00:00:00"
DatumPlneni: "2023-01-25T00:00:00"
DruhSazbyDPH: 2
BankaKod: "0800"
CisloTransakce: ""
Poznamka: "Pozn."
SpecifickySymbol: "222"
CisloUctu: "0000435195001 "
IBAN: "CZ2627000000002102290124"
VariabilniSymbol: "345"
ParovaciSymbol: "777"
UcetniKurzMnozstvi: 1.000000
UcetniKurzKurz: 1.000000
FirmaNazev: "Firma"
FirmaUlice: "Dukelská 550"
FirmaPSC: "63200"
ICO: "CZ_12345678901"
DIC: ""
}
]
}
) {
Nazev
PocatecniZustatekCM
KonecnyZustatekCM
Vydaje
Prijmy
Polozky {
ID
Nazev
CelkovaCenaCM
}
}
}
mutation {
CreateInternalAccountingDoc(
InternalAccountingDoc: {
CisloDokladu: "22030001t"
#Ze skupiny si může převzít některé hodnoty, jako Předkontace, Členění DPH, Kontrolingové
Group_ID: "4766d7a9-8402-4aa2-b79e-2f75a1eb2a6c"
Nazev: "Popis dokladu"
VariabilniSymbol: "22030001"
ParovaciSymbol: "22030001"
DatumVystaveni: "2024-03-22T00:00:00"
DatumUcetnihoPripadu: "2024-03-22T00:00:00"
DatumUplatneni: "2024-03-22T00:00:00"
DatumPlneni: "2024-03-22T00:00:00"
Firma_ID: "1d7b5dda-c97f-4c86-b65d-54b466713c35"
#Platí pro všechny položky, pokud na položce není uvedeno jinak. Lze zaslat jen u položek, pak není potřeba zasílat hlavičkově. Kombinace Primárního účtu závisí na druhu dokladu a použité Předkontace (výsledek musí být účetně doplněné obě strany MD/D).
Predkontace_ID: "4b1f0c3f-e16c-438b-802e-05c9c4a17752"
CleneniDPH_ID: "56ce0d24-81bf-4b5b-adfa-a97abd4f0be5"
PrimarniUcetDal_ID: "01d74f83-a388-409c-9950-9d27c32661ab"
#PrimarniUcetMD_ID: null,
#Pokud není uvedeno jinak, tak je doklad v domácí měně a není potřeba zasílat
#Mena_ID: "e9daab77-0517-4f36-ac41-9b798182a7ae",
#UcetniKurzKurz: 23.560000,
#Kontrolingové proměnné, pokud není doplněno na položce, použije se z hlavičky
#Stredisko_ID: "06fda739-f4d7-43a3-8689-a2a49a926166",
#Zakazka_ID: "4d46f8e3-88e8-4e3b-bd7d-8235c4dc6e7d",
#Cinnost_ID: "0318e49c-cfeb-490f-9fca-b9d9539de2fe",
Polozky: [
{
Poradi: 1
Nazev: "Textová položka"
Jednotka: "ks"
Mnozstvi: 2
#JednCenaCM = jednotková cena v cizí měně
JednCenaCM: 12
DphSazba: 21
#TypCeny - hodnoty 0-bezDPH, 1-sDPH, 2-PouzeZaklad, 3-PouzeDan
TypCeny: 1
}
{
Poradi: 2
Nazev: "Textová položka pouze základ"
Jednotka: "ks"
Mnozstvi: 3
JednCenaCM: 33.33
DphSazba: 21
TypCeny: 2
#Element Předkontace lze použít pro jakýkoliv TypCeny a přebíjí nastavení Předkontace z hlavičky. Pokud chcete použít konkrétní element UcetMD nebo UcetDal, tak je povolené pouze pro kombinaci TypCeny buď Pouze základ = 2 nebo Pouze daň = 3
Predkontace_ID: null
UcetMD_ID: "01d74f83-a388-409c-9950-9d27c32661ab"
UcetDal_ID: "01d74f83-a388-409c-9950-9d27c32661ab"
#Zbylé opět přebíjí nastavení z hlavičky dokladu
CleneniDPH_ID: "56ce0d24-81bf-4b5b-adfa-a97abd4f0be5"
ParovaciSymbol: ""
ICO: ""
Stredisko_ID: "1a6b0adc-4100-46ad-b182-c994314b9f25"
Zakazka_ID: "4d46f8e3-88e8-4e3b-bd7d-8235c4dc6e7d"
Cinnost_ID: "4c438132-d971-42e7-9475-156782874c12"
}
]
}
) {
ID
CisloDokladu
Polozky {
ID
Nazev
Poradi
Mnozstvi
JednCenaCM
CelkovaCenaCM
DphSazba
}
}
}
mutation
{
CreateJobOrder
(
JobOrder:{
Kod: "ZK001TT",
#Kód je jediné povinné pole, které musí být zaslané nebo pomoci skupiny automaticky doplňované
Nazev: "TEST3",
Stredisko_ID: "1a6b0adc-4100-46ad-b182-c994314b9f25",
Firma_ID: "ed4c7f9f-ab62-4e42-ad7a-e66e9c294a3e",
Mena_ID: "00f9adb2-d300-42c3-9240-ae1320b019cc",
DatumPlanovanehoZahajeni: "2025-02-01T00:00:00",
DatumPlanovanehoPredani: "2025-03-31T00:00:00",
Stav_ID: "7d0cfa58-1ca1-4b79-951e-8c030df930c4",
PlanovanyObrat: 10000.0000,
Druh_ID: "dab37a1f-73d5-4b52-a939-53e9590a39a5",
}
)
{ID, Kod}
}
4.) Modifikace dat (update)
artikl
POST http(s)://[adresa API]/graphql
{"query":"mutation { EditArticle(Article:{ID: \"8cf11616-833d-4f17-b4d3-98ba92e6fd27\", Nazev: \"Artikl-upr\"}) {ID,Nazev} }"}
Při editaci dokladu hlavičky je možné použít jen změnu pro konkrétní pole. Pokud potřebujete editovat položky dokladu, tak je potřeba poslat všechny náležitosti každé položky. Editace položek v dokladu maže všechny předchozí a dosazuje nové položky, tak jak jsou zaslány.
5.) Mazání dat (delete)
artikl
POST http(s)://[adresa API]/graphql
{"query":"mutation { DeleteArticle(ID: \"8cf11616-833d-4f17-b4d3-98ba92e6fd27\") }"}
6.) Doplňkový XmlExchangeImport
V rámci GraphQL je uveřejněný i object System_XmlExchangeImport, který se používá pro externí zápis do DB pro import pomocí individuálních konfigurací Import XML. Tento object umožňuje přes API zapsat požadavek na zápis/editaci/smazání většiny objectů v Money a to včetně možností předřazení XSLT transformačních šablon. Prakticky je přes API zapsán do importní tabulky záznam včetně samotného XML a tento záznam je následně zpracován dle nastavené individuální logiky Import XML.