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.
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.
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.
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.
Nosūti pieprasījumu
Katrā pieprasījumā pilnvara ir galvenē Authorization. Atbilde ir JSON, un tavi dati ir zem data.
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.
{
"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".
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];
}=P2PDASH("totalBalance") → 12233.5Sheets 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.
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}")2026-08 94.80
2026-09 96.42
2026-10 98.15XIRR 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.
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);
}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 -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}'{
"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.
summaryKopsummas 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
timeseriesTie 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
metricsXIRR (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-projectionCik 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
taxProcenti, 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. Armonthvaiyeartā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āksfromtos neatiestata. granularity- Tikai
timeseries.day(noklusējums),monthvaiyear. 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 dokumentuVē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.
| Statuss | Kods un nozīme |
|---|---|
| 400 | invalid_requestKāds parametrs ir nepareizs. |
| 401 | unauthorizedPilnvaras nav, tajā ir drukas kļūda, tā ir atsaukta vai tai beidzies derīgums. |
| 403 | insufficient_scopePilnvara nedrīkst lasīt šo API daļu. |
| 404 | not_foundŠāda ceļa nav, vai arī ID nepieder nevienai tavai platformai vai portfelim. |
| 429 | rate_limited60 pieprasījumi bez minūtes pauzes. Pagaidi tik sekundes, cik norāda |
| 500 | internal_errorMū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ē
curl "https://app.p2pdash.com/api/v1/account/timeseries?from=2025-02-30" \
-H "Authorization: Bearer $P2PDASH_TOKEN"{
"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.