Queue API

 

Queue API on Partner API’le lisatud funktsionaalsus, mis aitab paremini korraldada dokumentide saatmist ERPLY Booksi ja ära hoida selle käigus tekkida võivaid probleeme. Luuakse dokumentide ERPLY Books’i salvestamise järjekord ja uus salvestamine saab alata ainult siis, kui eelmine on lõpetatud. 

 

Queue API sobib väga kenasti lahendustele, kus on palju arveid ja võimalikud on arvete muudatused (ehk siis ühte arvet võidakse sama sekundi sees kaks korda saata). Queue API töötab stiilis “saada ja unusta”. 

 

Url: invoices/add_to_queue

Meetod: POST

 

Näiteurl: https://api.erplybooks.com/api/invoices/add_to_queue

Näiteobjekt: {number:”5343353″,customerName:”Gangster”,date:”2021-05-05″,currencyCode:”CURRENCY_USD”,languageCode:”LANGUAGE_EN”,deadlineDate:”2021-06-28″,sumNoVat:16.5,sumWithVat:16.5,currencyRate:1,typeCode:”DOCUMENT_BUY”,code:”98329″,transactionDate:”2021-03-29″,note:”We need it now”,partnerDocumentId:”KDDK49839″,documentStatusTypeCode:”STATUS_NOT_CONFIRMED”,projectNames:[“Location in the mall”],rows:[{articleName:”Products”,quantity:1,price:16.5,typeCode:”ARTICLE_ROW_BUY”,partnerArticleId:”prod”,partnerTaxRateId:”TAX_0″,vatPercent:0},{articleName:”Transport”,quantity:1,price:0,cogs:88,typeCode:”ARTICLE_ROW_BUY”,partnerArticleId:”tran”,partnerTaxRateId:”TAX_20″,vatPercent:20}],customer:{name:”Gangster”,legalCountryCode:”US”,email:”coolio@gangsters.paradise”,partnerCustomerId:”IAMID”}}

Näitevastus: {“id”: 24, “json”: … }

 

Queue API on kasutatav ainult Partner API’ga. Queue kasutamisel sisaldab url “invoices/partner” asemel “invoices/add_to_queue”. Funktsiooni kasutamisel luuakse uus rida tabelisse Document_Queue, kuhu salvestub muu hulgas dokumendi järjekorra numbri Id, dokumendi saatnud organisatsiooni Id, dokumendi staatus ja JSON.

 

Queue’s oleval dokumendil on neli erinevat staatust:

FAIL – kui dokument ei vasta nõuetele

PENDING – kui dokument vastab nõuetele, aga ei ole veel salvestatud

REJECTED – sellest dokumendist on uuem versioon queue’s olemas

CONFIRMED – dokument on salvestatud

 

Saadetud dokument kontrollitakse ja kui tegemist on dokumendiga, siis salvestatakse ta DOCUMENT_QUEUE tabelisse staatusega PENDING. Kui dokument ei vasta nõuetele, on tema staatus FAIL ja dokumendi saatja saab veateate. Queue job käivitub iga kolme minuti tagant. Valitakse kõik ühe organisatsiooni id-ga dokumendid, mille staatus on PENDING ja kontrollitakse üle partnerDocumentId unikaalsus. Kui leitakse mitu dokumenti sama id’ga, siis hakatakse salvestama viimast saabunud versiooni sellest. Ülejäänud sama id’ga dokumendid saavad staatuseks REJECTED. Edasi toimub tavapärane Partner API dokumentide salvestamise protsess. Kui salvestamine mingil põhjusel ebaõnnestus, siis jääb dokument PENDING staatusesse ja teda püütakse uuesti salvestada järgmise queue job’i käigus. Kui salvestamine ebaõnnestub viis korda, saab dokumendi staatuseks FAIL. Tarkvara saadab veateate juhul, kui veateadete saamine on seadistatud.