SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
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

MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...Manish Kumar Yadav
 
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들XpressEngine
 
JSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons LearnedJSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons LearnedKazuho Oku
 
Server-Sent Events in Action
Server-Sent Events in ActionServer-Sent Events in Action
Server-Sent Events in ActionAndrei Rusu
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기GunHee Lee
 
Messaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQMessaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQdejanb
 
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard LibraryDongMin Choi
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensJonathan LeBlanc
 
Joys & frustrations of putting 34,000 lines of Haskell into production (at Va...
Joys & frustrations of putting 34,000 lines of Haskell into production (at Va...Joys & frustrations of putting 34,000 lines of Haskell into production (at Va...
Joys & frustrations of putting 34,000 lines of Haskell into production (at Va...Saurabh Nanda
 
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기Hyperledger Korea User Group
 
Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方
Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方
Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方tshiroyama
 
Netty 세미나
Netty 세미나Netty 세미나
Netty 세미나Jang Hoon
 
Composer 從入門到實戰
Composer 從入門到實戰Composer 從入門到實戰
Composer 從入門到實戰Shengyou Fan
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint NAVER D2
 
Airbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkitAirbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkitnaseemh
 
Microo exercices 16f877/877A
Microo exercices 16f877/877AMicroo exercices 16f877/877A
Microo exercices 16f877/877Aomar bllaouhamou
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)Ji-Woong Choi
 
카카오i 오픈빌더로 피자챗봇 만들기
카카오i 오픈빌더로 피자챗봇 만들기카카오i 오픈빌더로 피자챗봇 만들기
카카오i 오픈빌더로 피자챗봇 만들기deepseaswjh
 
뱅크샐러드 파이썬맛 레시피
뱅크샐러드 파이썬맛 레시피뱅크샐러드 파이썬맛 레시피
뱅크샐러드 파이썬맛 레시피겨울 정
 
Compromising Linux Virtual Machines with Debugging Mechanisms
Compromising Linux Virtual Machines with Debugging MechanismsCompromising Linux Virtual Machines with Debugging Mechanisms
Compromising Linux Virtual Machines with Debugging MechanismsRussell Sanford
 

Mais procurados (20)

MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
 
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
 
JSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons LearnedJSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons Learned
 
Server-Sent Events in Action
Server-Sent Events in ActionServer-Sent Events in Action
Server-Sent Events in Action
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기
 
Messaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQMessaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQ
 
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web Tokens
 
Joys & frustrations of putting 34,000 lines of Haskell into production (at Va...
Joys & frustrations of putting 34,000 lines of Haskell into production (at Va...Joys & frustrations of putting 34,000 lines of Haskell into production (at Va...
Joys & frustrations of putting 34,000 lines of Haskell into production (at Va...
 
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기
 
Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方
Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方
Backdoor!! vmware-tools と 統合サービスに見るハイパーバイザの呼び出し方
 
Netty 세미나
Netty 세미나Netty 세미나
Netty 세미나
 
Composer 從入門到實戰
Composer 從入門到實戰Composer 從入門到實戰
Composer 從入門到實戰
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
 
Airbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkitAirbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkit
 
Microo exercices 16f877/877A
Microo exercices 16f877/877AMicroo exercices 16f877/877A
Microo exercices 16f877/877A
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
 
카카오i 오픈빌더로 피자챗봇 만들기
카카오i 오픈빌더로 피자챗봇 만들기카카오i 오픈빌더로 피자챗봇 만들기
카카오i 오픈빌더로 피자챗봇 만들기
 
뱅크샐러드 파이썬맛 레시피
뱅크샐러드 파이썬맛 레시피뱅크샐러드 파이썬맛 레시피
뱅크샐러드 파이썬맛 레시피
 
Compromising Linux Virtual Machines with Debugging Mechanisms
Compromising Linux Virtual Machines with Debugging MechanismsCompromising Linux Virtual Machines with Debugging Mechanisms
Compromising Linux Virtual Machines with Debugging Mechanisms
 

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óciouMov.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!Robson Bittencourt
 
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 JSONMarcio 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 SpringMateus Malaquias
 
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 androidAlexandre 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 web2pyRelsi 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 2014Tiago Marchetti Dolphine
 
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 APIVinicius 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 WebMatheus 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-BasicAuthJean Lima Lopes
 
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEMMinicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEMAlisson 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 CINathanael 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 APIWaldyr 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 APIIvan Paulovich
 
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çãoRequestia Software
 

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 distribuidosEduardo Bohrer
 
Kubernetes - ThoughtWorks Tech Radar 18
Kubernetes - ThoughtWorks Tech Radar 18Kubernetes - ThoughtWorks Tech Radar 18
Kubernetes - ThoughtWorks Tech Radar 18Eduardo 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çadoEduardo 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 gitEduardo Bohrer
 
NoSQL and AWS Dynamodb
NoSQL and AWS DynamodbNoSQL and AWS Dynamodb
NoSQL and AWS DynamodbEduardo 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 JVMEduardo Bohrer
 
Chaos Report - Web Security Version
Chaos Report - Web Security VersionChaos Report - Web Security Version
Chaos Report - Web Security VersionEduardo 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

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 

Último (8)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

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>