Logi sisseRegistreeru

P2P Dashi API

Sinu P2P portfelli andmed JSON-ina, tabeli, skripti või oma töölaua jaoks. Lood oma kontol tokeni, saadad selle iga päringuga kaasa ja saad tagasi samad numbrid, mida näed P2P Dashis.

Ainult lugemiseksTasutaEsimene versioon

Sinu esimene päring

Kolm sammu terminalis macOS-is või Linuxis. Kui tahad alustada hoopis Google Sheetsist, leiad selle näite allpool.

1

Loo token

Ava P2P Dashis kasutajamenüü ja mine lehele „API tokenid“. Anna tokenile nimi, vali „Sinu andmed“ jaoks „Lugemine“ ja otsusta, millal see aegub. Näitame tokenit ainult ühe korra, nii et kopeeri see kohe.

2

Hoia see koodist eemal

Pane see keskkonnamuutujasse, siin P2PDASH_TOKEN, mitte faili, mida teistega jagad. Kellel on token, see näeb sinu numbreid.

3

Saada päring

Iga päring kannab tokenit päises Authorization. Vastus on JSON ja sinu andmed on välja data all.

Päring
export P2PDASH_TOKEN="p2pdash_..."

curl https://app.p2pdash.com/api/v1/account/summary \
  -H "Authorization: Bearer $P2PDASH_TOKEN"

Windowsi PowerShellis sea token käsuga $env:P2PDASH_TOKEN = "p2pdash_...", kirjuta curl asemel curl.exe, pane kogu päring ühele reale ja kasuta päises $env:P2PDASH_TOKEN.

Vastus
{
  "data": {
    "platformCount": 4,
    "firstDate": "2021-03-02",
    "lastDate": "2026-11-09",
    "interest": 1781.4,
    "principalRepayment": 37443.05,
    "fee": 12.4,
    "tax": 0,
    "bonus": 85,
    "deposit": 12000,
    "withdrawal": 1500,
    "investment": 48210.33,
    "defaultLoss": 120.5,
    "internalTransfer": 0,
    "transactionCount": 14873,
    "totalBalance": 12233.5,
    "availableBalance": 1586.72,
    "investedBalance": 10646.78,
    "netDeposits": 10500,
    "netIncome": 1733.5
  }
}

Need on näidisnumbrid. totalBalance on sinu konto väärtus: sissemaksed miinus väljamaksed pluss kõik, mis oled teeninud, pärast tasusid, makse ja kahjumeid.

Näited

Neli asja, mida saad API-ga teha. Kopeeri kood, sea oma token ja kohanda edasi.

Sinu saldo Google Sheetsis

Ava oma tabelis Extensions → Apps Script ja kleebi sinna see funktsioon. Lisa Project settings → Script properties alla P2PDASH_TOKEN oma tokeniga. Siis kirjuta valem lahtrisse. Sobib iga kokkuvõtte väli, näiteks "netIncome".

Google Apps Script
function P2PDASH(field) {
  const token = PropertiesService.getScriptProperties()
    .getProperty("P2PDASH_TOKEN");
  const res = UrlFetchApp.fetch(
    "https://app.p2pdash.com/api/v1/account/summary",
    { headers: { Authorization: "Bearer " + token } },
  );
  return JSON.parse(res.getContentText()).data[field];
}
Väljund
=P2PDASH("totalBalance")   →  12233.5

Sheets jätab tulemuse meelde ja küsib uuesti alles siis, kui valem muutub. Värskendamiseks lisa teine argument, näiteks =P2PDASH("totalBalance", A1), ja muuda A1. Iga lahter on üks päring. Igaüks, kes saab tabelit muuta, näeb Apps Scriptis ka tokenit, nii et ära tee seda tabelis, mida teised muuta saavad.

Intress kuude kaupa

Aegrida parameetriga granularity=month annab ühe punkti iga kuu kohta, millel on andmeid. Paigalda teek üks kord käsuga pip install requests.

Python
import os
import requests

res = requests.get(
    "https://app.p2pdash.com/api/v1/account/timeseries",
    params={"granularity": "month", "from": "2026-08-01", "to": "2026-10-31"},
    headers={"Authorization": f"Bearer {os.environ['P2PDASH_TOKEN']}"},
)
res.raise_for_status()

for point in res.json()["data"]:
    print(point["date"][:7], f"{point['interest']:.2f}")
Väljund
2026-08 94.80
2026-09 96.42
2026-10 98.15

XIRR iga platvormi kohta

Salvesta see failina xirr.mjs ja käivita node xirr.mjs (Node.js 18 või uuem). XIRR tuleb murdarvuna: 0.0984 tähendab 9,84% aastas. Platvorm, millel pole piisavalt andmeid, saab väärtuse null.

JavaScript (Node.js)
const res = await fetch("https://app.p2pdash.com/api/v1/account/metrics", {
  headers: { Authorization: `Bearer ${process.env.P2PDASH_TOKEN}` },
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const { data } = await res.json();

for (const p of data.xirr.platforms) {
  const xirr = p.allTimeXirr === null
    ? "-"
    : (p.allTimeXirr * 100).toFixed(2) + "%";
  console.log(p.name.padEnd(12), xirr);
}
Väljund
Platform A   9.84%
Platform B   10.37%
Platform C   11.20%
Platform D   -

Numbrid maksudeklaratsiooniks

Intress ja boonused platvormi kaupa ühe aasta kohta, jq abil lühendatud. Milline neist läheb tuluna arvesse, sõltub sinu riigi reeglitest. API näitab ainult seda, mis on P2P Dashis.

curl + jq
curl -s "https://app.p2pdash.com/api/v1/account/tax?year=2025" \
  -H "Authorization: Bearer $P2PDASH_TOKEN" \
  | jq '.data[] | {name, interest: .years[0].interest, bonus: .years[0].bonus}'
Väljund
{
  "name": "Platform A",
  "interest": 412.37,
  "bonus": 25
}
{
  "name": "Platform B",
  "interest": 288.9,
  "bonus": 0
}

Mida saad lugeda

Kogu konto, iga portfell ja iga platvorm vastavad samadele viiele küsimusele. Õpi need korra selgeks ja saad neid küsida igal tasemel.

Viis vaadet

Iga vaade on olemas kolmel tasemel. Ühe platvormi jaoks võta kõigepealt selle ID aadressilt /api/v1/platforms ja pane see {id} asemele. Portfellidega käib see samamoodi.

summary

Kogusummad kogu aja kohta: intress, boonused, tasud, kahjumid, sissemaksed, väljamaksed ja neist tulenevad saldod.

Kogu konto
GET /api/v1/account/summary
Üks portfell
GET /api/v1/portfolios/{id}/summary
Üks platvorm
GET /api/v1/platforms/{id}/summary
timeseries

Samad numbrid ajas, päeva, kuu või aasta kaupa, koos saldoga iga perioodi lõpus. Sobib graafikute jaoks.

Kogu konto
GET /api/v1/account/timeseries
Üks portfell
GET /api/v1/portfolios/{id}/timeseries
Üks platvorm
GET /api/v1/platforms/{id}/timeseries
metrics

XIRR (kogu aja ja aastate kaupa, boonustega ja ilma), cash drag, keskmine investeeritud saldo ja kapitali vabaduse indeks, iga platvormi kohta ja kokku.

Kogu konto
GET /api/v1/account/metrics
Üks portfell
GET /api/v1/portfolios/{id}/metrics
Üks platvorm
GET /api/v1/platforms/{id}/metrics
income-projection

Kui palju sinu praegune saldo teeniks päevas, kuus ja aastas sinu senise boonusteta XIRR-i juures. Prognoos, mitte lubadus.

Kogu konto
GET /api/v1/account/income-projection
Üks portfell
GET /api/v1/portfolios/{id}/income-projection
Üks platvorm
GET /api/v1/platforms/{id}/income-projection
tax

Intress, boonused, kinnipeetud maksud, tasud ja kahjumid platvormi ja kalendriaasta kaupa, uusim aasta eespool.

Kogu konto
GET /api/v1/account/tax
Üks portfell
GET /api/v1/portfolios/{id}/tax
Üks platvorm
GET /api/v1/platforms/{id}/tax

Nimekirjad ja üksikasjad

GET /api/v1/account
Millist tokenit sa kasutad, millised õigused sellel on ja millal see aegub. Mugav, et kontrollida, kas token veel töötab.
GET /api/v1/platforms
Kõik sinu platvormid koos ID-de, portfellide ja kogusummadega. Alusta siit, et ID-d üles leida.
GET /api/v1/platforms/{id}
Üks platvorm, sama objekt nagu nimekirjas.
GET /api/v1/platforms/{id}/intent-history
Millal sa muutsid oma plaani mõne platvormi jaoks (kasvatada, hoida, väljuda jne).
GET /api/v1/portfolios
Kõik sinu portfellid koos nende platvormidega.
GET /api/v1/portfolios/{id}
Üks portfell.
GET /api/v1/platform-types
Faktid iga platvormitüübi kohta: riik, varaklassid, regulatsioon, asutamisaasta. Kõigile kasutajatele samad.

Päringu parameetrid

from, to
Ainult timeseries jaoks. Päevad kujul YYYY-MM-DD, mõlemad kaasa arvatud. Väärtusega month või year laienevad need tervete perioodideni. Saldod arvestatakse ikka sinu esimesest andmetega päevast, nii et hilisem from neid nullist ei alusta.
granularity
Ainult timeseries jaoks. day (vaikimisi), month või year. Punkti kuupäev on tema perioodi viimane päev. Päeval või perioodil ilma andmeteta pole üldse punkti, nii et nulle ära oota.
year
Ainult tax jaoks. Kalendriaasta, näiteks 2025. Platvormid, millel selles aastas andmeid pole, jäetakse välja.

Iga vastuse iga väli on kirjas OpenAPI dokumendis. Seda oskavad lugeda tööriistad nagu Postman või Swagger UI ja koodigeneraatorid saavad selle põhjal kliendi ehitada.

Ava OpenAPI dokument

Hea teada

Reeglid, mis kehtivad iga otspunkti kohta.

Ainult lugemiseks

API loeb sinu andmeid ega muuda midagi. Impordid ja seaded käivad endiselt rakenduses.

Nii värske kui sinu viimane import

P2P Dash ei too platvormidelt midagi ise. API tagastab selle, mille sa importisid või käsitsi sisestasid, ja lastDate ütleb viimase andmetega päeva.

60 päringut, siis minut pausi

Tokeni kohta. Loendur hakkab otsast peale alles siis, kui token on terve minuti ilma ühegi päringuta olnud, nii et piirini jõuab ka skript, mis küsib iga paari sekundi tagant. Siis saad vastuseks 429 ja Retry-After ütleb, mitu sekundit oodata. Edukates vastustes näitab X-RateLimit-Remaining, palju on veel alles.

Summad eurodes

Rahavood nagu deposit, withdrawal või fee on alati positiivsed, suund on nimes. Saldod ja netIncome võivad minna alla nulli. XIRR ja cash drag on murdarvud (0.075 on 7,5%), kapitali vabaduse indeks on vahemikus 0 kuni 100.

Kuupäevad UTC-s

Päevad kujul YYYY-MM-DD, ajahetked ISO 8601 järgi. Päev on see päev, mis on ekspordis, ilma et ajavööndid seda nihutaksid.

Tokenid

Kuni 10 aktiivset tokenit konto kohta. Aegumiseks saad valida „30 päeva“, „90 päeva“, „1 aasta“ või „Mitte kunagi“. Vajuta tokenite lehel „Tühista“ ja token lakkab kohe töötamast.

Kui midagi läheb valesti

Vead tulevad JSON-ina kindla error.code väärtusega. Kontrolli koodi, mitte sõnumit: sõnum võib muutuda, koodid jäävad.

OlekKood ja tähendus
400invalid_request

Mõni parameeter on vale. details nimetab iga välja ja selle, mis sellega valesti on.

401unauthorized

Token puudub, on valesti kirjutatud, tühistatud või aegunud.

403insufficient_scope

Tokenil pole luba seda API osa lugeda.

404not_found

Sellist teed pole olemas või ID ei kuulu ühelegi sinu platvormile ega portfellile.

429rate_limited

60 päringut ilma minutise pausita. Oota nii mitu sekundit, kui Retry-After ütleb.

500internal_error

Meie viga. Proovi hiljem uuesti ja kui see kordub, kirjuta meile.

On veel kaks 403 koodi, forbidden ja plan_required. Tavalise kontoga sa neid ei näe.

Näide: kuupäev, mida pole olemas

Päring
curl "https://app.p2pdash.com/api/v1/account/timeseries?from=2025-02-30" \
  -H "Authorization: Bearer $P2PDASH_TOKEN"
Vastus
{
  "error": {
    "code": "invalid_request",
    "message": "Not a valid calendar date",
    "details": [
      {
        "field": "from",
        "message": "Not a valid calendar date"
      }
    ]
  }
}

Küsimused API kohta

Enne sinu esimest päringut.

Kas API maksab midagi?

Ei. Nagu rakendus, on see praegu igale kontole tasuta.

Kas saan API kaudu tehinguid importida?

Veel mitte. API ainult loeb. Ekspordid laadid endiselt üles rakenduses.

Kas ma pean oskama programmeerida?

Mitte eriti. Google Sheetsi näide on kopeeri ja kleebi ning curl-päring töötab terminalis macOS-is ja Linuxis. Kõige muu jaoks tuleb kasuks natuke Pythonit või JavaScripti.

Mis juhtub, kui keegi saab mu tokeni kätte?

Ta saab lugeda sinu P2P Dashi numbreid, aga ei saa midagi muuta ega näe kunagi sinu e-posti ega parooli. Vajuta tokenite lehel „Tühista“ ja token lakkab kohe töötamast.

Kas API muutub?

Jah, võib muutuda. See on esimene versioon ning väljad või otspunktid võivad veel muutuda ilma uue versiooninumbrita. Kui ehitad sellele midagi, arvesta, et pead seda aeg-ajalt kohandama.

Kas saan teiste kasutajate andmeid?

Ei. Token loeb alati ainult selle konto andmeid, mis selle lõi. Ainus erand on platvormitüüpide nimekiri, kus on avalikud faktid platvormide kohta.

Loo oma esimene token

Logi sisse, ava kasutajamenüüs „API tokenid“ ja saada oma esimene päring.

Mine „API tokenid“ lehele

Kontot veel pole? Registreeru tasuta ja impordi kõigepealt üks eksport, muidu pole API-l midagi näidata.