SlideShare uma empresa Scribd logo
UMOV.ME API
Do básico ao avançado
@nbluis
http://about.me/nbluis
O QUE É ?
• Maneira

fácil (para desenvolvedores) de realizar
integração online com uMov.me

• Permite

pesquisar, visualizar e manter praticamente
todos os cadastros do sistema

• Permite

ainda realizar algumas operações avançadas
dentro do sistema
O QUE NÃO É ?
• Uma

forma diferente de usuários operarem o sistema

• Um

serviço a ser consumido por usuários finais (Agentes,
Vendedores, etc.)

• Solução

ideal para qualquer tipo de integração com
uMov.me
COMO FUNCIONA ?

• Através

de requisições HTTP

• Trafega

informação por XML

• Utiliza

conceitos de REST
COMO FUNCIONA ?

• Através

de requisições HTTP

• Trafega

informação por XML

• Utiliza

conceitos de REST
ENTENDENDO HTTP

HTTP é o protocolo padrão utilizado na internet
É através de HTTP que nosso navegador acessa
qualquer site na internet
ENTENDENDO HTTP
Cliente

Requisição / R

equest

http://api.umo
v.me

nse
sposta / Respo
Re
sta
eúdo da respo
Cont

Servidor
ENTENDENDO HTTP
A requisição é composta por 4 informações básicas

Método (Method)
Endereço (URL)
Conteúdo (Content/Payload)
Cabeçalhos adicionais (Headers)
ENTENDENDO HTTP
A resposta é composta por 4 informações básicas

Status code (Código de status de sucesso ou erro)
Resposta
Cabeçalhos adicionais (Headers)
PRINCIPAIS MÉTODOS HTTP

• GET

- Busca uma informação do servidor

• POST

- Atualiza uma informação no servidor

• Existem

outros (PUT / HEAD / DELETE) mas não são
utilizados por nossa api.
EXEMPLO DE REQUISIÇÃO

•
•

Método: GET
URL: http://google.com

•

Conteúdo: NENHUM

•

Cabeçalhos: NENHUM

•

Método: POST

•

URL: http://google.com/createUser

•

Conteúdo:
userName=Eduardo&password=senha

•

Cabeçalhos: NENHUM
COMO FUNCIONA ?

• Através

de requisições HTTP

• Trafega

informação por XML

• Utiliza

conceitos de REST
ENTENDENDO XML
•É

uma linguagem de marcação

• Baseado
• Facil

em tags

de representar estruturas complexas utilizando

texto
• Todo

mundo conhece
EXEMPLO DE XML
<carro>
<marca>Fiat</marca>
<modelo>Uno</modelo>
<ano>2013</ano>
<portas>2</portas>
<utilitarios>
<utilitario nome=”Vidro Elétrico”/>
</utilitarios>
</carro>
COMO FUNCIONA ?

• Através

de requisições HTTP

• Trafega

informação por XML

• Utiliza

conceitos de REST
ENTENDENDO REST
Um serviço REST nada mais é que utilizar o que já
aprendemos sobre HTTP para manusear este serviço.
EXEMPLO REST
Listar usuários:

Incluir usuário:

GET: http://servico.com/user
Resposta:
<usuarios>
<usuario>123</usuario>
</usuarios>

POST: http://servico.com/user
<usuario>
<nome>Novo usuário</nome>
</usuarios>

Visualizar usuário:

Alterar usuário:

GET: http://servico.com/user/123
Resposta:
<usuario>
<id>123</id>
<nome>Eduardo</nome>
</usuarios>

POST: http://servico.com/user/123
<usuario>
<nome>Novo nome</nome>
</usuarios>
ENTRANDO NO UMOV.ME
Agora que entendemos um mínimo sobre APIs vamos
ao uMov.me
No uMov.me é necessário utilizar um TOKEN de acesso
para realizar a autenticação na API
CRIANDO UM TOKEN
Para criar um TOKEN para um ambiente basta acessar a
tela de “Criação > Parâmetros” no uMov.Center
EXEMPLO DE ACESSO A API
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml
EXEMPLO DE ACESSO A API
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml

Método HTTP
EXEMPLO DE ACESSO A API
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml

URL Base
EXEMPLO DE ACESSO A API
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml

Token de acesso
EXEMPLO DE ACESSO A API
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml

Recurso acessado
EXEMPLO DE ACESSO A API
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml

Formato
(apenas xml)
EXEMPLO DE ACESSO A API
A maioria das operações da API segue um modelo
muito parecido de cadastro que será mostrado a seguir.
Todos os recursos disponíveis da API uMov.me está
disponível na KB: http://kb.umov.me/?q=pt-br/node/914
EXEMPLO DE ACESSO A API
Exemplo utilizando agente como recurso
Listar agentes:
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml
Visualizar um agente:
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml
Incluir um agente:
POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml
Alterar um agente:
POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml
EXEMPLO DE ACESSO A API

Fique atento aos pontos destacados em cada operação
EXEMPLO DE ACESSO A API
Listar agentes:
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml
Visualizar um agente:
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml
Incluir um agente:
POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml
Alterar um agente:
POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml
EXEMPLO DE ACESSO A API
Para visualizar ou alterar um agente específico
precisamos informar qual agente queremos, utilizando
o seu id.
Visualizar um agente:
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml
Alterar um agente:
POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml
EXEMPLO DE ACESSO A API
Para a maioria das demais operações basta alterar o
recurso na URL
EXEMPLO DE ACESSO A API
Exemplo utilizando item como recurso
Listar itens:
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/item.xml
Visualizar um item:
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/item/123.xml
Incluir um item:
POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/item.xml
Alterar um item:
POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/item/123.xml
EXEMPLOS ADICIONAIS
Os exemplos a seguir aprofundam um pouco mais cada
operação da API.
A maioria dos demais recursos da API podem ser
operados utilizando o mesmo formato ao que está
sendo mostrado.
EXEMPLO DE PESQUISA
Listar agentes:
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml
Resposta:
<result>
<resourceName>agent</resourceName>
<size>2</size>
<entries>
<entry id="1" link="/agent/1.xml"/>
<entry id="2" link="/agent/2.xml"/>
</entries>
</result>

Nome do recurso pesquisado
Quantidade de registros retornados

Link para acesso a visualização de cada registro
Identificador interno de cada registro
APROFUDANDO A
PESQUISA
A pesquisa permite também que filtremos informações
por qualquer campo da entidade sendo pesquisada
através da URL
Exemplo
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml?active=true
APROFUDANDO A
PESQUISA
Permite ainda pesquisas por campos de entidades
relacionadas ao recurso
Exemplo
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/
agent.xml?agentType.description=Vendedores
LIMITE DA PESQUISA
Independente dos filtros informados, o retorno sempre
está sujeito a limitação de registros retornados
Por padrão este limite é de 20 registros
EXEMPLO DE VISUALIZAÇÃO
Visualizar um agente:
GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml
Resposta:
<agent>
<id>123</id>
<name>Joao da Silva</name>
<login>joaosilva</login>
<agentType>
<id>1234</id>
<description>Vendedor</description>
</agentType>
<active>false</active>
<alternativeIdentifier/>
....
</agent>

XML apresentando todos os campos visíveis do recurso
EXEMPLO DE INCLUSÃO
Incluir um agente:
POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml
Envio:
<agent>
<active>true</active>
<agentType><id>1234</id></agentType>
<login>fulano</login>
<name>Fulano da Silva</name>
<password>minha_senha_nao_criptografada</password>
<email>fulano@empresa.com</email>
<centerwebUser>true</centerwebUser>
<mobileUser>true</mobileUser>
<centerwebUserRole>D</centerwebUserRole>
</agent>

Resposta:
<result>
<resourceName>agent</resourceName>
<resourceId>1234</resourceId>
<link>/agent/1234.xml</link>
</result>

Nome do recurso operado
Identificador do novo agente

Dados do agente a ser incluso

Link para acesso ao novo agente
EXEMPLO DE ALTERAÇÃO
Alterar um agente:
POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml

Envio:
<agent>
<name>Novo Nome</name>
</agent>

Resposta:
<result>
<resourceName>agent</resourceName>
<resourceId>1234</resourceId>
<link>/agent/1234.xml</link>
</result>

Nome do recurso operado
Dados do agente a ser alterado
(apenas os dados a serem modificados)

Identificador do agente alterado
Link para acesso ao agente alterado
UTILIZANDO
IDENTIFICADOR
Todas as requisições básicas permitem operar os
recursos da API também pelo identificador alternativo
Nesse caso os XMLs não mudam, mudam apenas a
URL
EXEMPLO IDENTIFICADOR
ALTERNATIVO
O início da URL (http://api.umov.me/CenterWeb) foi omitida nos exemplos abaixo

Visualizar um agente:
GET: /123exxxxxxxxx/agent/alternativeIdentifier/123.xml
Alterar um agente:
POST: /123exxxxxxxxx/agent/alternativeIdentifier/123.xml
VISUALIZANDO ERROS
Sempre que ocorrer o erro em decorrência de uma
requisição, a mensagem será retornada permitindo um
melhor entendimento do problema
EXEMPLO DE ERRO
Retorno:
<result>
<statusCode>400</statusCode>
Código de erro http retornado
<errors>login: error.mandatory.field</errors>
Campo e mensagem de erro
<resourceName>agent</resourceName>
Recurso manipulado pela requisição
</result>
OBRIGADO
@nbluis
http://about.me/nbluis

Mais conteúdo relacionado

Mais procurados

Protocolos ARP e RARP
Protocolos ARP e RARPProtocolos ARP e RARP
Protocolos ARP e RARP
Rafael Moreno
 
Modelo OSI - Camada de Transporte
Modelo OSI - Camada de TransporteModelo OSI - Camada de Transporte
Modelo OSI - Camada de Transporte
Walyson Vëras
 
Redes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPRedes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDP
Mauro Tapajós
 
Dns
DnsDns
Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2
Wendell Bento Geraldes
 
Curso de redes de computador Parte 4
Curso de redes de computador Parte 4 Curso de redes de computador Parte 4
Curso de redes de computador Parte 4
Djayllton Moraes
 
Terms of endearment - the ElasticSearch Query DSL explained
Terms of endearment - the ElasticSearch Query DSL explainedTerms of endearment - the ElasticSearch Query DSL explained
Terms of endearment - the ElasticSearch Query DSL explained
clintongormley
 
Redes - Camada de Inter-Redes
Redes - Camada de Inter-RedesRedes - Camada de Inter-Redes
Redes - Camada de Inter-Redes
Luiz Arthur
 
INTRODUÇÃO AO BRANDING
INTRODUÇÃO AO BRANDINGINTRODUÇÃO AO BRANDING
INTRODUÇÃO AO BRANDING
Renato Melo
 
Redes I - 5.1 Tecnologias de Redes LAN
Redes I - 5.1 Tecnologias de Redes LANRedes I - 5.1 Tecnologias de Redes LAN
Redes I - 5.1 Tecnologias de Redes LAN
Mauro Tapajós
 
Aula 1 rede com packet tracer
Aula 1 rede com packet tracerAula 1 rede com packet tracer
Aula 1 rede com packet tracer
Arlimar Jacinto
 
Mejora Procesos It Comparativa Cmmi Metrica3 Barcelona
Mejora Procesos It Comparativa Cmmi Metrica3 BarcelonaMejora Procesos It Comparativa Cmmi Metrica3 Barcelona
Mejora Procesos It Comparativa Cmmi Metrica3 Barcelona
Alex Ballarin
 
Aula3 - Mkt de Produto Ao Branding: o contexto em que emergiram as novas mídi...
Aula3 - Mkt de Produto Ao Branding: o contexto em que emergiram as novas mídi...Aula3 - Mkt de Produto Ao Branding: o contexto em que emergiram as novas mídi...
Aula3 - Mkt de Produto Ao Branding: o contexto em que emergiram as novas mídi...
gestao em hipermídia Pós-graduação
 
HTTP - Visão geral
HTTP - Visão geralHTTP - Visão geral
HTTP - Visão geral
Evandro Manara Miletto
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IP
Filipo Mór
 

Mais procurados (15)

Protocolos ARP e RARP
Protocolos ARP e RARPProtocolos ARP e RARP
Protocolos ARP e RARP
 
Modelo OSI - Camada de Transporte
Modelo OSI - Camada de TransporteModelo OSI - Camada de Transporte
Modelo OSI - Camada de Transporte
 
Redes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPRedes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDP
 
Dns
DnsDns
Dns
 
Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2Instalar Ocomon Ubuntu 2
Instalar Ocomon Ubuntu 2
 
Curso de redes de computador Parte 4
Curso de redes de computador Parte 4 Curso de redes de computador Parte 4
Curso de redes de computador Parte 4
 
Terms of endearment - the ElasticSearch Query DSL explained
Terms of endearment - the ElasticSearch Query DSL explainedTerms of endearment - the ElasticSearch Query DSL explained
Terms of endearment - the ElasticSearch Query DSL explained
 
Redes - Camada de Inter-Redes
Redes - Camada de Inter-RedesRedes - Camada de Inter-Redes
Redes - Camada de Inter-Redes
 
INTRODUÇÃO AO BRANDING
INTRODUÇÃO AO BRANDINGINTRODUÇÃO AO BRANDING
INTRODUÇÃO AO BRANDING
 
Redes I - 5.1 Tecnologias de Redes LAN
Redes I - 5.1 Tecnologias de Redes LANRedes I - 5.1 Tecnologias de Redes LAN
Redes I - 5.1 Tecnologias de Redes LAN
 
Aula 1 rede com packet tracer
Aula 1 rede com packet tracerAula 1 rede com packet tracer
Aula 1 rede com packet tracer
 
Mejora Procesos It Comparativa Cmmi Metrica3 Barcelona
Mejora Procesos It Comparativa Cmmi Metrica3 BarcelonaMejora Procesos It Comparativa Cmmi Metrica3 Barcelona
Mejora Procesos It Comparativa Cmmi Metrica3 Barcelona
 
Aula3 - Mkt de Produto Ao Branding: o contexto em que emergiram as novas mídi...
Aula3 - Mkt de Produto Ao Branding: o contexto em que emergiram as novas mídi...Aula3 - Mkt de Produto Ao Branding: o contexto em que emergiram as novas mídi...
Aula3 - Mkt de Produto Ao Branding: o contexto em que emergiram as novas mídi...
 
HTTP - Visão geral
HTTP - Visão geralHTTP - Visão geral
HTTP - Visão geral
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IP
 

Destaque

uMov.me - Mobilidade a serviço do seu negócio
uMov.me - Mobilidade a serviço do seu negóciouMov.me - Mobilidade a serviço do seu negócio
uMov.me - Mobilidade a serviço do seu negócio
uMov.me
 
Apresentação umov.me
Apresentação umov.meApresentação umov.me
Apresentação umov.me
Mazer Distribuidora
 
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
Robson Bittencourt
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
Thiago Esser
 
As pessoas e a Tecnologia (ou vice-versa)
As pessoas e a Tecnologia (ou vice-versa)As pessoas e a Tecnologia (ou vice-versa)
As pessoas e a Tecnologia (ou vice-versa)
Thiago Esser
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
Marcio Junior Vieira
 

Destaque (6)

uMov.me - Mobilidade a serviço do seu negócio
uMov.me - Mobilidade a serviço do seu negóciouMov.me - Mobilidade a serviço do seu negócio
uMov.me - Mobilidade a serviço do seu negócio
 
Apresentação umov.me
Apresentação umov.meApresentação umov.me
Apresentação umov.me
 
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
 
As pessoas e a Tecnologia (ou vice-versa)
As pessoas e a Tecnologia (ou vice-versa)As pessoas e a Tecnologia (ou vice-versa)
As pessoas e a Tecnologia (ou vice-versa)
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 

Semelhante a uMov.me API - Do básico ao avançado

Construindo APIs RESTful com Spring
Construindo APIs RESTful com SpringConstruindo APIs RESTful com Spring
Construindo APIs RESTful com Spring
Mateus Malaquias
 
Protocolo Http
Protocolo HttpProtocolo Http
Protocolo Http
Marcondes Maçaneiro
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
Tchelinux
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
Alexandre Antunes
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
Relsi Maron
 
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
Tiago Marchetti Dolphine
 
Web apis
Web apisWeb apis
Web apis
Evaldo Barbosa
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web API
Vinicius Mussak
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
Matheus Fidelis
 
Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.
AlexSandro Cruz
 
WebAPI-Route-Translate-BasicAuth
WebAPI-Route-Translate-BasicAuthWebAPI-Route-Translate-BasicAuth
WebAPI-Route-Translate-BasicAuth
Jean Lima Lopes
 
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEMMinicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Alisson Solitto
 
[ATC] Testando sua API com HTTPARTY e Rodando em um CI
[ATC] Testando sua API com HTTPARTY e Rodando em um CI[ATC] Testando sua API com HTTPARTY e Rodando em um CI
[ATC] Testando sua API com HTTPARTY e Rodando em um CI
Nathanael Silva
 
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APITrilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Waldyr Felix
 
Conhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web APIConhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web API
Ivan Paulovich
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
Reinaldo Junior
 
API's Automidia: Provendo Meios Estruturados de Integração
API's Automidia: Provendo Meios Estruturados de IntegraçãoAPI's Automidia: Provendo Meios Estruturados de Integração
API's Automidia: Provendo Meios Estruturados de Integração
Requestia Software
 
Web service
Web serviceWeb service
Web service
Junior Moraes
 
ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
Campus Party Brasil
 
Apresentação M V C
Apresentação M V CApresentação M V C
Apresentação M V C
Campus Party Brasil
 

Semelhante a uMov.me API - Do básico ao avançado (20)

Construindo APIs RESTful com Spring
Construindo APIs RESTful com SpringConstruindo APIs RESTful com Spring
Construindo APIs RESTful com Spring
 
Protocolo Http
Protocolo HttpProtocolo Http
Protocolo Http
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
 
Web apis
Web apisWeb apis
Web apis
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web API
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
 
Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.
 
WebAPI-Route-Translate-BasicAuth
WebAPI-Route-Translate-BasicAuthWebAPI-Route-Translate-BasicAuth
WebAPI-Route-Translate-BasicAuth
 
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEMMinicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
 
[ATC] Testando sua API com HTTPARTY e Rodando em um CI
[ATC] Testando sua API com HTTPARTY e Rodando em um CI[ATC] Testando sua API com HTTPARTY e Rodando em um CI
[ATC] Testando sua API com HTTPARTY e Rodando em um CI
 
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APITrilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
 
Conhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web APIConhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web API
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
API's Automidia: Provendo Meios Estruturados de Integração
API's Automidia: Provendo Meios Estruturados de IntegraçãoAPI's Automidia: Provendo Meios Estruturados de Integração
API's Automidia: Provendo Meios Estruturados de Integração
 
Web service
Web serviceWeb service
Web service
 
ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
 
Apresentação M V C
Apresentação M V CApresentação M V C
Apresentação M V C
 

Mais de Eduardo Bohrer

Monitorando sistemas distribuidos
Monitorando sistemas distribuidosMonitorando sistemas distribuidos
Monitorando sistemas distribuidos
Eduardo Bohrer
 
Kubernetes - ThoughtWorks Tech Radar 18
Kubernetes - ThoughtWorks Tech Radar 18Kubernetes - ThoughtWorks Tech Radar 18
Kubernetes - ThoughtWorks Tech Radar 18
Eduardo Bohrer
 
Refatoração - XPConfBR 2015
Refatoração - XPConfBR 2015 Refatoração - XPConfBR 2015
Refatoração - XPConfBR 2015
Eduardo Bohrer
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
Eduardo Bohrer
 
Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!
Eduardo Bohrer
 
Git para quem gosta de git
Git para quem gosta de gitGit para quem gosta de git
Git para quem gosta de git
Eduardo Bohrer
 
NoSQL and AWS Dynamodb
NoSQL and AWS DynamodbNoSQL and AWS Dynamodb
NoSQL and AWS Dynamodb
Eduardo Bohrer
 
XSS (Cross site scripting)
XSS (Cross site scripting)XSS (Cross site scripting)
XSS (Cross site scripting)
Eduardo Bohrer
 
Memória e Garbage Collection na JVM
Memória e Garbage Collection na JVMMemória e Garbage Collection na JVM
Memória e Garbage Collection na JVM
Eduardo Bohrer
 
Chaos Report - Web Security Version
Chaos Report - Web Security VersionChaos Report - Web Security Version
Chaos Report - Web Security Version
Eduardo Bohrer
 

Mais de Eduardo Bohrer (10)

Monitorando sistemas distribuidos
Monitorando sistemas distribuidosMonitorando sistemas distribuidos
Monitorando sistemas distribuidos
 
Kubernetes - ThoughtWorks Tech Radar 18
Kubernetes - ThoughtWorks Tech Radar 18Kubernetes - ThoughtWorks Tech Radar 18
Kubernetes - ThoughtWorks Tech Radar 18
 
Refatoração - XPConfBR 2015
Refatoração - XPConfBR 2015 Refatoração - XPConfBR 2015
Refatoração - XPConfBR 2015
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!
 
Git para quem gosta de git
Git para quem gosta de gitGit para quem gosta de git
Git para quem gosta de git
 
NoSQL and AWS Dynamodb
NoSQL and AWS DynamodbNoSQL and AWS Dynamodb
NoSQL and AWS Dynamodb
 
XSS (Cross site scripting)
XSS (Cross site scripting)XSS (Cross site scripting)
XSS (Cross site scripting)
 
Memória e Garbage Collection na JVM
Memória e Garbage Collection na JVMMemória e Garbage Collection na JVM
Memória e Garbage Collection na JVM
 
Chaos Report - Web Security Version
Chaos Report - Web Security VersionChaos Report - Web Security Version
Chaos Report - Web Security Version
 

Último

Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
2m Assessoria
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (10)

Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

uMov.me API - Do básico ao avançado

  • 1. UMOV.ME API Do básico ao avançado @nbluis http://about.me/nbluis
  • 2. O QUE É ? • Maneira fácil (para desenvolvedores) de realizar integração online com uMov.me • Permite pesquisar, visualizar e manter praticamente todos os cadastros do sistema • Permite ainda realizar algumas operações avançadas dentro do sistema
  • 3. O QUE NÃO É ? • Uma forma diferente de usuários operarem o sistema • Um serviço a ser consumido por usuários finais (Agentes, Vendedores, etc.) • Solução ideal para qualquer tipo de integração com uMov.me
  • 4. COMO FUNCIONA ? • Através de requisições HTTP • Trafega informação por XML • Utiliza conceitos de REST
  • 5. COMO FUNCIONA ? • Através de requisições HTTP • Trafega informação por XML • Utiliza conceitos de REST
  • 6. ENTENDENDO HTTP HTTP é o protocolo padrão utilizado na internet É através de HTTP que nosso navegador acessa qualquer site na internet
  • 7. ENTENDENDO HTTP Cliente Requisição / R equest http://api.umo v.me nse sposta / Respo Re sta eúdo da respo Cont Servidor
  • 8. ENTENDENDO HTTP A requisição é composta por 4 informações básicas Método (Method) Endereço (URL) Conteúdo (Content/Payload) Cabeçalhos adicionais (Headers)
  • 9. ENTENDENDO HTTP A resposta é composta por 4 informações básicas Status code (Código de status de sucesso ou erro) Resposta Cabeçalhos adicionais (Headers)
  • 10. PRINCIPAIS MÉTODOS HTTP • GET - Busca uma informação do servidor • POST - Atualiza uma informação no servidor • Existem outros (PUT / HEAD / DELETE) mas não são utilizados por nossa api.
  • 11. EXEMPLO DE REQUISIÇÃO • • Método: GET URL: http://google.com • Conteúdo: NENHUM • Cabeçalhos: NENHUM • Método: POST • URL: http://google.com/createUser • Conteúdo: userName=Eduardo&password=senha • Cabeçalhos: NENHUM
  • 12. COMO FUNCIONA ? • Através de requisições HTTP • Trafega informação por XML • Utiliza conceitos de REST
  • 13. ENTENDENDO XML •É uma linguagem de marcação • Baseado • Facil em tags de representar estruturas complexas utilizando texto • Todo mundo conhece
  • 15. COMO FUNCIONA ? • Através de requisições HTTP • Trafega informação por XML • Utiliza conceitos de REST
  • 16. ENTENDENDO REST Um serviço REST nada mais é que utilizar o que já aprendemos sobre HTTP para manusear este serviço.
  • 17. EXEMPLO REST Listar usuários: Incluir usuário: GET: http://servico.com/user Resposta: <usuarios> <usuario>123</usuario> </usuarios> POST: http://servico.com/user <usuario> <nome>Novo usuário</nome> </usuarios> Visualizar usuário: Alterar usuário: GET: http://servico.com/user/123 Resposta: <usuario> <id>123</id> <nome>Eduardo</nome> </usuarios> POST: http://servico.com/user/123 <usuario> <nome>Novo nome</nome> </usuarios>
  • 18. ENTRANDO NO UMOV.ME Agora que entendemos um mínimo sobre APIs vamos ao uMov.me No uMov.me é necessário utilizar um TOKEN de acesso para realizar a autenticação na API
  • 19. CRIANDO UM TOKEN Para criar um TOKEN para um ambiente basta acessar a tela de “Criação > Parâmetros” no uMov.Center
  • 20. EXEMPLO DE ACESSO A API GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml
  • 21. EXEMPLO DE ACESSO A API GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml Método HTTP
  • 22. EXEMPLO DE ACESSO A API GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml URL Base
  • 23. EXEMPLO DE ACESSO A API GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml Token de acesso
  • 24. EXEMPLO DE ACESSO A API GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml Recurso acessado
  • 25. EXEMPLO DE ACESSO A API GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml Formato (apenas xml)
  • 26. EXEMPLO DE ACESSO A API A maioria das operações da API segue um modelo muito parecido de cadastro que será mostrado a seguir. Todos os recursos disponíveis da API uMov.me está disponível na KB: http://kb.umov.me/?q=pt-br/node/914
  • 27. EXEMPLO DE ACESSO A API Exemplo utilizando agente como recurso Listar agentes: GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml Visualizar um agente: GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml Incluir um agente: POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml Alterar um agente: POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml
  • 28. EXEMPLO DE ACESSO A API Fique atento aos pontos destacados em cada operação
  • 29. EXEMPLO DE ACESSO A API Listar agentes: GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml Visualizar um agente: GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml Incluir um agente: POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml Alterar um agente: POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml
  • 30. EXEMPLO DE ACESSO A API Para visualizar ou alterar um agente específico precisamos informar qual agente queremos, utilizando o seu id. Visualizar um agente: GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml Alterar um agente: POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml
  • 31. EXEMPLO DE ACESSO A API Para a maioria das demais operações basta alterar o recurso na URL
  • 32. EXEMPLO DE ACESSO A API Exemplo utilizando item como recurso Listar itens: GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/item.xml Visualizar um item: GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/item/123.xml Incluir um item: POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/item.xml Alterar um item: POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/item/123.xml
  • 33. EXEMPLOS ADICIONAIS Os exemplos a seguir aprofundam um pouco mais cada operação da API. A maioria dos demais recursos da API podem ser operados utilizando o mesmo formato ao que está sendo mostrado.
  • 34. EXEMPLO DE PESQUISA Listar agentes: GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml Resposta: <result> <resourceName>agent</resourceName> <size>2</size> <entries> <entry id="1" link="/agent/1.xml"/> <entry id="2" link="/agent/2.xml"/> </entries> </result> Nome do recurso pesquisado Quantidade de registros retornados Link para acesso a visualização de cada registro Identificador interno de cada registro
  • 35. APROFUDANDO A PESQUISA A pesquisa permite também que filtremos informações por qualquer campo da entidade sendo pesquisada através da URL Exemplo GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml?active=true
  • 36. APROFUDANDO A PESQUISA Permite ainda pesquisas por campos de entidades relacionadas ao recurso Exemplo GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/ agent.xml?agentType.description=Vendedores
  • 37. LIMITE DA PESQUISA Independente dos filtros informados, o retorno sempre está sujeito a limitação de registros retornados Por padrão este limite é de 20 registros
  • 38. EXEMPLO DE VISUALIZAÇÃO Visualizar um agente: GET: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml Resposta: <agent> <id>123</id> <name>Joao da Silva</name> <login>joaosilva</login> <agentType> <id>1234</id> <description>Vendedor</description> </agentType> <active>false</active> <alternativeIdentifier/> .... </agent> XML apresentando todos os campos visíveis do recurso
  • 39. EXEMPLO DE INCLUSÃO Incluir um agente: POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent.xml Envio: <agent> <active>true</active> <agentType><id>1234</id></agentType> <login>fulano</login> <name>Fulano da Silva</name> <password>minha_senha_nao_criptografada</password> <email>fulano@empresa.com</email> <centerwebUser>true</centerwebUser> <mobileUser>true</mobileUser> <centerwebUserRole>D</centerwebUserRole> </agent> Resposta: <result> <resourceName>agent</resourceName> <resourceId>1234</resourceId> <link>/agent/1234.xml</link> </result> Nome do recurso operado Identificador do novo agente Dados do agente a ser incluso Link para acesso ao novo agente
  • 40. EXEMPLO DE ALTERAÇÃO Alterar um agente: POST: http://api.umov.me/CenterWeb/api/123exxxxxxxxx/agent/123.xml Envio: <agent> <name>Novo Nome</name> </agent> Resposta: <result> <resourceName>agent</resourceName> <resourceId>1234</resourceId> <link>/agent/1234.xml</link> </result> Nome do recurso operado Dados do agente a ser alterado (apenas os dados a serem modificados) Identificador do agente alterado Link para acesso ao agente alterado
  • 41. UTILIZANDO IDENTIFICADOR Todas as requisições básicas permitem operar os recursos da API também pelo identificador alternativo Nesse caso os XMLs não mudam, mudam apenas a URL
  • 42. EXEMPLO IDENTIFICADOR ALTERNATIVO O início da URL (http://api.umov.me/CenterWeb) foi omitida nos exemplos abaixo Visualizar um agente: GET: /123exxxxxxxxx/agent/alternativeIdentifier/123.xml Alterar um agente: POST: /123exxxxxxxxx/agent/alternativeIdentifier/123.xml
  • 43. VISUALIZANDO ERROS Sempre que ocorrer o erro em decorrência de uma requisição, a mensagem será retornada permitindo um melhor entendimento do problema
  • 44. EXEMPLO DE ERRO Retorno: <result> <statusCode>400</statusCode> Código de erro http retornado <errors>login: error.mandatory.field</errors> Campo e mensagem de erro <resourceName>agent</resourceName> Recurso manipulado pela requisição </result>