Exemplos de Payload JSON
Esta página detalha as estruturas de dados exatas transmitidas pela rede BSP e armazenadas permanentemente no Arweave. Entender esses payloads é fundamental para depuração e para desenvolvedores que escrevem integrações sem dependência dos SDKs oficiais.
1. O BEO (Objeto de Entidade Biológica)
O estado de um BEO conforme resolvido pelo contrato inteligente BEORegistry.
{
"beo_id": "bsp:beo:v1:9f8d...",
"domain": "andre.bsp",
"public_key": "ed25519_pub_...a1b2",
"created_at": "2026-01-10T14:32:00Z",
"record_count": 47,
"recovery": {
"status": "ACTIVE",
"threshold": 2,
"guardians": [
"ed25519_pub_...xyz",
"ed25519_pub_...abc",
"ed25519_pub_...123"
]
},
"status": "ACTIVE"
}2. Um BioRecord Padronizado
Como um único resultado médico é estruturado antes de ser criptografado e armazenado.
{
"record_id": "rec_001_abc123",
"beo_id": "bsp:beo:v1:9f8d...",
"biomarker": "BSP-LA-004",
"value": 4.8,
"unit": "%",
"method": "HPLC",
"collected_at": "2026-02-25T08:15:00Z",
"source": {
"ieo_id": "bsp:ieo:fleury:v1:...",
"domain": "fleury.bsp",
"signature": "ed25519_sig_...4455"
},
"context": {
"fasting_hours": 12,
"medication_active": []
},
"status": "ACTIVE"
}3. Um BioRecord de Wearable
Como dados contínuos de dispositivo são resumidos (ex. HRV de um Oura Ring).
{
"record_id": "rec_wrb_xyz789",
"beo_id": "bsp:beo:v1:9f8d...",
"biomarker": "BSP-DV-002",
"value": 64.2,
"unit": "ms",
"method": "PPG_RMSSD",
"collected_at": "2026-02-26T00:00:00Z",
"source": {
"ieo_id": "bsp:ieo:oura:v1:...",
"domain": "oura.bsp",
"signature": "ed25519_sig_...9988"
},
"context": {
"aggregation_type": "DAILY_AVERAGE",
"device_model": "Oura Gen3"
},
"status": "ACTIVE"
}4. O ConsentToken
O objeto de autorização on-chain gerado pelo contrato AccessControl.
{
"token_id": "tok_556677...",
"beo_id": "bsp:beo:v1:9f8d...",
"ieo_id": "bsp:ieo:dr-carlos:v1...",
"granted_at": "2026-02-26T10:00:00Z",
"expires_at": "2026-03-28T10:00:00Z",
"revoked_at": null,
"scope": {
"intents": ["READ_RECORDS"],
"categories": ["BSP-LA", "BSP-CV"],
"levels": ["CORE", "STANDARD"],
"period": {
"from": "2024-01-01T00:00:00Z",
"to": null
},
"max_records": 500
},
"revocable": true,
"owner_signature": "ed25519_sig_...1122",
"token_hash": "sha256_...aabb"
}5. Requisição de Rede do Protocolo de Troca
O payload JSON HTTP transmitido durante uma chamada SUBMIT_RECORD. Note a dupla autenticação: o consent_token prova que o usuário autorizou, e o ieo_signature prova que o IEO realmente enviou.
{
"request_api_version": "0.2",
"intent": "SUBMIT_RECORD",
"target_beo": "andre.bsp",
"auth": {
"consent_token": "tok_556677...",
"ieo_domain": "fleury.bsp",
"ieo_signature": "ed25519_sig_...ddeeff"
},
"payload": {
"encrypted_records": [
"BASE64_ENCRYPTED_BLOB_1",
"BASE64_ENCRYPTED_BLOB_2"
]
}
}
