Pessoas e relacionados (Team (Equipe))

A API de Team é responsável pela manutenção das equipes de pessoas. É nela que vamos conseguir criar uma equipe e informar as pessoas da equipe Através dos recursos desta API poderemos criar e atualizar equipes, além de vincular ou remover pessoas de equipes.

Descrição de uma Equipe

OBS: Para atualização de cadastro, somente o identificador alternativo é obrigatório.

image.png

Busca Por Lista de Equipes

GET /CenterWeb/api/{$apiKey}/team.xml

Enviar parâmetros para a API uMov.me é simples assim. Veja um exemplo, do resultado de uma requisição que foi feita em XML:

<result>

<resourceName>team</resourceName>

<size>3</size>

<entries>

<entry id="99" link="/team/99.xml"/>

<entry id="100" link="/team/100.xml"/>

<entry id="479" link="/team/479.xml"/>

</entries>

</result>

A resposta da requisição será uma mensagem contendo o total de registro retornados e uma lista simples, sem detalhes de cada registro retornado, contendo para cada entrada, Id do registro no uMov.me e o link, que pode ser usado para recuperar os dados específicos deste registro.

Busca de uma equipe específica

GET /CenterWeb/api/{$apiKey}/team/{$id}.xml

Esta operação serve para puxar informações de uma equipe do sistema. Veja o exemplo de retorno de uma entidade abaixo (considerando uma requisição feita em XML):

<team>

<id>100</id>

<description>Equipe A</description>

<alternativeIdentifier>Equipe A</alternativeIdentifier>

<active>true</active>

<teamType>

<id>133</id>

<description>Vendedores</description>

</teamType>

<agentRelationship>

<agentTeam>

<agent>

<id>7</id>

<alternativeIdentifier>Pessoa 1</alternativeIdentifier>

<name>Pessoa 1</name>

</agent>

</agentTeam>

<agentTeam>

<agent>

<id>38762</id>

<alternativeIdentifier>Pessoa 2</alternativeIdentifier>

<name>Pessoa 2</name>

</agent>

</agentTeam>

</agentRelationship>

</team>

Inclusão de uma Equipe

POST /CenterWeb/api/{$apiKey}/team.xml

Esta operação serve para incluir uma equipe no sistema. Existe um mínimo de informações que o sistema espera receber para poder realizar a criação de um novo registro no ambiente em questão. Confira a descrição de uma Equipe para identificar os campos obrigatórios. Veja um exemplo da requisição com dados em XML:

<team>

<description>Equipe X</description>

<alternativeIdentifier>Equipe X</alternativeIdentifier>

<teamType>

<id>133</id>

</teamType>

<agentRelationship>

<agentTeam>

<agent>

<id>7</id>

</agent>

</agentTeam>

<agentTeam>

<agent>

<id>38762</id>

</agent>

</agentTeam>

</agentRelationship>

</team>

Neste caso, lendo o que está sendo pedido ao uMov.me é que seja criada uma Equipe com a descrição Equipe X para os agentes com id 7 e 38762 vinculados a equipe.

Atualização de uma Equipe

POST /CenterWeb/api/{$apiKey}/team/{$id}.xml

Esta operação permite atualizar informações de uma equipe enviando apenas os dados desejados:

<team>

<description>Equipe X</description>

<alternativeIdentifier>Equipe X</alternativeIdentifier>

</team>

Esta operação acima não irá alterar as pessoas vinculadas a equipe. Somente será alterada a descrição e identificador alternativo da equipe.

Se informado somente a tag <agentRelationship> todas as pessoas vinculadas a equipe serão removidas.

Ao informar pessoas da equipe a partir da tag <agentRelationship>, o sistema sempre irá remover todas as pessoas vinculadas a equipe e adicionar as novas pessoas vinculadas. Para operações unitárias de inclusão ou remoção de uma pessoa da equipe, verifique as operações a seguir.

Inclusão de uma pessoa em uma equipe

POST /CenterWeb/api/{$apiKey}/team/{$id}/agent.xml

Para incluir uma pessoa em uma equipe, basta realizar uma requisição, conforme descrito acima, passando os atributos abaixo. Somente será incluída a pessoa a uma equipe, se ela ainda não estiver vinculada a equipe.

<agentTeam>

<agent>

<id>{agentId}</id>

</agent>

</agentTeam>

Inclusão de uma pessoa responsável em uma equipe

POST /CenterWeb/api/{$apiKey}/team/{$id}/agent.xml

Para incluir uma pessoa em uma equipe, e colocar ela como responsável, basta realizar uma requisição, conforme descrito acima:

<agentTeam>

<agent>

<id>{agentId}</id>

<responsible>true</responsible>

</agent>

</agentTeam>

Remoção de uma pessoa de uma equipe

DELETE /CenterWeb/api/{$apiKey}/team/{$id}/agent/{$id}.xml

Para remover uma pessoa de uma equipe, basta realizar uma requisição, passando por parâmetro o ID da equipe e o ID da pessoa. Somente será removida a pessoa da, se ela for encontrada na equipe. Somente será removida a relação. A pessoa continuará cadastrada no sistema.

<result>

<statusCode>200</statusCode>

<message>Agent with id: 7 was removed from team id: 100</message>

</result>

Consulta de uma pessoa em uma equipe

GET /CenterWeb/api/{$apiKey}/team/{$id}/agent/{$id}.xml

Para consultar uma pessoa específica de uma equipe, deve ser passado por parâmetro o ID da equipe e o ID da pessoa. O sistema retornará apenas as informações da pessoa solicitada.

<team>

<id>100</id>

<description>Equipe A</description>

<alternativeIdentifier>Equipe A</alternativeIdentifier>

<active>true</active>

<agentRelationship>

<agentTeam>

<agent>

<id>7</id>

<name>Pessoa 1</name>

</agent>

</agentTeam>

</agentRelationship>

</team>