POST/v1/finance/report
Ανάκτηση συνοπτικής οικονομικής αναφοράς
finance_report
Επιστρέφει τα σύνολα των τιμολογίων ή των πληρωμών του οργανισμού, ομαδοποιημένα έως και κατά τρεις διαστάσεις (κατηγορία, ομάδα, κλάδος δραστηριότητας του προμηθευτή, προμηθευτής, αγοραστής, αντισυμβαλλόμενος, κατεύθυνση, νόμισμα, μήνας, τρίμηνο, έτος), με τα μέτρα invoiced, paid, unpaid και tax. Τα σύνολα περιλαμβάνουν μόνο έγγραφα ορατά στον χρήστη (τις συλλογές και τις κατηγορίες του προφίλ δεδομένων του και τη ρύθμιση «απάντηση μόνο από επαληθευμένες κάρτες»)· τα φίλτρα του αιτήματος περιορίζουν αυτό το εύρος, αλλά δεν το διευρύνουν ποτέ.
Στον τρόπο reporting (η προεπιλογή) τα ποσά μετατρέπονται στο νόμισμα αναφοράς του οργανισμού με την ισοτιμία της ημερομηνίας του εγγράφου, και τα ποσά χωρίς ισοτιμία παρατίθενται στο conversion.unconverted. Στον τρόπο original τα ποσά σε διαφορετικά νομίσματα δεν αθροίζονται, και το νόμισμα γίνεται διάσταση της γραμμής. Αν υπάρχουν περισσότερες γραμμές από το limit, το truncated είναι true, και τα totals εξακολουθούν να καλύπτουν όλες τις γραμμές. Απαιτεί προφίλ δεδομένων με πρόσβαση σε οικονομικά δεδομένα (finance.forbidden).
Η αναφορά, οι λίστες τιμολογίων και πληρωμών και οι εξαγωγές τους είναι λειτουργίες ανάγνωσης, παρόλο που χρησιμοποιούν POST: είναι διαθέσιμες στη λειτουργία «View as» και σε κλειδιά API με την εμβέλεια read (και, όπως πριν, σε κλειδιά με την εμβέλεια write).
Έλεγχος ταυτότητας
Στείλτε ένα κλειδί API στην κεφαλίδα Authorization: Authorization: Bearer <κλειδί>.
Παράμετροι κεφαλίδας
X-View-AsstringΜόνο για κλειδιά API με τον ρόλο
admin. Εκτελεί το αίτημα ως το προφίλ δεδομένων<profile>[:viewer|verifier|editor], για παράδειγμαemployee:viewer. Το κλειδί εγκατάστασης δεν μπορεί να χρησιμοποιήσει αυτή την κεφαλίδα (403).
Παράμετροι cookie
kb_view_asstringCookie της λειτουργίας «View as» για μια συνεδρία. Το
POST /auth/view-asτο ορίζει και τοDELETE /auth/view-asτο καταργεί.
Σώμα αιτήματος
application/json
Αντικείμενο: FinanceReportRequest
basisstringinvoices: τιμολόγια, πιστωτικά τιμολόγια και αποδείξεις.payments: το αρχείο πληρωμών (ταμειακές ροές). Μεpaymentsτο μόνο μέτρο είναι τοpaid, ενώ η διάστασηdirectionκαι το σύνολο δείχνουν την κίνηση χρημάτων,inήout· μια μεταφορά μεταξύ των δικών σας νομικών οντοτήτων είναιinternal.Επιτρεπόμενες τιμές:
invoicespaymentsΠροεπιλογή: "invoices"
group_byarray of FinanceDimensionitems ≤ 3
measuresarray of FinanceMeasureΠροεπιλογή:
invoiced(paidγιαpayments).currency_modeFinanceCurrencyModedate_basisstringΠοια ημερομηνία ορίζει την περίοδο και το φίλτρο
from/to: η ημερομηνία του εγγράφου ή η ημερομηνία πληρωμής.Επιτρεπόμενες τιμές:
documentpaymentΠροεπιλογή: "document"
filtersFinanceFilterorder_bystringΜέτρο ή διάσταση για την ταξινόμηση. Από προεπιλογή, το πρώτο μέτρο με φθίνουσα σειρά.
order_descbooleanΠροεπιλογή: true
limitintegerΠροεπιλογή: 1000≥ 1, ≤ 10000
languagestringΓλώσσα των ετικετών των κατηγοριών και των ομάδων,
en|ru. Προεπιλογή:en.
Αποκρίσεις
200Η αναφορά
Κεφαλίδες απόκρισης
RateLimit-PolicyΤα όρια σε ισχύ, στη μορφή του προσχεδίου IETF
draft-ietf-httpapi-ratelimit-headers: στοιχεία χωρισμένα με κόμμα"<name>";q=<quota>;w=<window in seconds>. Τοkeyείναι ο ρυθμός αιτημάτων του κλειδιού API (η ποσόστωση είναι η ριπή, το παράθυρο είναι ο χρόνος για την πλήρη αναπλήρωσή της· για μια συνεδρία είναιuser, χωρίς διαπιστευτήριαip)· ταminute,dayκαιmonthείναι οι ποσοστώσεις του οργανισμού για το ημερολογιακό λεπτό, την ημέρα και τον μήνα σε UTC.RateLimitΤι απομένει από κάθε όριο του
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitΌριο της αυστηρότερης εγγραφής του
RateLimit-Policy(εκείνης με τα λιγότερα εναπομείναντα αιτήματα).X-RateLimit-RemainingΑιτήματα που απομένουν στο αυστηρότερο όριο.
X-RateLimit-ResetΔευτερόλεπτα έως τον μηδενισμό του αυστηρότερου ορίου.
application/json
currencystringΝόμισμα αναφοράς (λειτουργία
reporting).Σύνολα για όλες τις γραμμές πριν από την περικοπή, μία εγγραφή ανά νόμισμα (σε αναφορά με διαχωρισμό κατά κατεύθυνση – ανά νόμισμα και κατεύθυνση,
FinanceReportTotal.direction).truncatedbooleanυποχρεωτικόlimitintegerυποχρεωτικόtotal_rowsintegerυποχρεωτικόΑριθμός ομαδοποιημένων γραμμών πριν από την περικοπή.
conversionFinanceConversionwarningsarray of stringΚωδικοί προειδοποίησης:
profile_missing– τα εταιρικά στοιχεία του οργανισμού δεν έχουν οριστεί, γι’ αυτό η κατεύθυνση των τιμολογίων είναι από προεπιλογήin·catalog_missing– ο κατάλογος εταιρειών δεν έχει φορτωθεί·fx_rate_missing– για ορισμένα ποσά δεν υπάρχει συναλλαγματική ισοτιμία (conversion.unconverted)·fx_rate_stale– ορισμένες ισοτιμίες δεν είναι επίκαιρες·enrichment_pending– ορισμένα έγγραφα βρίσκονται ακόμη σε επεξεργασία και δεν περιλαμβάνονται στα σύνολα. Έναν άγνωστο κωδικό εμφανίστε με ένα γενικό μήνυμα.
400Το αίτημα δεν είναι έγκυρο: η τιμή μιας παραμέτρου ή η κατάσταση του αντικειμένου δεν επιτρέπει την ενέργεια (το `detail` είναι μήνυμα).
Κεφαλίδες απόκρισης
RateLimit-PolicyΤα όρια σε ισχύ, στη μορφή του προσχεδίου IETF
draft-ietf-httpapi-ratelimit-headers: στοιχεία χωρισμένα με κόμμα"<name>";q=<quota>;w=<window in seconds>. Τοkeyείναι ο ρυθμός αιτημάτων του κλειδιού API (η ποσόστωση είναι η ριπή, το παράθυρο είναι ο χρόνος για την πλήρη αναπλήρωσή της· για μια συνεδρία είναιuser, χωρίς διαπιστευτήριαip)· ταminute,dayκαιmonthείναι οι ποσοστώσεις του οργανισμού για το ημερολογιακό λεπτό, την ημέρα και τον μήνα σε UTC.RateLimitΤι απομένει από κάθε όριο του
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitΌριο της αυστηρότερης εγγραφής του
RateLimit-Policy(εκείνης με τα λιγότερα εναπομείναντα αιτήματα).X-RateLimit-RemainingΑιτήματα που απομένουν στο αυστηρότερο όριο.
X-RateLimit-ResetΔευτερόλεπτα έως τον μηδενισμό του αυστηρότερου ορίου.
application/json
401Δεν στάλθηκαν διαπιστευτήρια (ούτε cookie συνεδρίας ούτε κλειδί API) ή το κλειδί δεν βρέθηκε.
Κεφαλίδες απόκρισης
RateLimit-PolicyΤα όρια σε ισχύ, στη μορφή του προσχεδίου IETF
draft-ietf-httpapi-ratelimit-headers: στοιχεία χωρισμένα με κόμμα"<name>";q=<quota>;w=<window in seconds>. Τοkeyείναι ο ρυθμός αιτημάτων του κλειδιού API (η ποσόστωση είναι η ριπή, το παράθυρο είναι ο χρόνος για την πλήρη αναπλήρωσή της· για μια συνεδρία είναιuser, χωρίς διαπιστευτήριαip)· ταminute,dayκαιmonthείναι οι ποσοστώσεις του οργανισμού για το ημερολογιακό λεπτό, την ημέρα και τον μήνα σε UTC.RateLimitΤι απομένει από κάθε όριο του
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitΌριο της αυστηρότερης εγγραφής του
RateLimit-Policy(εκείνης με τα λιγότερα εναπομείναντα αιτήματα).X-RateLimit-RemainingΑιτήματα που απομένουν στο αυστηρότερο όριο.
X-RateLimit-ResetΔευτερόλεπτα έως τον μηδενισμό του αυστηρότερου ορίου.
application/json
403Η ενέργεια δεν επιτρέπεται: ο ρόλος δεν επαρκεί, δεν υπάρχει πρόσβαση στη συλλογή ή στην κάρτα, το αίτημα εκτελείται στη λειτουργία «View as» ή ο οργανισμός έχει ανασταλεί ή διαγραφεί (το `detail` είναι αντικείμενο με `code: org_suspended | org_deleted`).
Κεφαλίδες απόκρισης
RateLimit-PolicyΤα όρια σε ισχύ, στη μορφή του προσχεδίου IETF
draft-ietf-httpapi-ratelimit-headers: στοιχεία χωρισμένα με κόμμα"<name>";q=<quota>;w=<window in seconds>. Τοkeyείναι ο ρυθμός αιτημάτων του κλειδιού API (η ποσόστωση είναι η ριπή, το παράθυρο είναι ο χρόνος για την πλήρη αναπλήρωσή της· για μια συνεδρία είναιuser, χωρίς διαπιστευτήριαip)· ταminute,dayκαιmonthείναι οι ποσοστώσεις του οργανισμού για το ημερολογιακό λεπτό, την ημέρα και τον μήνα σε UTC.RateLimitΤι απομένει από κάθε όριο του
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitΌριο της αυστηρότερης εγγραφής του
RateLimit-Policy(εκείνης με τα λιγότερα εναπομείναντα αιτήματα).X-RateLimit-RemainingΑιτήματα που απομένουν στο αυστηρότερο όριο.
X-RateLimit-ResetΔευτερόλεπτα έως τον μηδενισμό του αυστηρότερου ορίου.
application/json
429Πάρα πολλά αιτήματα (`api.rate_limited`), η ποσόστωση του οργανισμού για το λεπτό, την ημέρα ή τον μήνα εξαντλήθηκε (`api.quota_exceeded`· το `error.details` περιέχει τα `quota`, `limit` και `reset_at`), ο οργανισμός έφτασε στο όριό του ή η υπηρεσία απαντήσεων είναι απασχολημένη (`answers.engine_busy`). Περιμένετε τον χρόνο που δίνει η κεφαλίδα `Retry-After`.
Κεφαλίδες απόκρισης
Retry-AfterΑριθμός δευτερολέπτων αναμονής πριν επαναλάβετε το αίτημα.
RateLimit-PolicyΤα όρια σε ισχύ, στη μορφή του προσχεδίου IETF
draft-ietf-httpapi-ratelimit-headers: στοιχεία χωρισμένα με κόμμα"<name>";q=<quota>;w=<window in seconds>. Τοkeyείναι ο ρυθμός αιτημάτων του κλειδιού API (η ποσόστωση είναι η ριπή, το παράθυρο είναι ο χρόνος για την πλήρη αναπλήρωσή της· για μια συνεδρία είναιuser, χωρίς διαπιστευτήριαip)· ταminute,dayκαιmonthείναι οι ποσοστώσεις του οργανισμού για το ημερολογιακό λεπτό, την ημέρα και τον μήνα σε UTC.RateLimitΤι απομένει από κάθε όριο του
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitΌριο της αυστηρότερης εγγραφής του
RateLimit-Policy(εκείνης με τα λιγότερα εναπομείναντα αιτήματα).X-RateLimit-RemainingΑιτήματα που απομένουν στο αυστηρότερο όριο.
X-RateLimit-ResetΔευτερόλεπτα έως τον μηδενισμό του αυστηρότερου ορίου.
application/json
503Μια υπηρεσία από την οποία εξαρτάται αυτό το αίτημα δεν είναι προσωρινά διαθέσιμη. Δοκιμάστε ξανά αργότερα.
Κεφαλίδες απόκρισης
RateLimit-PolicyΤα όρια σε ισχύ, στη μορφή του προσχεδίου IETF
draft-ietf-httpapi-ratelimit-headers: στοιχεία χωρισμένα με κόμμα"<name>";q=<quota>;w=<window in seconds>. Τοkeyείναι ο ρυθμός αιτημάτων του κλειδιού API (η ποσόστωση είναι η ριπή, το παράθυρο είναι ο χρόνος για την πλήρη αναπλήρωσή της· για μια συνεδρία είναιuser, χωρίς διαπιστευτήριαip)· ταminute,dayκαιmonthείναι οι ποσοστώσεις του οργανισμού για το ημερολογιακό λεπτό, την ημέρα και τον μήνα σε UTC.RateLimitΤι απομένει από κάθε όριο του
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitΌριο της αυστηρότερης εγγραφής του
RateLimit-Policy(εκείνης με τα λιγότερα εναπομείναντα αιτήματα).X-RateLimit-RemainingΑιτήματα που απομένουν στο αυστηρότερο όριο.
X-RateLimit-ResetΔευτερόλεπτα έως τον μηδενισμό του αυστηρότερου ορίου.
application/json
Κωδικοί σφαλμάτων
Κωδικοί που μπορεί να επιστρέψει αυτό το τελικό σημείο στο error.code, εκτός από τους γενικούς κωδικούς κάθε αιτήματος.
Ασφαλείς επαναλήψεις
Στείλτε μια κεφαλίδα Idempotency-Key (για παράδειγμα ένα UUID) με κάθε POST και PATCH. Μια επανάληψη με το ίδιο κλειδί εντός 24 ωρών επιστρέφει την αποθηκευμένη απόκριση αντί να εκτελέσει ξανά το αίτημα.
Όρια ρυθμού
Οι αποκρίσεις περιέχουν τις κεφαλίδες RateLimit και RateLimit-Policy, καθώς και τις παλαιότερες X-RateLimit-Limit, X-RateLimit-Remaining και X-RateLimit-Reset. Μια απόκριση 429 έχει την κεφαλίδα Retry-After σε δευτερόλεπτα: περιμένετε και επαναλάβετε το αίτημα.