POST /api/session
Inicia nova sessão de circuito e devolve identificador.
Exemplo (cURL)curl -X POST \
-H "Content-Type: application/json" \
http://fizicar.somee.com/api/session
{
"sessionId": "<id>"
}
Esta API permite criar sessões de circuito, adicionar componentes, ligar terminais e obter análise eléctrica.
A API pode operar sem credenciais em ambiente de testes. Em produção, use Bearer
Token no cabeçalho Authorization
.
Content-Type: application/json
e
Authorization: Bearer <token>
.R1
, V1
).value
(Ω, V, A conforme o tipo).nodeA
, nodeB
) na análise.sessionId
no cliente entre chamadas.Inicia nova sessão de circuito e devolve identificador.
Exemplo (cURL)curl -X POST \
-H "Content-Type: application/json" \
http://fizicar.somee.com/api/session
{
"sessionId": "<id>"
}
Remove a sessão e todos os dados associados.
Exemplo (cURL)curl -X DELETE \
http://fizicar.somee.com/api/session/abc-123
{ "message": "Session deleted" }
Adiciona um novo componente ao circuito da sessão.
Pedido{
"id": "R1",
"type": "resistor",
"value": 1000
}
curl -X POST \
-H "Content-Type: application/json" \
-d '{"id":"R1","type":"resistor","value":1000}' \
http://fizicar.somee.com/api/abc-123/component
{
"id": "R1",
"type": "resistor",
"value": 1000,
"nodeA": "n1",
"nodeB": "n2"
}
Cria uma ligação entre terminais de dois componentes.
Pedido{
"component1": "R1",
"terminal1": "a",
"component2": "V1",
"terminal2": "a"
}
curl -X POST \
-H "Content-Type: application/json" \
-d '{"component1":"R1","terminal1":"a","component2":"V1","terminal2":"a"}' \
http://fizicar.somee.com/api/abc-123/connect
{ "message": "Connection added" }
Monta o circuito com listas completas de componentes e ligações.
Pedido{
"components": [
{ "id": "V1", "type": "voltageSource", "value": 5 },
{ "id": "R1", "type": "resistor", "value": 1000 }
],
"connections": [
{ "component1": "V1", "terminal1": "a", "component2": "R1", "terminal2": "a" }
]
}
curl -X POST \
-H "Content-Type: application/json" \
-d '{"components":[{"id":"V1","type":"voltageSource","value":5},{"id":"R1","type":"resistor","value":1000}],
"connections":[{"component1":"V1","terminal1":"a","component2":"R1","terminal2":"a"}]}' \
http://fizicar.somee.com/api/abc-123/circuit
{ "message": "Circuit built" }
Devolve a estrutura actual de componentes e ligações da sessão.
Exemplo (cURL)curl -X GET \
http://fizicar.somee.com/api/abc-123/circuit
{
"components": [
{ "id": "V1", "type": "voltageSource", "value": 5, "nodeA": "0", "nodeB": "1" },
{ "id": "R1", "type": "resistor", "value": 1000, "nodeA": "1", "nodeB": "0" }
],
"connections": [
{ "component1": "V1", "terminal1": "a", "component2": "R1", "terminal2": "a" }
]
}
Executa análise eléctrica e devolve tensão e corrente por componente.
Exemplo (cURL)curl -X GET \
http://fizicar.somee.com/api/abc-123/analysis
{
"componentResults": [
{ "id": "V1", "voltage": 5, "current": 0.005 },
{ "id": "R1", "voltage": 5, "current": 0.005 }
]
}
V1
(fonte de 5V) e R1
(1kΩ)POST /api/session
→ { "sessionId": "abc-123" }
POST /api/abc-123/component
{ "id":"V1", "type":"voltageSource", "value":5 }
POST /api/abc-123/component
{ "id":"R1", "type":"resistor", "value":1000 }
POST /api/abc-123/connect
{ "component1":"V1","terminal1":"a","component2":"R1","terminal2":"a" }
GET /api/abc-123/analysis
→ { "componentResults": [ {"id":"V1","voltage":5,"current":0.005}, {"id":"R1","voltage":5,"current":0.005} ] }
Fonte de 5V em série com resistor de 1kΩ.
sessionId
inexistente.Exemplos: resistor
, voltageSource
, currentSource
,
capacitor
, inductor
. A lista pode crescer conforme a evolução do
serviço.
Valores numéricos em SI. Converta prefixos (k, m, µ) no cliente ou no servidor conforme a política adoptada.