POST/v1/finance/report
Hae talouden yhteenvetoraportti
finance_report
Palauttaa organisaation laskujen tai maksujen summat ryhmiteltyinä enintään kolmen dimension mukaan (luokka, ryhmä, toimittajan toimiala, toimittaja, ostaja, vastapuoli, suunta, valuutta, kuukausi, vuosineljännes, vuosi) mittareilla invoiced, paid, unpaid ja tax. Summiin sisältyvät vain käyttäjälle näkyvät asiakirjat (hänen dataprofiilinsa kokoelmat ja luokat sekä asetus ”vastaa vain vahvistetuista korteista”); pyynnön suodattimet kaventavat tätä rajausta mutta eivät koskaan laajenna sitä.
reporting-tilassa (oletus) summat muunnetaan organisaation raportointivaluuttaan asiakirjan päivämäärän kurssilla, ja summat, joille ei ole kurssia, luetellaan conversion.unconverted-kentässä. original-tilassa eri valuuttojen summia ei lasketa yhteen, ja valuutasta tulee rivin dimensio. Jos rivejä on enemmän kuin limit, truncated on true, ja totals kattaa silti kaikki rivit. Edellyttää dataprofiilia, jolla on pääsy taloustietoihin (finance.forbidden).
Raportti, laskujen ja maksujen listat ja niiden viennit ovat lukutoimintoja, vaikka ne käyttävät POST-metodia: ne ovat käytettävissä ”View as” -tilassa ja API-avaimille, joilla on read-käyttöalue (ja kuten ennenkin avaimille, joilla on write-käyttöalue).
Todennus
Lähetä API-avain Authorization-otsakkeessa: Authorization: Bearer <avain>.
Otsakeparametrit
X-View-AsstringVain API-avaimille, joilla on
admin-rooli. Suorittaa pyynnön dataprofiilin<profile>[:viewer|verifier|editor]puolesta, esimerkiksiemployee:viewer. Asennusavain ei voi käyttää tätä otsaketta (403).
Evästeparametrit
kb_view_asstringIstunnon ”View as” -tilan eväste.
POST /auth/view-asasettaa sen jaDELETE /auth/view-aspoistaa sen.
Pyynnön runko
application/json
basisstringinvoices: laskut, hyvityslaskut ja kuitit.payments: maksuloki (kassavirta). Kun käytössä onpayments, ainoa mittari onpaid, jadirection-dimensio sekä summa näyttävät rahan liikkeen,intaiout, kun taas siirto omien oikeushenkilöidesi välillä oninternal.Sallitut arvot:
invoicespaymentsOletus: "invoices"
group_byarray of FinanceDimensionitems ≤ 3
measuresarray of FinanceMeasureOletus on
invoiced(payments-perusteellapaid).currency_modeFinanceCurrencyModedate_basisstringMikä päivämäärä määrää jakson ja
from/to-suodattimen: asiakirjan päivämäärä vai maksupäivä.Sallitut arvot:
documentpaymentOletus: "document"
filtersFinanceFilterorder_bystringMittari tai dimensio, jonka mukaan lajitellaan. Oletuksena ensimmäinen mittari laskevassa järjestyksessä.
order_descbooleanOletus: true
limitintegerOletus: 1000≥ 1, ≤ 10000
languagestringLuokkien ja ryhmien nimikkeiden kieli,
en|ru. Oletus onen.
Vastaukset
200Raportti
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
currencystringRaportointivaluutta (
reporting-tila).Kaikkien rivien summat ennen katkaisua, yksi tietue valuuttaa kohden (suunnan mukaan jaetussa raportissa valuuttaa ja suuntaa kohden,
FinanceReportTotal.direction).truncatedbooleanpakollinenlimitintegerpakollinentotal_rowsintegerpakollinenRyhmiteltyjen rivien määrä ennen katkaisua.
conversionFinanceConversionwarningsarray of stringVaroituskoodit:
profile_missing– organisaation yritystietoja ei ole asetettu, joten laskujen suunta on oletuksenain;catalog_missing– yritysrekisteriä ei ole ladattu;fx_rate_missing– osalle summista ei ole valuuttakurssia (conversion.unconverted);fx_rate_stale– osa kursseista ei ole ajan tasalla;enrichment_pending– osa asiakirjoista on vielä käsittelyssä eikä sisälly summiin. Näytä tuntematon koodi yleisellä viestillä.
400Pyyntö on virheellinen: parametrin arvo tai objektin tila ei salli toimenpidettä (`detail` on viesti).
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
401Tunnistetietoja ei lähetetty (ei istuntoevästettä eikä API-avainta), tai avainta ei löytynyt.
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
403Toimenpide ei ole sallittu: rooli ei riitä, kokoelmaan tai korttiin ei ole käyttöoikeutta, pyyntö suoritetaan ”View as” -tilassa, tai organisaation toiminta on keskeytetty tai organisaatio on poistettu (`detail` on objekti, jossa on `code: org_suspended | org_deleted`).
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
429Liian monta pyyntöä (`api.rate_limited`), organisaation minuutti-, päivä- tai kuukausikiintiö on käytetty (`api.quota_exceeded`; `error.details` sisältää kentät `quota`, `limit` ja `reset_at`), organisaation raja on saavutettu tai vastauspalvelu on kuormitettu (`answers.engine_busy`). Odota `Retry-After`-otsakkeen ilmoittama aika.
Vastausotsakkeet
Retry-AfterKuinka monta sekuntia odotetaan ennen pyynnön uusintayritystä.
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
503Palvelu, josta tämä pyyntö riippuu, ei ole tilapäisesti käytettävissä. Yritä myöhemmin uudelleen.
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
Virhekoodit
Koodit, jotka tämä päätepiste voi palauttaa error.code-kentässä kaikkien pyyntöjen yleisten koodien lisäksi.
Turvalliset uusintayritykset
Lähetä jokaisen POST- ja PATCH-pyynnön mukana Idempotency-Key-otsake (esimerkiksi UUID). Kun pyyntö toistetaan samalla avaimella 24 tunnin kuluessa, palautetaan tallennettu vastaus eikä pyyntöä suoriteta uudelleen.
Nopeusrajoitukset
Vastauksissa ovat RateLimit- ja RateLimit-Policy-otsakkeet sekä aiemmat X-RateLimit-Limit, X-RateLimit-Remaining ja X-RateLimit-Reset. 429-vastauksessa on Retry-After sekunteina: odota ja yritä uudelleen.