Se você está nessa página, nós assumimos que:
Você já possui uma chave de acesso;

Tenha conhecimento sobre o funcionamento dos exemplos de código através do guia Primeiros passos;

Tenha conhecimento de XML e Web Services SOAP.

O serviço Traffic disponibiliza através de suas operações as funcionalidades de busca de informações de trânsito, considerando corredores específicos, por localização (cidade e estado) ou por categorias, podendo por exemplo, verificar trechos com obras na via ou com incidentes de alagamentos, acidentes, entre outras situações que venham a compremeter o tráfego em um determinado ponto. Adicionalmente, estão disponíveis as opções para obtenção de notícias de trânsito, sendo estas sincronizadas com as ocorrências geradas no site da MapLink.

Essas funcionalidades estão divididas entre as versões v1.2 e v2.0 do serviço de trânsito. Como referência, ao lado do nome de cada operação a ser descrita no decorrer desta seção, haverá uma indicação sobre a versão relacionada a operação corrente, seguindo a seguinte estrutura:

“Informações gerais de trânsito” V1.2 ou “Busca de categorias por localidade” V2.0

A estrutura abaixo contém as informações da versão v1.2, juntamente com o endereço de acesso e o contrato de operação.

Nome do serviço: Traffic
Endereço de acesso: http://services.maplink.com.br/webservices/v1.2/traffic/traffic.asmx
Versão atual: V1.2
Funcionalidade Nome da Operação
Informações gerais de trânsito (com ou sem ocorrência de congestionamento) GetAll, GetAllCongested
Informações de corredores (com ou sem ocorrência de congestionamento) GetCorridor, GetCorridorsCongested
Informações de trechos por corredor (com ou sem ocorrência de congestionamento) GetExcerpt, GetExcerptsCongested
Informações sumarizadas de trânsito por localidade GetInfo
Informações de localidade GetLocation

A estrutura abaixo contém as informações da versão v2.0, juntamente com o endereço de acesso e o contrato de operação.

Nome do serviço: Traffic
Endereço de acesso: http://services.maplink.com.br/webservices/v2/traffic/traffic.asmx
Versão atual: V2.0
Funcionalidade Nome da Operação
Busca de categorias por localidade GetCategories
Busca de subcategorias por categoria e localidade GetSubCategories
Notícias de trânsito por localidade GetTrafficNews
Notícias de problemas de trânsito por localidade GetTrafficProblems
Notícias de problemas de trânsito por subcategoria e localidade GetTrafficProblemsBySubCategory

Informações de corredor e trechos por corredor

As funcionalidades para obter informações de trânsito disponibilizam dois tipos de dados: corredores e trechos por corredor. É possível obter dados somente os corredores, somente trechos por um corredor específico ou ambos, com todos os corredores e seus trechos relacionados. Segue a relação de funcionalidades por necessidade.

Necessidade Funcionalidade a ser utilizada
Obter todos os corredores e seus trechos relacionados Informações gerais de trânsito
Obter somente dados dos corredores Informações de corredores
Obter somente dados de trechos por corredor Informações de trechos por corredor

A funcionalidade de obter informações gerais de trânsito está disponível através das operações “GetAll” e “GetAllCongested” e tem como objetivo retornar todos os dados de trânsito disponíveis para uma determinada localidade (cidade e estado), considerando os corredores e seus trechos. Esta operação não possui o recurso de paginação.

As operações “GetAll” e “GetAllCongested” possuem a mesma estrutura para o contrato de entrada e saída. Para obter dados de vias sem ocorrência de congestionamento, utilize a operação “GetAll”. Do contrário, caso o interesse seja trabalhar somente com corredores que possuam registros de congestionamento, deve-se usar o método “GetAllCongested”.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “city” (City) e “token”, sendo estes descritos em detalhe a seguir:

  • city

Armazena uma implementação da estrutura City com os dados de cidade e estado.

  • token

Armazena a chave de acesso do requisitante.

Estrutura “City” contém as informações do nome da cidade e de seu estado.
Nome do Atributo Tipo Descrição
name Conjunto de caracteres Indica o nome da cidade
state Conjunto de caracteres Indica o nome do estado

Contrato de saída – Resposta

O contrato de resposta possui os parâmetros “pageCount”, “recordCount”, “totalRecord” e “corridor” (Corridor), sendo estes descritos em detalhe a seguir:

  • pageCount

Armazena um número inteiro com a página corrente para o sistema de paginação.

  • recordCount

Armazena um número inteiro com a quantidade de registros existentes para a página corrente.

  • totalRecord

Armazena um número inteiro com a quantidade total de registros obtidos para a requisição solicitada.

  • corridor

Armazena uma implementação da estrutura “Corridor” com os dados de corredor.

Estrutura “Corridor” contém os dados de corredores
Nome do Atributo Tipo Descrição
codCorridor Número inteiro Indica o código do corredor
nameCorridor Conjunto de caracteres Indica o nome do corredor
levelCongested Estrutura LevelCongested Indica o nível de congestionamento da via
city Estrutura City Indica a cidade e estado
point Estrutura Point Indica as coordenadas geográficas correspondente a localização
excerptInfo Estrutura ExcerptInfo Indica os trechos existentes para o corredor corrente
Estrutura “LevelCongested” contém os dados com nível de congestionamento para uma via
Atributo Descrição
0 Livre
1 Lento
2 Fluindo
3 Intenso
4 Sem informação *
5 Bloqueado

* O processo de atualização das informações de trânsito ocorre a cada 15 minutos. Quando não há registro de dados de trânsito para um determinado corredor, considerando a última atualização realizada, o status “Sem informação” é retornado.

Estrutura “Point” contém as coordenadas de latitude e longitude para um determinado endereço
Nome do Atributo Tipo Descrição
X Número com casas decimais Indica a longitude de uma coordenada geográfica
Y Número com casas decimais Indica a latitude de uma coordenada geográfica
Estrutura “ExcerptInfo” contém os dados do sistema de paginação e de trechos de um corredor
Nome do Atributo Tipo Descrição
pageCount Número inteiro Indica um número inteiro com a página corrente para o sistema de paginação
recordCount Número inteiro Indica um número inteiro com a quantidade de registros existentes para a página corrente.
totalRecord Número inteiro Indica um número inteiro com a quantidade total de registros obtidos para a requisição solicitada
excerpt Estrutura Excerpt Armazena um conjunto de implementações para a estrutura “Excerpt” com os dados de trechos de um corredor
Estrutura “Excerpt” contém os dados de trecho por corredor
Nome do Atributo Tipo Descrição
codCorridor Número inteiro Indica o código do corredor
codExcerpt Número inteiro Indica o código do trecho
nameExcerpt Conjunto de caracteres Indica o nome do trecho
levelCongested Estrutura LevelCongested Indica o nível de congestionamento da via
codDirection Número inteiro Código da direção ou sentido
direction Conjunto de caracteres Sentido ou direção
city Estrutura City Indica a cidade e estado
point Estrutura Point Indica as coordenadas geográficas correspondente a localização
distance Número inteiro Distância do trecho em metros
order Número inteiro Código da ordem que ocupa no corredor

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Traffic” utilizando a operação “GetAll”, com o objetivo de obter todos os dados de trânsito disponíveis para uma determinada localidade. Como parâmetros entrada são fornecidos os dados para a estrutura City com cidade “São Paulo” e estado “SP”.

Abaixo são apresentandos exemplos de implementação para consumo da operação em diferentes linguagens de programação *.

* Para o exemplo de implementação utilizando a linguagem de programação C#, foi necessário realizar alterações no objeto de responsável por realizar a requisição SOAP, pois a mensagem de retorno possui tamanho superior ao padrão permitido pela implementação padrão do framework.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta (exemplo reduzido de retorno):

Visualizar XML SOAP de retorno completo


A funcionalidade de obter informações de corredores está disponível através das operações “GetCorridor” e “GetCorridorCongested” e tem como objetivo retornar todos os corredores existentes para uma determinada localidade (cidade e estado), permitindo filtrar os dados de retorno através de um sistema de paginação e definir o número de registros a ser obtidos por requisição realizada.

As operações para se obter corredores seguem a mesma estrutura das descritas anteriormente, para obter informações gerais de trânsito. Entretanto, elas possuem a diferença de retornar dados dos trechos associados a cada um dos corredores obtidos como resultado.

As operações “GetCorridor” e “GetCorridorCongested” possuem a mesma estrutura para o contrato de entrada e saída. Para obter registros de corredores sem ocorrência de congestionamento, utilize a operação “GetCorridor”. Do contrário, caso o interesse seja trabalhar somente com corredores que possuam registros de congestionamento, deve-se usar o método “GetCorridorCongested”.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “city” (City), “resultRange” (ResultRange) e “token”, sendo estes descritos em detalhe a seguir:

  • city

Armazena uma implementação da estrutura City com os dados de cidade e estado.

  • resultRange

Armazena uma implementação da estrutura ResultRange com os parâmetros referentes ao número de registros e da página desejada para a composição do sistema de paginação com o resultado da requisição.

  • token

Armazena a chave de acesso do requisitante.

Estrutura “ResultRange” contém os atributos para definir a paginação para a busca realizada.
Nome do Atributo Tipo Descrição
pageIndex Número inteiro Indica o índice da página de retorno
recordsPerPage Número inteiro Indica o número de registros por página

Contrato de saída – Resposta

O contrato de resposta possui os parâmetros “pageCount”, “recordCount”, “totalRecord” e “corridor” (Corridor), sendo estes descritos em detalhe a seguir:

  • pageCount

Armazena um número inteiro com a página corrente para o sistema de paginação..

  • recordCount

Armazena um número inteiro com a quantidade de registros existentes para a página corrente.

  • totalRecord

Armazena um número inteiro com a quantidade total de registros obtidos para a requisição solicitada.

  • corridor

Armazena uma implementação da estrutura “Corridor” com os dados dos corredores.

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Traffic” utilizando a operação “GetCorridor”, com o objetivo de obter os dados de corredores disponíveis para uma determinada localidade, não considerando vias com registros de congestionamento e com um sistema de paginação. Como parâmetros de entrada são fornecidos os dados para a estrutura City com cidade “São Paulo” e estado “SP” e sistema de paginação, através da estrutura ResultRange com os valores “1″ e “2″, para os parâmetros “pageIndex” e “recordsPerPage”, respectivamente.

Abaixo são apresentandos exemplos de implementação para consumo da operação em diferentes linguagens de programação.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta:


A funcionalidade de obter informações de trechos por corredor está disponível através das operações “GetExcerpt” e “GetExcerptCongested” e tem como objetivo retornar os trechos existentes para um determinado corredor e localidade (cidade e estado), permitindo filtrar os dados de retorno através de um sistema de paginação e definir o número de registros a ser obtidos por requisição realizada.

As operações “GetExcerpt” e “GetExcerptCongested” possuem a mesma estrutura para o contrato de entrada e saída. Para obter registros de trechos por corredor sem ocorrência de congestionamento, utilize a operação “GetExcerpt”. Do contrário, caso o interesse seja trabalhar somente com trechos de um determinado corredor que possuam registros de congestionamento, deve-se usar o método “GetExcerptCongested”.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “city” (City), “idCorridor”, resultRange” (ResultRange) e “token”, sendo estes descritos em detalhe a seguir:

  • city

Armazena uma implementação da estrutura City com os dados de cidade e estado.

  • idCorridor

Armazena um número inteiro com o código de identificação do corredor a ser considerado para obter os trechos.

  • resultRange

Armazena uma implementação da estrutura ResultRange com os parâmetros referentes ao número de registros e da página desejada para a composição do sistema de paginação com o resultado da requisição.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta possui os parâmetros “pageCount”, “recordCount”, “totalRecord” e “excerpt” (Excerpt), sendo estes descritos em detalhe a seguir:

  • pageCount

Armazena um número inteiro com a página corrente para o sistema de paginação.

  • recordCount

Armazena um número inteiro com a quantidade de registros existentes para a página corrente.

  • totalRecord

Armazena um número inteiro com a quantidade total de registros obtidos para a requisição solicitada.

  • excerpt

Armazena um conjunto de implementações da estrutura Excerpt com os dados dos trechos de um corredor.

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Traffic” utilizando a operação “GetExcerpt”, com o objetivo de obter os trechos existentes para um determinado corredor e localidade, com um sistema de paginação. Como parâmetros de entrada são fornecidos os dados para a estrutura City com cidade “São Paulo” e estado “SP”, corredor com identificação “1″ (através do parâmetro “idCorridor”) e sistema de paginação, através da estrutura ResultRange com os valores “1″ e “2″, para os parâmetros “pageIndex” e “recordsPerPage”, respectivamente.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta:


A funcionalidade de informações sumarizadas de trânsito por localidade está disponível através da operação “GetInfo” e retorna dados resumidos de trânsito por região (cidade e estado), informando o congestionamento em quantidade de kilometros e por nível (livre, lento, fluindo, parado ou sem informação).

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “city” (City), resultRange (ResultRange) e “token”, sendo estes descritos em detalhe a seguir:

  • city

Armazena uma implementação da estrutura City com os dados de cidade e estado.

  • resultRange

Armazena uma implementação da estrutura ResultRange com os parâmetros referentes ao número de registros e da página desejada para a composição do sistema de paginação com o resultado da requisição.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta possui os parâmetros “pageCount”, “recordCount”, “totalRecord” e “info” (Info), sendo estes descritos em detalhe a seguir:

  • pageCount

Armazena um número inteiro com a página corrente para o sistema de paginação..

  • recordCount

Armazena um número inteiro com a quantidade de registros existentes para a página corrente.

  • totalRecord

Armazena um número inteiro com a quantidade total de registros obtidos para a requisição solicitada.

  • time

Parâmetro obsoleto e mantido como ativo por motivos de compatibilidade com sistemas legados. Valor padrão retornado é “0″.

  • info

Armazena uma implementação da estrutura Info com os dados de trânsito sumarizadores por localidade.

Estrutura “Info” contém os dados de trânsito sumarizados por localidade
Nome do Atributo Tipo Descrição
date Conjunto de caracteres Indica a data considerado para obtenção dos dados
time Conjunto de caracteres Indica o horário considerado para obtenção dos dados
situation Conjunto de caracteres Indica o nível de congestionamento na via baseado na estrutura LevelCongested
km Conjunto de caracteres Indica a quantidade de kilometros de congestionamento
city Estrutura City Indica a localidade

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Traffic” utilizando a operação “GetInfo”, com o objetivo de obter os dados sumarizados de trânsito para uma determinada localidade. Como parâmetros de entrada são fornecidos os dados para a estrutura City com cidade “São Paulo” e estado “SP”.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta:


A funcionalidade de informações de localidade está disponível através da operação “GetLocation” e retornar dados e características para uma determinada localidade, incluindo dados cadastrais e coordenadas geográficas para cobertura da região.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “locatlionId” e “token”, sendo estes descritos em detalhe a seguir:

  • location

Armazena um número inteiro com o código de identificação da localidade.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta possui o parâmetro em formato LocationResult, sendo este descrito em detalhe a seguir:

Estrutura “LocationResult” contém os dados de retorno da operação “GetLocation”
Nome do Atributo Tipo Descrição
locationId Número inteiro Indica o código de identificação da localidade
cityName Conjunto de caracteres Indica o nome da cidade
stateName Conjunto de caracteres Indica o nome do estado
countryName Conjunto de caracteres Indica o nome do país
nameKey Conjunto de caracteres Indica o nome da localidade em formato de chave
length Número com casas decimais
totalLength Número com casas decimais Indica número total de vias monitoradas
lengthMobile Número com casas decimais
lengthWeb Número com casas decimais
featured Número inteiro
featuredCities Número inteiro
position Número inteiro
point Estrutura Point Indica coordenadas geográficas correspondente a localidade
statusLength Conjunto de caracteres
cameras Número inteiro
lastUpdate Data e hora Indica a data e hora de atualização de dados de trânsito para a localidade

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Traffic” utilizando a operação “GetLocation”, com o objetivo de obter os dados por uma localidade. Como parâmetro de entrada é fornecido o valor “1″ para o parâmetro “locationId”, o qual refere-se a região da cidade “São Paulo” e estado “SP”.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta:


A funcionalidade de busca de categorias por localidade está disponível através da operação “GetCategories” e retornar uma lista com as categorias existentes para busca de notícias de trânsito.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “city” (City) e “token”, sendo estes descritos em detalhe a seguir:

  • city

Armazena uma implementação da estrutura City com os dados de cidade e estado.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta possui o parâmetro “category” (Category), sendo este descrito em detalhe a seguir:

Estrutura “Category” contém os dados de categorias disponíveis
Nome do Atributo Tipo Descrição
ID Número inteiro Indica o código de identificação da categoria
name Conjunto de caracteres Indica o nome da categoria

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Traffic” utilizando a operação “GetCategories”, com o objetivo de obter os dados das categorias existentes. Como parâmetros de entrada são fornecidos os dados para a estrutura City com cidade “São Paulo” e estado “SP”.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta:


A funcionalidade de busca de subcategorias e localidade está disponível através da operação “GetSubCategories” e retorna uma lista com as subcategorias existentes por código de categoria e localidade.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “categoryID”, city” (City) e “token”, sendo estes descritos em detalhe a seguir:

  • categoryID

Armazena um número inteiro com o código de identificação da categoria.

  • city

Armazena uma implementação da estrutura City com os dados de cidade e estado.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta possui o parâmetro o “subCategory” (SubCategory), sendo este descrito em detalhe a seguir:

Estrutura “SubCategory” contém os dados de subcategorias disponíveis
Nome do Atributo Tipo Descrição
ID Número inteiro Indica o código de identificação da subcategoria
categoryID Número inteiro Indica o código de identificação da categoria
name Conjunto de caracteres Indica o nome da subcategoria
DefaultDurationWithoutVictim Número inteiro Indica o tempo total de duração estimada sem considerar vítimas
DefaultDurationWithVictim Número inteiro Indica o tempo total de duração estimada considerando vítimas
DefaultDurationWithFatalVictim Número inteiro Indica o tempo total de duração estimada considerando vítimas fatais

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Traffic” utilizando a operação “GetSubCategories”, com o objetivo de obter os dados das categorias existentes. Como parâmetros de entrada são fornecidos os dados para a estrutura City com cidade “São Paulo” e estado “SP”.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta:


A funcionalidade de busca de notícias gerais de trânsito está disponível através da operação “GetTrafficNews” e retornar uma lista de notícias com ocorrências de trânsito para uma determinada localidade, tratando de assuntos gerais. Essas notícias possuem título e texto, e estão contidas no site da MapLink, onde é possível acessá-la através do endereço da página obtido como retorno nesta operação.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “city” (City) e “token”, sendo estes descritos em detalhe a seguir:

  • city

Armazena uma implementação da estrutura City com os dados de cidade e estado.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta possui o parâmetro “problem” (Problem), sendo este descrito em detalhe a seguir:

  • problem

Armazena um conjunto de implementações da estrutura Problem com os dados das notícias gerais de trânsito.

Estrutura “Problem” contém os dados de ocorrências de trânsito
Nome do Atributo Tipo Descrição
ID Número inteiro Indica o código de identificação da ocorrência
PublicationDate Data e hora Indica a data e hora da ocorrência
CategoryID Número inteiro Indica o código de identificação da categoria
CategoryDescription Conjunto de caracteres Indica a descrição da categoria
Category Conjunto de caracteres Indica o nome da categoria
city Estrutura City Indica a cidade e estado
DetailsURL Conjunto de caracteres Indica o endereço de acesso com a ocorrência registrada no site MapLink
Title Conjunto de caracteres Indica o título da ocorrência
Text Conjunto de caracteres Indica o texto com o conteúdo da ocorrência
Point Estrutura Point Indica as coordenadas geográficas correspondente a localização
IDIncident Número inteiro Indica código de identificação do incidente

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Traffic” utilizando a operação “GetTrafficNews”, com o objetivo de obter uma lista de ocorrências de trânsito. Como parâmetros de entrada são fornecidos os dados para a estrutura City com cidade “São Paulo” e estado “SP”.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta (exemplo reduzido de retorno):

Visualizar XML SOAP de retorno completo


A funcionalidade de busca de notícias de problemas de trânsito por localidade está disponível através da operação “GetTrafficProblems” e retorna uma lista de notícias com ocorrências de trânsito para uma determinada localidade, específicas de problemas ocorridos, como casos de semáfaro apagado, veículo quebrado em via, atropelamento, alagamento, entre outras categorias de assuntos. Essas notícias possuem título e texto, e estão contidas no site da MapLink, onde é possível acessá-la através do endereço da página obtido como retorno nesta operação.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “city” (City) e “token”, sendo estes descritos em detalhe a seguir:

  • city

Armazena uma implementação da estrutura City com os dados de cidade e estado.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta possui o parâmetro “problem” (Problem), sendo este descrito em detalhe a seguir:

  • problem

Armazena um conjunto de implementações da estrutura Problem com os dados das ocorrências de trânsito.

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Traffic” utilizando a operação “GetTrafficProblems”, com o objetivo de obter uma lista de notícias de problemas de trânsito por localidade. Como parâmetros de entrada são fornecidos os dados para a estrutura City com cidade “São Paulo” e estado “SP”.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta (exemplo reduzido de retorno):

Visualizar XML SOAP de retorno completo


A funcionalidade de busca de notícias de problemas de trânsito por subcategoria e localidade está disponível através da operação “GetTrafficProblemsBySubCategory” e retorna uma lista de notícias com ocorrências de trânsito para uma determinada subcategoria e localidade, específicas de problemas ocorridos, como casos de semáfaro apagado, veículo quebrado em via, atropelamento, alagamento, entre outras categorias de assuntos. Essas notícias possuem título e texto, e estão contidas no site da MapLink, onde é possível acessá-la através do endereço da página obtido como retorno nesta operação.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “subCategoryID”, “city” (City) e “token”, sendo estes descritos em detalhe a seguir:

  • subCategoryID

Armazena um número inteiro com o código de identificação da subcategoria

  • city

Armazena uma implementação da estrutura City com os dados de cidade e estado.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta possui o parâmetro “problem” (Problem), sendo este descrito em detalhe a seguir:

  • problem

Armazena um conjunto de implementações da estrutura Problem com os dados das ocorrências de trânsito.

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Traffic” utilizando a operação “GetTrafficProblemsBySubCategory”, com o objetivo de obter uma lista de notícias de problemas de trânsito por subcategoria e localidade. Como parâmetros de entrada são fornecidos os dados para a estrutura City com cidade “São Paulo” e estado “SP”, e o código de identificação de subcategoria com valor “8″ (através do parâmetro “subCategoryID”).

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta (exemplo reduzido de retorno):

Visualizar XML SOAP de retorno completo