IelogotiesReģistrēties

P2P Dash API

Tava P2P portfeļa dati JSON formātā, izklājlapai, skriptam vai pašam savam panelim. Savā kontā izveido pilnvaru, pievieno to katram pieprasījumam un saņem tos pašus skaitļus, ko redzi P2P Dash.

Tikai lasīšanaiBez maksasPirmā versija

Tavs pirmais pieprasījums

Trīs soļi terminālī uz macOS vai Linux. Ja gribi sākt ar Google Sheets, tālāk atradīsi piemēru arī tam.

1

Izveido pilnvaru

P2P Dash atver lietotāja izvēlni un ej uz „API pilnvaras”. Dod pilnvarai nosaukumu, jomai „Tavi dati” izvēlies „Lasīšana” un nosaki, kad beidzas tās derīgums. Pilnvaru parādām tikai vienu reizi, tāpēc nokopē to uzreiz.

2

Neliec to kodā

Saglabā to vides mainīgajā, šeit P2PDASH_TOKEN, nevis failā, ar ko dalies. Kam ir pilnvara, tas var nolasīt tavus skaitļus.

3

Nosūti pieprasījumu

Katrā pieprasījumā pilnvara ir galvenē Authorization. Atbilde ir JSON, un tavi dati ir zem data.

Pieprasījums
export P2PDASH_TOKEN="p2pdash_..."

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

Windows PowerShell vidē pilnvaru iestati ar $env:P2PDASH_TOKEN = "p2pdash_...", curl vietā raksti curl.exe, visu pieprasījumu ieraksti vienā rindā un galvenē izmanto $env:P2PDASH_TOKEN.

Atbilde
{
  "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
  }
}

Šie ir parauga skaitļi. totalBalance ir tava konta vērtība: iemaksas mīnus izmaksas plus viss, ko esi nopelnījis, pēc komisijām, nodokļiem un zaudējumiem.

Piemēri

Četras lietas, ko vari darīt ar API. Nokopē kodu, iestati savu pilnvaru un pielāgo pēc vajadzības.

Tavs atlikums Google Sheets

Savā tabulā atver Extensions → Apps Script un ielīmē šo funkciju. Sadaļā Project settings → Script properties pievieno P2PDASH_TOKEN ar savu pilnvaru. Tad ieraksti formulu šūnā. Der jebkurš kopsavilkuma lauks, piemēram, "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];
}
Rezultāts
=P2PDASH("totalBalance")   →  12233.5

Sheets saglabā rezultātu un vaicā no jauna tikai tad, kad mainās formula. Lai atjaunotu, pievieno otru argumentu, piemēram, =P2PDASH("totalBalance", A1), un nomaini A1. Katra šūna ir viens pieprasījums. Ikviens, kas var rediģēt tabulu, Apps Script var redzēt arī pilnvaru, tāpēc nedari to tabulā, ko rediģē citi.

Procenti pa mēnešiem

Laika rinda ar granularity=month dod vienu punktu katram mēnesim, kurā ir dati. Bibliotēku vienreiz instalē ar 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}")
Rezultāts
2026-08 94.80
2026-09 96.42
2026-10 98.15

XIRR katrai platformai

Saglabā to kā xirr.mjs un palaid ar node xirr.mjs (Node.js 18 vai jaunāka). XIRR tiek atgriezts kā daļskaitlis: 0.0984 nozīmē 9,84 % gadā. Platforma, kurai nav pietiekami daudz datu, saņem 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);
}
Rezultāts
Platform A   9.84%
Platform B   10.37%
Platform C   11.20%
Platform D   -

Skaitļi nodokļu deklarācijai

Procenti un bonusi katrai platformai par vienu gadu, saīsināti ar jq. Kuri no tiem skaitās ienākumi, nosaka tavas valsts noteikumi. API rāda tikai to, kas ir P2P Dash.

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}'
Rezultāts
{
  "name": "Platform A",
  "interest": 412.37,
  "bonus": 25
}
{
  "name": "Platform B",
  "interest": 288.9,
  "bonus": 0
}

Ko vari nolasīt

Viss konts, katrs portfelis un katra platforma atbild uz tiem pašiem pieciem jautājumiem. Iemācies tos vienreiz, un vari tos uzdot jebkurā līmenī.

Pieci skati

Katrs skats pastāv trīs reizes. Vienai platformai vispirms paņem tās ID no /api/v1/platforms un ieliec to {id} vietā. Portfeļiem tas notiek tāpat.

summary

Kopsummas par visu laiku: procenti, bonusi, komisijas, zaudējumi, iemaksas, izmaksas un atlikumi, kas no tiem izriet.

Viss konts
GET /api/v1/account/summary
Viens portfelis
GET /api/v1/portfolios/{id}/summary
Viena platforma
GET /api/v1/platforms/{id}/summary
timeseries

Tie paši skaitļi laika gaitā, pa dienām, mēnešiem vai gadiem, ar atlikumu katra perioda beigās. Noder grafikiem.

Viss konts
GET /api/v1/account/timeseries
Viens portfelis
GET /api/v1/portfolios/{id}/timeseries
Viena platforma
GET /api/v1/platforms/{id}/timeseries
metrics

XIRR (par visu laiku un pa gadiem, ar bonusiem un bez tiem), cash drag, vidējais investētais atlikums un kapitāla brīvības indekss, katrai platformai un kopā.

Viss konts
GET /api/v1/account/metrics
Viens portfelis
GET /api/v1/portfolios/{id}/metrics
Viena platforma
GET /api/v1/platforms/{id}/metrics
income-projection

Cik tavs pašreizējais atlikums nopelnītu dienā, mēnesī un gadā ar tavu līdzšinējo XIRR bez bonusiem. Prognoze, nevis solījums.

Viss konts
GET /api/v1/account/income-projection
Viens portfelis
GET /api/v1/portfolios/{id}/income-projection
Viena platforma
GET /api/v1/platforms/{id}/income-projection
tax

Procenti, bonusi, ieturētie nodokļi, komisijas un zaudējumi katrai platformai un kalendārajam gadam, jaunākais gads pirmais.

Viss konts
GET /api/v1/account/tax
Viens portfelis
GET /api/v1/portfolios/{id}/tax
Viena platforma
GET /api/v1/platforms/{id}/tax

Saraksti un detaļas

GET /api/v1/account
Kuru pilnvaru tu izmanto, kādas tai ir tiesības un kad beidzas tās derīgums. Ērti, lai pārbaudītu, vai pilnvara vēl darbojas.
GET /api/v1/platforms
Visas tavas platformas ar to ID, portfeļiem un kopsummām. Sāc šeit, lai atrastu ID.
GET /api/v1/platforms/{id}
Viena platforma, tāds pats objekts kā sarakstā.
GET /api/v1/platforms/{id}/intent-history
Kad tu mainīji savu plānu kādai platformai (palielināt, turēt, iziet un tamlīdzīgi).
GET /api/v1/portfolios
Visi tavi portfeļi ar to platformām.
GET /api/v1/portfolios/{id}
Viens portfelis.
GET /api/v1/platform-types
Fakti par katru platformas veidu: valsts, aktīvu klases, regulējums, dibināšanas gads. Visiem lietotājiem vienādi.

Vaicājuma parametri

from, to
Tikai timeseries. Dienas formātā YYYY-MM-DD, abas ieskaitot. Ar month vai year tās paplašinās līdz veseliem periodiem. Atlikumi joprojām tiek skaitīti no tavas pirmās datu dienas, tāpēc vēlāks from tos neatiestata.
granularity
Tikai timeseries. day (noklusējums), month vai year. Punkta datums ir tā perioda pēdējā diena. Dienai vai periodam bez datiem punkta nav vispār, tāpēc negaidi nulles.
year
Tikai tax. Kalendārais gads, piemēram, 2025. Platformas, kurām tajā gadā nav datu, netiek iekļautas.

Katrs katras atbildes lauks ir aprakstīts OpenAPI dokumentā. To var nolasīt tādi rīki kā Postman vai Swagger UI, un koda ģeneratori no tā var izveidot klientu.

Atvērt OpenAPI dokumentu

Vērts zināt

Noteikumi, kas attiecas uz katru galapunktu.

Tikai lasīšanai

API nolasa tavus datus un neko nemaina. Importi un iestatījumi joprojām notiek lietotnē.

Tik aktuāli kā tavs pēdējais imports

P2P Dash neko neielādē no platformām. API atgriež to, ko tu importēji vai ievadīji ar roku, un lastDate parāda pēdējo dienu ar datiem.

60 pieprasījumi, tad minūtes pauze

Katrai pilnvarai. Skaitītājs sāk no jauna tikai tad, kad pilnvara veselu minūti nav saņēmusi nevienu pieprasījumu, tāpēc limitu sasniedz arī skripts, kas vaicā ik pēc dažām sekundēm. Tad saņem 429, un Retry-After pasaka, cik sekundes jāgaida. Veiksmīgās atbildēs X-RateLimit-Remaining rāda, cik vēl atlicis.

Summas eiro

Naudas plūsmas, piemēram, deposit, withdrawal vai fee, vienmēr ir pozitīvas, virzienu pasaka nosaukums. Atlikumi un netIncome var būt zem nulles. XIRR un cash drag ir daļskaitļi (0.075 ir 7,5 %), kapitāla brīvības indekss ir no 0 līdz 100.

Datumi UTC

Dienas kā YYYY-MM-DD, laika punkti kā ISO 8601. Diena ir tā diena, kas norādīta eksportā, laika joslas to nepārbīda.

Pilnvaras

Līdz 10 aktīvām pilnvarām vienā kontā, derīgas „30 dienas”, „90 dienas”, „1 gads” vai bez termiņa („Nekad”). Ja pilnvaru lapā pilnvarai nospied „Atsaukt”, tā uzreiz pārstāj darboties.

Kad kaut kas noiet greizi

Kļūdas atnāk kā JSON ar nemainīgu error.code. Pārbaudi kodu, nevis ziņojumu: ziņojums var mainīties, kodi paliek.

StatussKods un nozīme
400invalid_request

Kāds parametrs ir nepareizs. details nosauc katru lauku un to, kas ar to nav kārtībā.

401unauthorized

Pilnvaras nav, tajā ir drukas kļūda, tā ir atsaukta vai tai beidzies derīgums.

403insufficient_scope

Pilnvara nedrīkst lasīt šo API daļu.

404not_found

Šāda ceļa nav, vai arī ID nepieder nevienai tavai platformai vai portfelim.

429rate_limited

60 pieprasījumi bez minūtes pauzes. Pagaidi tik sekundes, cik norāda Retry-After.

500internal_error

Mūsu kļūda. Mēģini vēlreiz vēlāk, un, ja tas atkārtojas, uzraksti mums.

Ir vēl divi 403 kodi, forbidden un plan_required. Ar parastu kontu tu tos neredzēsi.

Piemērs: datums, kas neeksistē

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

Jautājumi par API

Pirms tava pirmā pieprasījuma.

Vai API kaut ko maksā?

Nē. Tāpat kā lietotne, tā pašlaik ir bez maksas katram kontam.

Vai caur API var importēt darījumus?

Vēl ne. API tikai nolasa. Eksportus joprojām augšupielādē lietotnē.

Vai man jāprot programmēt?

Ne īpaši. Google Sheets piemērs ir nokopē un ielīmē, un curl pieprasījums darbojas terminālī uz macOS un Linux. Visam pārējam noder mazliet Python vai JavaScript.

Kas notiek, ja kāds tiek pie manas pilnvaras?

Viņš var nolasīt tavus P2P Dash skaitļus, bet neko nevar mainīt un nekad neredz tavu e-pastu vai paroli. Pilnvaru lapā nospied „Atsaukt”, un pilnvara uzreiz pārstāj darboties.

Vai API mainīsies?

Jā, var mainīties. Šī ir pirmā versija, un lauki vai galapunkti vēl var mainīties bez jauna versijas numura. Ja uz tās kaut ko būvē, rēķinies, ka laiku pa laikam būs jāpielāgo.

Vai varu iegūt citu lietotāju datus?

Nē. Pilnvara vienmēr nolasa tikai tā konta datus, kas to izveidoja. Vienīgais izņēmums ir platformu veidu saraksts ar publiskiem faktiem par platformām.

Izveido savu pirmo pilnvaru

Pieslēdzies, lietotāja izvēlnē atver „API pilnvaras” un nosūti savu pirmo pieprasījumu.

Uz „API pilnvaras”

Vēl nav konta? Reģistrējies bez maksas un vispirms importē eksportu, citādi API nav ko rādīt.