sessionStorage) and is sent only to MISA's servers via
this site's proxy. Nothing is stored on the server, nothing is logged, and closing the tab clears
it. Use the Clear session button when done. Prefer the Paste token mode if you
already have a token — it avoids typing your password here at all.1 · Settings
Host and company scope. Dates default to yesterday (the daily-download window).
2 · Sign in
Auth in the app: MISA ID → access token → meInvoice JWT.
Password login calls the MISA ID password grant at id.misa.vn/connect/token
(verified live), then exchanges the token for a JWT at
api.meinvoice.vn/api2/auth/jwttoken (the token goes in the
Authorization: Bearer header — without it the endpoint answers
INVALIDPARAMETER). The password grant needs the app's OAuth
client_id, which is not recoverable from the APK — if you know it, fill it in;
otherwise use Paste token, which is the reliable path right now.
Status: Not signed in
3 · List invoices
Tries the paging endpoints for the chosen family (POST with JSON body first, then GET) and renders the result. The raw response is shown in the log below.
4 · Download PDF / XML
For each listed invoice, tries the file-download candidates in order:
/Handler/V3DownloadHandler.ashx, then /invoices/print-pdf, then
/invoices/invoicefiles-trans. Note: the handler answered 406 even with a Bearer
token, so it likely needs the web session (cookie) rather than a Bearer token — the first
candidate may fail until that is confirmed; the other two are tried next. The handler's exact
query parameters were not in the binary — edit the templates below if the first try fails;
{refId}, {code}, {id} are replaced per invoice.
5 · Raw API tester
Try any endpoint from the spec directly. Useful for confirming a verb or a parameter the list/download steps guessed wrong.
Try: /api/v2/v3system/appconfig on the app host (needs a token — 401
without one), /api/v2/v3sainvoice/paging, /api2/auth/jwttoken on the
API host (POST, with a Bearer MISA token).
Request log
Every attempt, in order, with status and a truncated body. Tokens are masked here.
Endpoints found in the app (reference)
Auth: MISA ID password grant POST id.misa.vn/connect/token
(form-urlencoded, needs the app's OAuth client_id),
GET app.meinvoice.vn/api/v2/v3system/misaid/accessToken,
GET app.meinvoice.vn/api/v2/v3system/misaid/refreshAccessToken,
POST api.meinvoice.vn/api2/auth/jwttoken (Bearer = MISA token),
POST api.meinvoice.vn/api2/user/refreshtoken,
/User/AuthenticationOTPV2. List (all under
app.meinvoice.vn/api/v2): /v3sainvoice/paging,
/v3sainvoice/code/paging, /v3approve/invoice/paging,
/cashregisterinvoice/paging/v2.
Detail: /v3invoice/code/preview, /v3invoice/published/preview/.
Files: /Handler/V3DownloadHandler.ashx, /invoices/print-pdf,
/invoices/invoicefiles-trans. Full catalog (126 paths) in the architecture document
and the OpenAPI spec.