Šis failas sutraukia vidinio GraphQL API struktūrą pagal pateiktą schemą: tipus, užklausas (Query), keitimus (Mutation) ir bendrus modelius. Jis papildo, bet nekeičia viešojo REST API aprašo.
Susiję dokumentai
| Dokumentas | Turinys |
|---|---|
| rivile-erp-architektura-bendra.html | Kur GraphQL sėdi schemoje: Federated GQL Gateway, RBAC |
| rivile-erp-public-api-overview.html | Viešasis REST API (OpenAPI), X-SessionToken |
| rivile-erp-guide-api.html | Oficialus gidas (raktai, limitai, Postman) |
| rivile-erp-automatizavimo-api.html | Automatizavimo scenarijų JS API |
| rivile-erp-workflows.html | Darbo eigos konceptas |
| rivile-erp-apps-marketplace.html | APP apibrėžimai, versijos, šablonai |
Pilna schema (failas): rivile-erp-graphql.schema.graphql — įrašykite čia visą introspection / eksportuotą SDL (šis katalogas skirtas vienam kanoniniam failui; labai didelė schema gali būti skaidoma kaip ir OpenAPI, su rankiniu sujungimu).
/public-api) dažnai naudojamas integracijoms; GraphQL atitinka tipinį „storąjį“ klientą (web UI, mobilumas), su viena schema ir pasirenkamais laukais.sessionContext(sessionToken: String) ir SessionType (žr. §3).Skaliarai (iš schemos): UUID, Date, DateTime, BigDecimal, Long, Short, JSON, Upload.
Bendros sąsajos
| Sąsaja | Paskirtis |
|---|---|
Auditing |
createdAt, createdBy, updatedAt, updatedBy, createdByUser, updatedByUser |
MasterData |
Standartiniai katalogų laukai (active, code, name, company, …) |
WmsAuditing |
Sandėlio tipams (WmsAuditUser, …) |
Daug dokumentų ir katalogų implementuoja Auditing.
Query.sessionContext(sessionToken: String): SessionContextResult — grąžina message ir result: SessionContext (įskaitant companyId, tenantId, userId, modules, permissions, permissionsSet, sessionType, …).SessionType (enum): API, AUTOMATION, EMPTY, LINK, USER — naudinga susieti su automatizavimo vykdymu ir API raktais.Mutation.switchSessionContext(companyId: UUID), createLinkToken, signup / invitedSignup ir kt. — organizacijos / vartotojų srautai.Tiksli HTTP antraštė priklauso nuo diegimo; viešajame REST dokumentuota X-SessionToken — GraphQL klientas paprastai naudoja tą pačią arba giminingą autentifikaciją.
Tipas *`Page** (pvz.ClientPage,ProductPage):content,first,last,number,size,totalElements,totalPages. Užklausose dažni argumentai:filter,page,size,sort, kartaiscompanyId`.
Asinchroniniai / ilgi procesai: daug Mutation grąžina sagaId, groupingCode ar dedikuotus tipus (TradeSagaResult, DeliverySagaResult, PayrollSagaResult, …). Query.getSagaStatus(sagaId: UUID!): Saga leidžia stebėti būseną.
Enumai ErrorType ir ErrorDetail atitinka tipinį gRPC stiliaus klaidų skaidymą (pvz. INVALID_ARGUMENT, NOT_FOUND, PERMISSION_DENIED, DEADLINE_EXCEEDED, FIELD_NOT_FOUND, …) su HTTP atitikmenų komentarais schemoje.
Santrauka pagal dominančius root laukus (ne išsamus sąrašas):
| Sritis | Pavyzdžiai |
|---|---|
| APP Marketplace | appDefinition(s), appInstance(s), appVersion, appPricingPlans |
| CRM | lead(s), opportunity, opportunities, project(s), task(s), kategorijos, crmTags, workflow būsenos CRM entitetams |
| Automatizavimas | automation(s), automationExecution(s), automationExecutionLogs, systemPlaces, internalEvent(s), integracijų klaidos |
| Duomenų užduotys | dataTask(s), dataType(s), exportSchemas, jobStatus / jobType |
| Pristatymai / siuntos | delivery, deliveries, shipment(s), location(s), susietos užklausos pagal SF / užsakymus |
| Failai | file(s), entityAttachments, getMainFile, getPublicLink |
| Apskaita | accountingDocument(s), adjustment(s), generalLedgerRegistry, DK, žurnalai, valiutos, kursai |
| Klientai / partneriai | client(s), contact(s), address, bankAccount, sutartys, kainos, nuolaidos |
| Prekyba | saleOrder, saleInvoice, purchaseOrder, purchaseInvoice ir eilutės, kainos, mokesčiai, PR registras, mokėjimai |
| Atsargos | inventoryStock(s), inventoryMovement, inventoryAdjustment, inventoryRegistry, normos, nuorodos |
| Gamyba / sąnaudos | manufacture, costAdjustment, product, productBillOfMaterial |
| Ilgalaikis turtas | fixedAssetCard, fixedAssetOp, registro ataskaitos užklausos |
| GPAIS / atitiktis | gpaisJournal, gpaisProductUnit, isaf, isaftOperation, intrastatas |
| Personalas / darbo užmokestis | payrollOperation, personnelDocument, timesheetOperation, calendarPeriod, atostogų kaupiniai ir kt. |
| POS | pos* užklausos (kasos aparatas, kvitai, produktai, likučiai, fiskalinės ataskaitos) |
| WMS | warehouseOperation, locationStock, locationTrans, wmsSearch |
| Workflow / patvirtinimai | workflow(s), workflowStatus, approvalOperation(s), approvalTemplate(s) |
| Organizacija / prenumerata | organization, erpSubscription, erpModuleSubscription |
| Šablonai / el. paštas / ataskaitos | emailTemplate(s), reportTemplate(s), template, dataExportTemplatesByActivePlace |
Taip pat: klasifikatoriai (classifierTree, classifierGroup), parametrai (parameter, parameterValue), išplėstiniai laukai (entityType, entityField), teisės (permission*, userGroup).
| Tema | Pavyzdžiai |
|---|---|
| APP | createAppDefinition, publishAppVersion, installApplication, updateAppAutomationTemplate |
| CRM | CRUD lead / opportunity / project / task, workflow būsenų keitimai |
| Automatizavimas | createAutomation, updateAutomation, callAutomation, automatonInit, integracijų klaidų valdymas |
| Batch / duomenys | postBatch, generateBatch, sendEmailBatch, triggerGpaisIntegration, … |
| Pristatymai | createDelivery, postDelivery, createInvoiceFromDlv, siuntos susiejimas |
| Failai | createFileEntry, associateEntityToFiles, viešos nuorodos, retention |
| Dokumentai (prekyba, atsargos, gamyba) | Kurti / atnaujinti / trinti SF ir užsakymus, post / unpost / cancel, valiutos keitimas, rezervacijos, nuolaidos |
| Bankas / Fintegry | createFintegryAgreement, syncBanksAndBankAccountsFromFintegry, … |
| Personalas | createPayrollOperation, postPersonnelDocument, generateVacationAccrualOperation, tabeliai, atostogos |
| POS | posReceiptHeaderCreate, posPayByReceiptHeaderId, fiskalinės operacijos |
| WMS | createWarehouseOperation, postWarehouseOperation, eilučių keitimai |
| Workflow | createWorkflow, createWorkflowStatus, approveApprovalOperation |
| Šablonai | createEmailTemplate, sendEmailTemplate, ataskaitų šablonai |
Tipai: Automation, AutomationInput, AutomationExecution, AutomationExecutionLog, trigeriai (AutomationTriggerType), pranešimų režimai.
Mutacijos: callAutomation(automationCode, companyId, context, …), automatonInit, CRUD automatizacijoms ir papildomoms vietoms (AutomationPlace).
Tai atitinka konceptą „vykdyti scenarijų iš sistemos“; pats JS API lieka rivile-erp-automatizavimo-api.html.
EntityType / EntityField — metaduomenys apie entitetus ir laukus; operacijos EntityTypeOperation (enum: READ, WRITE, POST, CANCEL, …).ext: JSON arba ext(fields: [String]): JSON (pvz. Client, Product, Lead) — pritaikymui be naujų GraphQL laukų.docs/rivile-erp-graphql.schema.graphql (vienas failas).Schema gali būti sujungta iš kelių servisų (schemoje matyti tušti extend type Query / extend type Mutation fragmentai prie kai kurių modulių — tai normalu federacijoje / stitching).
SessionType) sieja API raktą, vartotoją ir automatizavimą.sagaId — ilgų operacijų stebėjimas; svarbu demonstracijose apie masinį postinimą ir importus.