sptrans-promise v1.0.7
Sobre
O sptrans-promise é uma biblioteca Javascript (client-side e server-side) feita para facilitar o acesso a API da SPTrans que disponibiliza dados em tempo real da frota de ônibus da cidade de São Paulo.
Como utilizar
Instalação
$ npm install --save sptrans-promiseNode.js
import sptrans from 'sptrans-promise'Browser
Você pode instalar o sptrans-promise via npm e importar o script através do caminho:
node_modules/sptrans-promise/build/browser/sptrans-promise.min.js. Ou se preferir pode copiar o script clicando aqui. A biblioteca estará acessível através da variável global sptrans.
Token
A API da SPTrans exige autenticação com um token que você pode obter ao se cadastrar pelo link: http://www.sptrans.com.br/desenvolvedores/.
Autenticação
O método auth() recebe um token e retorna uma Promise com as credentials.
import sptrans from 'sptrans-promise'
sptrans.auth('SEU_TOKEN_AQUI')
.then(console.log)O método find()
Este é o principal método da biblioteca, você deve usá-lo para realizar buscas pelos seguintes tipos de dados:
- Linhas
- Paradas
- Paradas por linha
- Corredores
- Paradas por corredor
- Posição dos veículos
- Previsão de chegada
- Previsão da linha
- Previsão da parada
Linhas
O tipo linhas possibilita a consulta pelas linhas de ônibus da cidade de São Paulo.
Aceita o nome da linha ou letreiro. O valor deve ser passado pelo parâmetro termosBusca como uma string:
import sptrans from 'sptrans-promise'
sptrans.auth('SEU_TOKEN_AQUI')
.then(encontrarLinhas)
function encontrarLinhas (auth) {
sptrans.find({
auth,
tipo: 'linhas',
termosBusca: 'Term. Lapa'
}).then(console.log)
}Exemplo de resposta
[{
CodigoLinha: 34022,
CodigoTrajeto: 63468,
Circular: false,
Letreiro: '8004',
Sentido: 2,
Tipo: 10,
DenominacaoTPTS: 'TERM. LAPA',
DenominacaoTSTP: 'STA. MÔNICA',
Informacoes: null
}]Para obter todas as linhas:
sptrans.find({
auth,
tipo: 'linhas',
termosBusca: '*'
}).then(console.log)Trajeto
O tipo trajeto retorna uma lista com a latitude e longitude de cada rua que o ônibus passa.
Aceita o código do trajeto. O valor deve ser passado pelo parâmetro codigoTrajeto como number:
sptrans.find({
auth,
tipo: 'trajeto',
codigoTrajeto: 63468
}).then(console.log)Exemplo de resposta
[{
shape_id: '63468',
shape_pt_lat: '-23.516524',
shape_pt_lon: '-46.725786',
shape_pt_sequence: '81',
shape_dist_traveled: '3637.9119'
}]Paradas
O tipo paradas possibilita a consulta pelos pontos de parada da cidade de São Paulo.
Aceita o nome da parada ou o endereço de localização. O valor deve ser passado pelo parâmetro termosBusca como uma string ou um array de strings:
//passando string
sptrans.find({
auth,
tipo: 'paradas',
termosBusca: 'Av. Mutinga'
}).then(console.log)
//passando array
sptrans.find({
auth,
tipo: 'paradas',
termosBusca: ['Av. Mutinga', 'Av. Faria Lima', 'Av. Paulista']
}).then(console.log)Exemplo de resposta
[{
CodigoParada: 260015039,
Nome: 'PAULISTA B/C',
Endereco: 'AV PAULISTA/ AV REBOUCAS',
Latitude: -23.555883,
Longitude: -46.66306
}]Paradas por linha
O tipo paradasPorLinha realiza uma busca por todos os pontos de parada atendidos por uma determinada linha.
Aceita o código da linha. O valor deve ser passado pelo parâmetro codigoLinha como um number ou um array de numbers:
//passando number
sptrans.find({
auth,
tipo: 'paradasPorLinha',
codigoLinha: 34041
}).then(console.log)
//passando array
sptrans.find({
auth,
tipo: 'paradas',
codigoLinha: [34041, 34042, 34043]
}).then(console.log)Exemplo de resposta
[{
CodigoParada: 480014608,
Nome: 'TIBERIO C/B',
Endereco: 'R TIBERIO/ R MENFIS',
Latitude: -23.522875,
Longitude: -46.688219
}]Corredores
O tipo corredores realiza uma busca por todos os corredores de ônibus da cidade de São Paulo.
sptrans.find({
auth,
tipo: 'corredores'
}).then(console.log)Exemplo de resposta
[{
CodCot: 0,
CodCorredor: 8,
Nome: 'Campo Limpo'
}]Paradas por corredor
O tipo paradasPorCorredor retorna a lista detalhada de todas as paradas que compõem um determinado corredor.
Aceita o código do corredor. O valor deve ser passado pelo parâmetro codigoCorredor como um number ou um array de numbers:
//passando number
sptrans.find({
auth,
tipo: 'paradasPorCorredor',
codigoCorredor: 8
}).then(console.log)
//passando array
sptrans.find({
auth,
tipo: 'paradasPorCorredor',
codigoCorredor: [8, 9]
}).then(console.log)Exemplo de resposta
[{
CodigoParada: 120011367,
Nome: 'TRES IRMAOS C/B',
Endereco: 'R JOSE JANNARELLI/ R TRES IRMAOS',
Latitude: -23.584817,
Longitude: -46.719021
}]Posição dos veículos
O tipo posicaoVeiculos retorna a posição exata de cada veículo de qualquer linha de ônibus da SPTrans.
Aceita o código da linha. O valor deve ser passado pelo parâmetro codigoLinha como um number ou um array de numbers:
//passando number
sptrans.find({
auth,
tipo: 'posicaoVeiculos',
codigoLinha: 34041
}).then(console.log)
//passando array
sptrans.find({
auth,
tipo: 'posicaoVeiculos',
codigoLinha: [34041, 34042]
}).then(console.log)Previsão de chegada
O tipo previsaoChegada retorna a previsão de chegada de cada veículo de uma determinada linha e de um determinado ponto de parada, além da localização exata de cada veículo que constar na cadeia de previsões.
Aceita o código da parada e o código da linha. O valor deve ser passado pelos parâmetros codigoParada e codigoLinha como um number:
sptrans.find({
auth,
tipo: 'previsaoChegada',
codigoParada: 260015039,
codigoLinha: 34041
}).then(console.log)Previsão da linha
O tipo previsaoLinha retorna uma lista com a previsão de chegada de cada um dos veículos da linha informada em todos os pontos de parada aos quais que ela atende.
Aceita o código da linha. O valor deve ser passado pelo parâmetro codigoLinha como um number ou um array de numbers:
//passando number
sptrans.find({
auth,
tipo: 'previsaoLinha',
codigoLinha: 34041
}).then(console.log)
//passando array
sptrans.find({
auth,
tipo: 'previsaoLinha',
codigoLinha: [34041, 34042]
}).then(console.log)Previsão da parada
O tipo previsaoParada retorna uma lista com a previsão de chegada dos veículos de cada uma das linhas que atendem ao ponto de parada informado.
Aceita o código da parada. O valor deve ser passado pelo parâmetro codigoParada como um number ou um array de numbers:
//passando number
sptrans.find({
auth,
tipo: 'previsaoParada',
codigoParada: 260015039
}).then(console.log)
//passando array
sptrans.find({
auth,
tipo: 'previsaoParada',
codigoParada: [260015039, 260015038]
}).then(console.log)Como contribuir
Para contribuir com o projeto, clique aqui.
Changelog
Para verificar o changelog, clique aqui.
Autor
| @thiagommedeiros |
|---|