Você está na página 1de 96

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA

DE GOIÁS - CÂMPUS JATAÍ


DEPARTAMENTO DE ÁREAS ACADÊMICAS
CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE
SISTEMAS

DOUGLAS ALVES DE CAMPOS


20151020230044

LIVRE OFERTA:
PLATAFORMA MARKETPLACE QUE VIABILIZA TRANSAÇÕES
COMERCIAIS UTILIZANDO TECNOLOGIAS WEB-MOBILE.

Jataí
2018
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
DE GOIÁS - CÂMPUS JATAÍ
DEPARTAMENTO DE ÁREAS ACADÊMICAS
CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE
SISTEMAS

DOUGLAS ALVES DE CAMPOS

RELATÓRIO TÉCNICO

LIVRE OFERTA:
PLATAFORMA MARKETPLACE QUE VIABILIZA TRANSAÇÕES
COMERCIAIS UTILIZANDO TECNOLOGIAS WEB-MOBILE.

Relatório apresentado como requisito para obtenção do título de


Tecnólogo em Análise e Desenvolvimento de Sistemas pelo
Instituto Federal de Educação, Ciência e Tecnologia de Goiás.

Orientador(a): Esp. Fabrício Vieira Campos

Jataí
2018
AGRADECIMENTOS
Agradeço aos meus pais e antepassados, pois sem eles não seria possível minha existência.
Agradeço a todos os professores, pois sem eles jamais teria adquirido o conhecimento atual.
RESUMO

Atualmente o Brasil vive uma das piores recessões de sua história, implicando em uma
substancial crise no setor comercial. Diante do cenário de instabilidade econômica, cada vez
mais microempreendedores buscam alternativas para aumentar sua renda ou mesmo ter uma
nova opção de fonte de renda. Percebe-se que uma das possibilidades de minimizar esses
problemas é recorrer ao comércio eletrônico em especial aos marketplaces, utilizando essa
ferramenta para negociar produtos e/ou serviços, em busca de um público maior e claro,
maior renda. Mesmo os marketplaces sendo ideal para iniciar no comercio eletrônico, os
mesmos possuem uma série de limitações. Por meio de uma pesquisa qualitativa realizada no
sudoeste do estado de Goiás, constatou-se que, de fato, as pessoas e empresas querem vender
pela internet na região analisada, porém muitos ainda não sabem como atuar neste meio
virtual. Além disso, os que sabem, questionam o alto valor de manter um negócio online. Isto
posto, desenvolveu-se a plataforma Livre Oferta, que possibilitará minimizar os problemas
verificados na pesquisa, contando com estruturas voltada a web e smartphones, e, portanto,
permitindo assim, que qualquer pessoa ou empresa possa vender seus produtos ou serviços
dentro da plataforma e receber os seus pagamentos pela internet de forma rápida, prática e
com um custo viável às pessoas e pequenas empresas. Utilizando apenas um smartphone ou
um computador pessoal, é possível acessar a plataforma, criando assim diversas vantagens ao
vendedor, como a possibilidade de vender produtos parcelados e receber o valor integral.
Tomamos como diferencial desta proposta, a possibilidade de cada vendedor contar com sua
própria loja virtual, gerada automaticamente pela plataforma Livre Oferta. Esse diferencial
pode maximizar a visibilidade da loja/marca e produtos/serviços inseridos na plataforma.
Espera-se que esta plataforma permita que pessoas e empresas possam se atualizar cada vez
mais e, com isso, comecem a ter maior participação no mundo virtual.
Palavras-chave: Marketplace, Plataforma, Comércio, Vendas.
LISTA DE TABELAS

Tabela 1 - Comparação dos marketplaces após a análise de suas características.....................24


Tabela 2 - Produtos de grande porte.........................................................................................28
Tabela 3 - Comparativo de preço entre transportadoras...........................................................29
Tabela 4: Resumo visão geral do sistema.................................................................................31
Tabela 5: Representação resumida da documentação de requisitos.........................................34
Tabela 6: Representação resumida da documentação de requisitos detalhada.........................35
Tabela 7: Modelo caso de uso expandido.................................................................................37
Tabela 8: Sistema semi-embarcado, a função da Livre Oferta e Moip.....................................40
LISTA DE ABREVIATURAS E SIGLAS

IBGE - Instituto Brasileiro de Geografia e Estatística.


IRUP - IBM Rational Unified Process.
MVC - Model-view-controller
REST -Representational State Transfer
SGBD - Sistema de gerenciamento de banco de dados
UI Design – User Interface Design.
UML - Unified Modeling Language
UP - Processo Unificado.
Ux Design – User Experience Design.
SUMÁRIO

1. INTRODUÇÃO .................................................................................................................. 1

2. DESENVOLVIMENTO .................................................................................................... 4

2.1 PROCESSO METODOLOGICO ...................................................................................... 6

2.1.1 ANÁLISE DE TRABALHOS CORRELATOS. ............................................................ 6

2.1.2 PESQUISA DE CAMPO .............................................................................................. 10

2.1.3 LEVANTAMENTO DE TRANSPORTADORAS ...................................................... 13

2.1.4 METODOLOGIA IRUP ............................................................................................... 14

2.2 SISTEMA FINANCEIRO ............................................................................................... 24

3. PRODUTO DESENVOLVIDO ...................................................................................... 27

4. TECNOLOGIAS UTILIZADAS .................................................................................... 37

5. CONSIDERAÇÕES FINAIS .......................................................................................... 40

6. TRABALHOS FUTUROS .............................................................................................. 40

REFERÊNCIAS ..................................................................................................................... 41

APÊNDICE A – DOCUMENTAÇÃO DO SOFTWARE .................................................. 44

APÊNDICE B – BANCO DE DADOS.................................................................................. 76

ANEXO A – SISTEMA DE PAGAMENTO MOIP ............................................................ 80


1

1. INTRODUÇÃO

Desde que foi liberada para uso comercial, a internet tem sido utilizada como meio
para compra e venda de produtos. Tal proeza teve os seus primeiros passos no início da
década de 70, mas foi preciso esperar até o ano de 1994 para se verificar a primeira transação
com pagamento feito através da internet em todo mundo, no qual o produto a ser
comercializado foi uma pizza que teve como protagonista a empresa Pizza Hut
(COUCLELIS, 2004).
Essa novidade do comércio eletrônico chega ao Brasil em meados de 1995 com a loja
virtual Magazine Luiza, porém, começa a ganhar força a partir do ano de 2001, apresentando
uma nova proposta de revolucionar o comércio varejista com um conceito totalmente novo e
inovador (TEIXEIRA, 2015). Tal proposta funcionou de maneira surpreendente, apenas no
ano de 2001 conseguiu movimentar a quantia de meio bilhão de reais em transações
realizadas exclusivamente pela internet através de vendas de produtos. Já no ano seguinte a
movimentação virtual conseguiu ser o dobro do valor (EBIT, 2013). Este modelo segue em
ampla ascensão até os dias atuais (SILVA,2016).
A partir do ano de 2012 o comércio eletrônico brasileiro começa a ganhar um novo
capítulo com a popularização dos chamados marketplaces (ECOMMERCE, 2013). O
marketplace surgiu com a proposta de ter um menor custo de operação e desempenhar
funções similares às lojas virtuais (NEXLAYER, 2017). Tentando assim, replicar na internet
um modelo de sucesso do mundo real, com seu funcionamento similar a shoppings centers ou
feiras municipais, com o intuito principal de reunir diversos vendedores, atrair maior número
de público e baratear custos.
Hodiernamente existem marketplaces que são destaques nacional e internacionalmente
como: Mercado Livre, Submarino, Aliexpress, Ebay, Olx, entre outros. Porém, o conceito de
‘Marketplace’ existe há bastante tempo, sendo citado pela primeira vez referenciando um
conjunto de comércio em 1958, através do livro ‘The academic Marketplace’, além disso, tal
modelo empregado no meio digital está presente no Brasil desde o ano 2006 (BORGES,
2017). Contrapondo a grande ascensão do comércio virtual, no início do século 21 a
população brasileira começou a retomar o espírito empreendedor, sendo considerado o 13º
país que mais empreende no mundo (GEM, 2009), impulsionando assim um grande número
de abertura de negócios físicos. Porém, a partir de 2014 o Brasil teve a pior recessão de sua
2

história, culminando na perda de 11% do PIB (produto interno bruto) per capita, atingindo
diretamente pequenas empresas e ocasionando milhões de desempregados (IBGE, 2016).
Com o cenário econômico desolador, muitas empresas e novos empreendedores,
observaram na internet oportunidade de gerar renda (IVO,2016), um destes motivos é o fato
de que no ambiente virtual não existe barreiras, contribuindo para que determinado produto
possa ser acessível por pessoas na própria cidade ou até todo o país – não existem barreiras
geográficas, gerando um público superior as habituais lojas físicas e um custo de operação
extremamente inferior (PASA, 2016). No entanto, com o orçamento muitas vezes limitado,
manter uma loja virtual é algo inacessível para pessoas com baixa renda e pequenas empresas
afetadas diretamente pela crise ou que possuem poucos recursos (FUOCO, 2016). Sendo
assim, a opção mais viável para muitos empreendedores foram investir nos chamados
marketplaces, principalmente pelo seu custo benefício vantajoso (NEXLAYER, 2017).
Com participação ativa dos meios digitais durante a recessão econômica, o Brasil
saltou no ranking do empreendedorismo global, saindo da 13º colocação para a 1º posição
mundial (GEM, 2015).
Para enfatizar a real necessidade de comercializar produtos no meio virtual, foram
realizadas uma pesquisa através de formulários físicos e eletrônicos na região sudoeste do
estado de Goiás e Capital, no qual o objetivo desta pesquisa é constatar a real necessidade ou
dificuldade que a empresa tem ao integrar-se no comércio eletrônico. Por meio desta pesquisa,
evidenciou se que, pequenas empresas em sua grande maioria pretendem migrar para internet,
mas muitas não têm condições financeiras ou não conhece os caminhos necessários para
efetivar essa migração.
Os Marketplaces atuais são ideais para iniciar no comércio eletrônico
(SEBRAE,2016), porém ainda existem diversas limitações, como: altas taxas sobre produtos
ao qual em muitos casos se torna superior a dezesseis por cento, pouca visibilidade do
vendedor no meio digital, sem opções de marketing além da plataforma ao qual está
comercializando o produto, concorrência desleal, oferta de apenas a uma opção de transporte
que acabam limitando o envio de grandes produtos (geladeira, fogão, dentre outros) e também
não permite o contato diretamente com o cliente. Outra desvantagem frequente é o
favorecimento a grandes marcas, no qual tira qualquer chance de um pequeno vendedor
competir de igual para igual dentro da plataforma (ERPFLEX,2017).
Diante dessas dificuldades encontradas nos principais marketplaces disponíveis, aliado
a recessão econômica e a vontade de pequenas empresas e pessoas físicas migrarem para
internet, buscou-se por meio deste projeto preencher as lacunas existentes, através do
3

desenvolvimento da plataforma Livre Oferta.


O produto desenvolvido intitula-se Livre Oferta, assemelha e se destaca em diversos
pontos em relação a outros marketplaces, tendo como objetivo principal permitir a venda de
produtos de terceiros dentro da plataforma, facilitando assim que qualquer pessoa ou empresa
consiga comprar ou vender dentro da plataforma e alcançar seu público alvo com um baixo
custo de investimento.
Além disso, a plataforma se destaca em diversos pontos em relação a outros
marketplaces, um destes diferenciais ocorre quando o usuário efetua o seu cadastro na
plataforma, especialmente se optar por ser um vendedor. Ao escolher a opção de vendedor,
além de poder comercializar os produtos / serviços dentro da plataforma, também terá a opção
de gerar sua própria loja virtual e já indexada aos buscadores (Google, Bing e outros). O
objetivo da loja virtual é dar maior autonomia e identificação da marca do vendedor no
mundo virtual e dentro da própria plataforma, aliado a isto a loja virtual poderá ser facilmente
modificada e adequada a cada tipo de negócio.
Além do que, a plataforma permitirá que o produto seja enviado para todo país através
dos meios tradicionais (Correios). Para maior agilidade, o vendedor também poderá
futuramente adicionar transportadora locais ao sistema, desde que sejam devidamente
aprovadas.
Outro diferencial da plataforma é a possibilidade de o vendedor realizar sua campanha
digital para atingir um número maior de público com apenas alguns cliques. A Campanha
digital irá ser realizada nas mídias digitais com base nos produtos publicados através da
plataforma.
Por fim, a plataforma possibilita maior interação entre cliente e vendedor, tal medida é
essencial para a agilidade nas vendas, e permitir maior autonomia de cada vendedor, além de
beneficiar diretamente os futuros clientes.
O produto desenvolvido, inicialmente está disponível em sua versão web e para
dispositivos móveis que possuem o sistema operacional Android. A plataforma foi projetada
de tal maneira que permite pessoas com baixo conhecimento em comércio eletrônico possam
comprar ou vender produtos / serviços com pouca ou sem nenhuma dificuldade.
Apresentaremos a seguir na seção 2 (Desenvolvimento) um detalhamento em relação
ao processo de construção da plataforma Livre Oferta – produto deste processo investigativo.
Além disso, apresentaremos em concomitância com o processo metodológico alguns artefatos
que nos permite compreender a arquitetura envolvida na construção do software proposto
nesta pesquisa. Logo após, na seção 3 (Produto Desenvolvido) apresentamos as principais
4

partes do sistema desenvolvido, bem como os principais trechos de código. Já na seção 4


(Tecnologias Utilizadas) abordamos os meios empregados que possibilitou a construção da
plataforma. Adentrando a seção 5 (Trabalhos Futuros) tratamos de modificações que
futuramente poderão ser incorporados na plataforma. Por fim, na seção 6 chegamos às nossas
considerações finais.

2. DESENVOLVIMENTO

O Produto desenvolvido no decorrer desta pesquisa, denomina-se ‘Livre Oferta’ ao


que consiste em uma plataforma marketplace que se assemelha ao modelo real de comércios
físicos (shoppings e feiras municipais), com a principal intenção de reunir o maior número de
vendedores, baixar custos e ter um fluxo contínuo de clientes. Inicialmente o produto
construído está disponível em sua versão desenvolvida para web e smartphones que possuem
sistema operacional android em versões igual ou superior a 4.0
A plataforma Livre Oferta tem por objetivo permitir que pessoas comuns ou
empresas, possam realizar seu cadastro dentro da plataforma e consequentemente comprar ou
vender seus produtos dentro da plataforma com alcance para todo país, com pouca ou
nenhuma dificuldade de realizar este processo.
A aplicação desenvolvida tem o seu funcionamento de maneira simples, no qual o
vendedor pode cadastrar seus produtos que automaticamente ficam disponíveis para venda.
Os produtos comercializados podem ser novos ou usados, devendo tal informação ficar
disponível já no momento de cadastro. Após cada venda realizada o vendedor recebe o valor
integral de suas transações, mesmo que o cliente efetue o pagamento de forma parcelada. Este
processo de pagamento ocorre devido a troca de informações entre a plataforma Livre Oferta
e o seu sistema de pagamento (Moip). Com isso, ao criar a conta na plataforma,
automaticamente o vendedor terá sua carteira financeira gerada no sistema de pagamento
Moip, ao qual posteriormente o vendedor poderá inserir os dados bancários e efetuar o saque
dos seus ganhos.
Além disso, o cliente que pretende adquirir algum produto dentro da Livre Oferta
poderá adicionar os mesmos em seu carrinho de compras, para que possam continuar
comprando ou deixar armazenado para outra ocasião. Outro suporte que a plataforma oferece
é a possibilidade de o cliente sanar suas dúvidas sobre um determinado produto diretamente
ao vendedor, através do canal de chat que possuí dentro da página de cada produto.
Para ser mantida a qualidade na plataforma, todos vendedores serão avaliados por seus
clientes que comprarem um determinado produto, ao qual o cliente pode qualificar o vendedor
5

de 1 a 5 estrelas. Essa pontuação é essencial para avaliar e ranquear o vendedor dentro da


Livre Oferta.
O Produto desenvolvido, além de possibilitar a venda dentro da plataforma, tem
alguns diferenciais em relação aos outros marketplaces existentes, como a possibilidade do
vendedor criar sua própria loja virtual com o intuito de dar maior visibilidade no meio digital,
já que a loja criada será indexada nos principais dos buscadores (Google,Bing,Yahoo), sendo
possível encontrar a loja ou produtos de forma mais rápida e prática.
Além da loja, o vendedor também poderá enviar produtos considerado grandes ou
pesados via transportadoras, sanando uma dificuldade recorrente na maioria dos
marketplaces, porém o envio de mercadorias tradicionais (produtos médio e pequeno porte)
será utilizado o meio convencional de envio (Correios).
Outro diferencial da plataforma será auxiliar o vendedor ao marketing digital, com o
propósito de permitir os produtos cadastrados pelo mesmo na plataforma possam ser
divulgados via mídias sociais através de seu estado e público alvo que foram escolhidos. O
marketing digital tem por objetivo dar maior visibilidade dos produtos e consequentemente
ajudar os vendedores que estão iniciando suas vendas no mundo virtual, no qual não possuem
ou têm poucos cliente e baixa visibilidade.
A Livre Oferta também adotou alguns meios de segurança como não salvar dados
financeiro do cliente – número do cartão e dados do titular, criptografia em troca de estado do
sistema, liberar o pagamento ao vendedor apenas quando o cliente confirmar a entrega ou
prazo de 14 dias for extrapolado, além disso, o próprio sistema de pagamento se encarrega em
ressarcir o cliente em caso de algum dano por parte do vendedor, também a plataforma criada
permite que o vendedor possa devolver o dinheiro de forma integral ao cliente.
Logo abaixo (Figura 1) demonstra os passos de maneira genérica como a plataforma
Livre Oferta atua.
6

Figura 1: Representação genérica dos principais passos da plataforma Livre Oferta.

Fonte: Autoria própria.

2.1 PROCESSO METODOLOGICO

Nesta seção serão apresentados os processos metodológicos utilizados bem como os


seus passos, que possibilitou a criação da plataforma Livre Oferta.

2.1.1 ANÁLISE DE TRABALHOS CORRELATOS.

O primeiro passo para construção desta plataforma foram as análises de trabalhos


correlatos. Está análise teve como objetivo verificar os principais marketplaces no Brasil, bem
como, tendências na questão de experiência do usuário, tecnologias utilizadas na estrutura da
plataforma e segurança da informação empregado pelos marketplaces. Por fim, através desta
análise foi possível levantar boa parte dos requisitos funcionais e não funcionais da
plataforma Livre Oferta, bem como requisitos de usuários, cadastro de produtos, além de
adotar algumas técnicas antifraude muito utilizada pelos marketplaces analisados..
Para efeito de estudo, foram selecionados três marketplace sendo eles: MercadoLivre,
Submarino e OLX. Estes marketplaces atualmente são os mais populares no Brasil
(SKYHUB, 2017). Antes de efetuar a análise das plataformas em sí, fez-se necessário
conhecer um pouco da história de cada objeto de estudo: O Mercado Livre é o principal
marketplace do Brasil e o maior da América Latina, sua origem é argentina e surgiu em 1999,
o Submarino foi o pioneiro no Brasil surgindo em 2001 sendo um dos principais da atualidade
7

e de origem brasileira, já a OLX é de origem americana, chegou ao Brasil no ano de 2010


com objetivo de facilitar a intermediação de compra e venda de produtos, principalmente
usados.
Para o estudo das plataformas selecionadas, foram abordados os seguintes temas:
processo de compra e venda, taxas, analise de design e estrutura de rank para o vendedor
dentro da plataforma.
No primeiro tema abordado (Processo de Compra e Venda) os três martketplaces
(Mercado Livre, Olx e Submarino) demonstraram serem bastante semelhantes no processo de
compra e distintos no processo de venda.
No processo de compra todos os marketplaces selecionados exigem o cadastro de
usuário (Figura 2) , no qual o Mercado Livre e OLX solicita que usuário preencha apenas 3
(três) campos, tornando-se bastante prático para os novos usuários, já o Submarino exige que
o usuário preencha cerca de 7 campos, o que ainda é um processo prático mas demanda tempo
do usuário.

Figura 2: Tela de cadastro da empresa submarino e mercado livre.

Fonte: Submarino, Mercado Livre.

Continuando no processo de compra, Mercado Livre e Submarino aceita que o cliente


pague os produtos com cartão de crédito ou boleto, já o Olx apenas exibe o produto como
forma de ‘mostruário’ inexistindo opções de pagamento online, ao qual permite apenas o
contato direto com o vendedor para negociar os meios de pagamento. Vale ressaltar que
8

dentre os três trabalhos correlatos o único que possui o sistema financeiro próprio é o
Mercado Livre, cujo o seu sistema financeiro denomina-se ‘Mercado Pago’.
No que se refere às vendas, os três marketplaces são bastante distintos nessa parte,
sendo que o Mercado Livre e Olx permite que qualquer pessoa física ou jurídica vendam na
sua plataforma sem maiores dificuldades, já o Submarino aceita apenas pessoa jurídica para
vender dentro de sua plataforma e para se tornar um vendedor é necessário se submeter a um
longo processo de análise e uma série de burocracias. Outro ponto essencial no que se refere
às vendas e o tempo que o produto leva para ser visível após a publicação do mesmo,
plataforma Mercado Livre após o vendedor publicar um determinado produto, leva cerca de
uma semana para ser visível, já na Olx o produto ou serviço é exibido no mesmo instante e o
Submarino tem tempo indeterminado, dependendo da uma análise da plataforma sobre o
produto.
Após o levantamento de como funciona o trâmite de compra e venda, foram
analisadas as taxas cobradas por cada marketplace. Mercado Livre e Submarino cobram taxas
sobre cada produto que é comercializado na plataforma, o Mercado Livre cobra de 10% a
16% acrescido dos encargos sobre o produto, essa variação de porcentagem deve-se ao fato
que o vendedor tem a possibilidade de repassar os juros ao cliente, já o submarino cobra uma
taxa de 12% a 27% sobre produto mais encargos, essa variação se deve ao nicho de mercado
que o produto está inserido, já a Olx não cobra taxa sobre produto ou serviço vendido, tendo
outros meios de arrecadação.
Após a verificação das taxas aplicadas por cada plataforma, foram analisados o design
e compatibilidade de cada marketplace tendo como objetivo verificar a experiência do usuário
ao utilizar tal serviço, para este estudo utilizou das técnicas de User Interface (UI) e User
Experience (UX) design. Das três marcas analisadas, todos apresentam boa compatibilidade,
com versões para web e dispositivos móveis, porém, apenas o Olx não tem sua plataforma em
versão web responsiva, o que pode dificultar o seu acesso por smartphones ou em
computadores e tablets, no entanto, isso não impediu de ter uma boa experiência de usuário já
que a plataforma foi construída de tal maneira que permite até pessoas leigas no assunto
possam comprar e vender sem ou com pouca dificuldade.
Já na última etapa da análise buscou-se saber como funciona o sistema de
ranqueamento do vendedor (o produto pesquisado aparecer na primeira página), no qual os
três marketplaces utilizam técnicas semelhantes. No Mercado Livre, a regra imposta é: os
primeiros a aparecer nas pesquisas são lojas oficiais, seguidos pelos vendedores que
investiram recursos no marketing interno da plataforma e por último os vendedores com
9

melhor qualificação, já no Submarino é algo semelhante, segue a seguintes regras: os


vendedores que investirem no marketing interno tem maior visibilidade, já na Olx o vendedor
paga um determinado valor para o seu produto ficar em destaque na plataforma por período de
tempo. no qual os vendedores que não investem financeiramente os seus produtos ficam mal
posicionados (Figura 3).

Figura 3: Vantagem de produtos na Olx aparecendo como ‘Galeria’.

Fonte: Olx.

Após toda esta análise elaborou-se uma tabela comparativa entre os marketplaces
analisados (Tabela 1), tal tabela serviu de parâmetros na construção da plataforma.

Tabela 1 - Comparação dos marketplaces após a análise de suas características.

MERCADO SUBMARINO OLX


LIVRE

Vender como pessoa física ou SIM NÃO SIM


jurídica

Pagamento Online SIM SIM NÃO

Taxas Sobre Produto 10 ~ 16% + 12 ~ 27% + encargos NÃO


10

encargos

Forma de Ranqueamento Contrato Marketing Contrato Marketing Contrato


Interno Interno Marketing Interno

Design Responsivo SIM SIM NÃO

Compatibilidade (web, SIM SIM SIM


smartphones e tablets)

Fonte: Autoria própria.

2.1.2 PESQUISA DE CAMPO

Para compreender a real necessidade de os comércios migrarem para internet e suas


dificuldades, além de contribuir com os requisitos do sistema e embasar a ideia proposta, foi
realizado uma pesquisa qualitativa no sudoeste do estado de Goiás, tendo como foco principal
o município de Jataí. Essa pesquisa contou com uma amostragem de 10 empresas de pequeno
porte de diferentes nichos de mercados (Moda, Eletrônicos, Esportes, dentre outros).
Adotou-se a metodologia de pesquisa qualitativa pois a mesma é um método de
investigação científica que foca no caráter subjetivo do objeto analisado, estudando as suas
particularidades e experiencias individuais (GERHARDT; SILVEIRA, 2009). De acordo com
Guimarães (2017)
Numa pesquisa qualitativa as respostas não são objetivas, e o propósito não é
contabilizar quantidades como resultado, mas sim conseguir compreender o
comportamento de determinado grupo-alvo. Normalmente, as pesquisas qualitativas
são feitas com um número pequeno de entrevistado s.

Seguindo a metodologia qualitativa a pesquisa foi realizada por meio da aplicação de


questionários eletrônicos (9 questões em abertas), além de entrevistas com alguns
proprietários dos negócios. Após todas analises dos dados coletados, a pesquisa demonstrou
resultados interessantes e expressivos para compreensão acerca do funcionamento dos
comércios e suas logísticas locais, além de diversas indagações por parte dos proprietários que
acabaram por contribuir diretamente na construção da plataforma.
No decorrer da pesquisa a principal indagação para compreensão do tema foi através
de um conjunto de perguntas abertas: “Você já vendeu pela internet ou pretende vender? Se já
vendeu ainda continua vendendo? quais são as maiores dificuldades? Se nunca vendeu pela
11

internet, porquê?”. Desta pergunta cerca de 40% dos entrevistados responderam que já vendeu
pela internet e os outros 60% nunca venderam. Os motivos dos comerciantes não possuírem o
seu comércio na internet foram variados, mas dos 40% que já venderam na internet, nenhum
comércio continua ativamente atuando neste meio, apontando os principais motivos de não
manter o negócio online: Alto custo para se manter no mundo virtual, baixa visibilidade e
retorno, altas taxas sobre o produto, além de não receber o treinamento adequado para
manusear a plataforma/loja virtual e suporte inadequado/inexistente.
Entre os 40% que já venderam na internet, 10% continua ativamente divulgando seus
produtos através das mídias sociais, como forma de “mostruário” sem envolver transação
financeira. Para os que nunca venderem pela internet (60% dos entrevistados) os motivos
foram bastante específicos: Não conhecer os meios necessários para montar o negócio online,
creem que tem um alto custo de se manter esse negócio, além de indagar que não conseguirem
enviar mercadorias consideradas grandes e pesadas via Correios, o qual inviabiliza o negócio
online.

Figura 4: Respostas para a pergunta: “Você já vendeu pela internet?”.

Fonte: Autoria Própria.

Além disso, outro assunto bastante debatido e destacado entre os comerciantes, foi o
valor ideal para se manter o negócio online (Figura 5). Os comerciantes levaram em
consideração para se determinar o valor ideal de um comércio na internet os gastos com sua
loja física, incluindo aluguel, água luz e impostos e os gastos com funcionários e mais a
projeção de ganhos no mundo virtual. Para chegar no valor geral dos comércios analisados,
utilizou-se a matemática estatística conhecida como ‘mediana’, e a partir da mediana o valor
encontrado chegou na faixa de valor de R$ 500,00 ao mês.
12

Figura 5: Valor mensal para se manter o negócio no mundo virtual, sugerido por cada comércio.

Fonte: Autoria Própria.

De maneira geral, a pesquisa de campo demonstrou que a maioria dos comércios


regionais que foram abordados pretendem vender na internet (Figura 6), tanto para região
local quanto para todo país.

Figura 6: Gráfico Pergunta “Você pretende vender pela internet?”.

Fonte: Autoria Própria.

Ao final, como está é uma pesquisa qualitativa é necessário tratar todos os dados. Para
o tratamento total dos dados fez-se necessário utilizar o método fenomenográfico, desta
maneira os dados foram tratados de forma não estatística. Conforme indica Vergara (2009,
13

p.57), codificamos os dados para depois estruturá-los analisá-los a fim de extrair os máximos
de requisitos funcionais a ser incorporado na plataforma desenvolvida.

2.1.3 LEVANTAMENTO DE TRANSPORTADORAS

Após a realização da pesquisa de campo ficou constatado a real necessidade de uma


alternativa ao meio tradicional de envio de mercadorias (Correios). Essa alternativa deve-se
ao fato de que muitas empresas, especialmente a de eletrodomésticos, precisam enviar
grandes produtos como: geladeira, fogão, dentre outros. Diante desta necessidade, fez-se uma
pesquisa sobre quais as transportadoras poderiam atender a necessidade da plataforma.
Para pontapé inicial, foi realizado o levantamento das principais transportadoras que
atuam na cidade de Jataí e que atendem mais de seis cidades no estado de Goiás, para isto
foram analisados um total de nove transportadoras: JadLog, Sicall, Rodan Transportes, Águia
Transportes, Lima Transportes, Braspress, Luz Transportes, Rodonaves Transportes, Sertraza.
Esta análise de transportadoras, ocorreu através do contato físico ao qual fez simulações
como cliente. Entre todas analisadas apenas duas encaixam nos padrões citados, essas duas
são: Rodan e Águia Transportes.
Para artefato de estudo, foram selecionados alguns produtos com suas respectivas
dimensões e valores que estão demonstrados na tabela abaixo.

Tabela 2 - Produtos de grande porte.

Geladeira/Refrigerador Fogão 5 Bocas Esmaltec


Peso do produto: 76 kg. Peso do produto: 35kg.
Largura: 71.1 cm. Largura: 76,7 cm.
Altura: 187.1 cm. Altura: 92 cm.
Profundidade: 73 cm. Profundidade: 60 cm.
Valor: R$ 1.799,91
Valor: R$ 683,91

Fonte: Autoria própria.

Com os dados dos produtos em mãos, foi realizada uma simulação de envio para as
cidades de Rio Verde e Goiânia, tendo como ponto de partida a cidade de Jataí. Essa
simulação teve o intuito de comparar o preço entre as transportadoras (Tabela 3) e
consequentemente a melhor escolha para os comércios que utilizarem a plataforma Livre
Oferta.
14

Tabela 3 - Comparativo de preço entre transportadoras.

Águia Rodan Transportes

Produto: Geladeira/Refrigerador.
Preço por cidades: Rio Verde, Goiânia.

Rio Verde: R$ 90,00 Rio Verde: R$ 155,00


Goiânia: R$ 90,00 Goiânia: R$ 155,00

Fonte: Autoria própria.

Ao final deste levantamento constatou-se que existem poucas transportadoras na


cidade de Jataí, tornando-se assim algo pouco viável de ser implementado inicialmente na
plataforma Livre Oferta.

2.1.4 METODOLOGIA IRUP

Para o desenvolvimento da plataforma Livre Oferta adotou-se a metodologia IBM


Rational Unified Process (IRUP), que é um processo proprietário e notório de Engenharia de
software que utiliza a abordagem da orientação a objetos em sua concepção e é projetado e
documentado utilizando a notação UML (Unified Modeling Language) além de utilizar
técnicas e práticas aprovadas comercialmente. O IRUP é fundamentado em três valores:
• Dirigido por casos de uso: o planejamento do desenvolvimento é feito em função dos
casos de uso identificados, tratando-se prioritariamente os mais complexos.
• Centrado na arquitetura: o processo de desenvolvimento prioriza a construção de
uma arquitetura de sistema que permita a realização dos requisitos. Essa arquitetura
baseia-se na identificação de uma estrutura de classes, produzida a partir de um
modelo conceitual.
• Iterativo e incremental: a cada ciclo de trabalho realizado, novas características são
adicionadas à arquitetura do sistema, deixando-a mais completa e mais próxima do
sistema final.
15

Logo abaixo (Figura 7) temos a representação clássica da distribuição das atividades


de desenvolvimento de sistemas e sua ênfase nas diferentes fases da implementação, que
devem ser seguidas para construção de plataforma dentro da metodologia IRUP.
Figura 7: Fases da Metodologia IRUP.

Fonte: International Business Machines, 2009.


A metodologia IRUP possui 4 fases no seu ciclo de desenvolvimento: 1º fase:
Iniciação, 2º fase: Elaboração, 3º Fase: Construção 4º fase: transição.
O IRUP comporta, em suas disciplinas as atividades de estudo de viabilidade, análise
de requisitos, análise de domínio, projeto etc (Figura 05). Porém, essas atividades aparecem
no IRUP associadas, com maior ou menor ênfase, às quatro grandes fases do IRUP, são:
concepção, elaboração, construção e transição.
A fase de concepção incorpora o estudo de viabilidade, o levantamento dos requisitos
e uma parte da sua análise. A fase de elaboração incorpora o detalhamento da análise de
requisitos, a modelagem de domínio e o projeto. A fase de construção corresponde à
programação e testes, e a fase de transição consiste na instalação do sistema e migração de
dados.
A fase de concepção, denominada inception em inglês, é a primeira fase do processo
unificado racional, na qual se procura levantar os principais requisitos e compreender o
sistema de forma abrangente. Os resultados dessa fase são um documento de requisitos e
riscos, uma listagem de casos de uso de alto nível e um cronograma de desenvolvimento
baseado nesses casos de uso.
As fases de elaboração e construção ocorrem em ciclos iterativos. A elaboração
incorpora a maior parte da análise e projeto, e a construção incorpora a maior parte da
16

implementação e testes. Durante os ciclos iterativos propriamente ditos que acontece a análise
detalhada do sistema, a modelagem de domínio e o projeto do sistema usando os padrões de
projeto.
Na fase de transição, o sistema, depois de pronto, será implantado substituindo o
sistema atual, seja ele manual ou computadorizado.
Na fase de concepção criamos a visão geral do sistema que consiste em levantar todas
as informações possíveis sobre o negócio, tendo como base a análise de trabalhos correlatos e
pesquisa de campo. A visão geral do sistema é um documento em formato livre (Tabela 4),
que busca trazer o máximo de informação possível de forma sucinta acerca do sistema a ser
desenvolvido.
A Plataforma Livre Oferta baseou-se o seu desenvolvimento seguindo as boas práticas
da metodologia IRUP, assim como estabelecido na metodologia o primeiro passo dado na
construção da plataforma foi a criação da visão geral do sistema. Essa visão é construída em
formato de documento livre (Tabela 4) e tem o objetivo de levantar os principais pontos que a
plataforma Livre Oferta irá abordar, como: “O que o sistema vai fazer? Como fazer? Quem é
o Público Alvo?”.
Nesta etapa levantou-se apenas informações básicas, porém essenciais. Adiante a
visão geral do sistema será expandida conforme a metodologia, para extrair o máximo de
informação que ajudará agregar a plataforma de maneira mais específica.

Tabela 4: Resumo visão geral do sistema.

Plataforma Livre Oferta


Visão Geral do Sistema
A Livre Oferta será uma plataforma marketplace que possibilitará qualquer pessoa ou
empresa comercializar os seus produtos / serviços a todo Brasil. A proposta da plataforma é
ser construída de tal maneira que permita até mesmo os leigos em tecnologia consiga vender
ou comprar produtos sem nenhuma dificuldade. Inicialmente a plataforma foi projetada em
sua versão web e para dispositivo android. Algumas funcionalidades da plataforma irá se
diferenciar de outras plataformas semelhantes, como: O primeiro diferencial da plataforma
corresponde na hora do cadastro de usuário. Se o novo usuário optar por ser um vendedor,
este usuário além de poder vender dentro da plataforma Livre Oferta, também terá sua loja
virtual criada automaticamente e com domínio próprio, podendo até optar por dominios
personalizados (.com, .com.br...). O Intuito da criação da loja virtual é dar maior visibilidade
17

ao vendedor na internet, já que automaticamente sua loja será indexada aos buscadores
(Google, Bing, Yahoo...), além disso a Loja Virtual já virá pré-configurada..

Fonte: Autoria própria.

Após a fase de concepção do sistema no qual se teve uma ideia geral do sistema,
conforme a metodologia IRUP, entramos na fase de Modelagem de Negócio, sendo que para a
primeira modelagem utilizou-se do diagrama de atividade.
Os diagramas de atividades foram empregados para representar processos em nível
organizacional, ou seja, de forma muito mais ampla do que a mera visão de requisitos da
plataforma. A figura 8, representa o fluxo de compras que ocorrerá na plataforma Livre
Oferta, no qual haverá interação entre clientes, plataforma (sistema) e gateway de pagamento.
No qual o cliente seleciona um ou mais produtos e efetua a compra, o sistema informa o valor
total, o cliente seleciona o meio de pagamento e confirma, após estes passos o gateway de
pagamento verifica a validade dos dados financeiro informado pelo cliente, se tudo estiver
correto, sinaliza ao sistema que o pagamento foi aprovado, por fim a compra é finalizada.

Figura 8: Fluxo de compras.

Fonte: Autoria própria.


18

O diagrama acima (Figura 8) seguindo a fase atual da metodologia não foi


desenvolvido com a intenção de ser implementado neste projeto mas sim de ajudar a entender
quais são as atividades e os atores envolvidos nos principais processos da plataforma, para
que a partir dessas informações seja possível identificar os requisitos do sistema de forma
mais eficaz. Assim, cada uma das atividades descritas no diagrama foi desenvolvida de forma
correta e encadeada para que o caminho lógico delas seja efetivamente executado.
Após a realização dos principais diagramas de atividades do sistema, foram elaborados
a modelagem de aspectos de negócios, tendo em sua base os diagramas de máquina de estado.
Assim como o diagrama de atividades, esse é um diagrama comportamental, mas em vez de
modelar atividades e processos, ele apresenta estados de um sistema, ator ou entidade que será
objeto de estudo, além de compreender o ciclo de vida de uma determinada ação da
plataforma Livre Oferta, e conhecer todas possíveis transições que irá ocorrer ao longo do
sistema (Figura 9).

Figura 9: Diagrama de máquina de estado, fluxo de compra.

Fonte: Autoria própria

O diagrama acima representa a transição de estado no fluxo de compra, no qual ajuda


compreender o funcionamento profundo da plataforma, dando uma visão mais abrangente do
que será implementado, bem como apontando suas limitações.
19

Após a realização da visão geral do sistema, diagramas de atividades e diagrama de


máquinas, aliado a pesquisa de campo, análise de trabalho correlatos e levantamento de
transportadoras, elaborou-se o levantamento e análise de requisitos. Nesta etapa do
desenvolvimento da plataforma seguindo os passos lógicos da metodologia IRUP,
corresponde a buscar todas as informações possíveis sobre as funções que o sistema deve
executar e as restrições sobre as quais o sistema deve operar. O produto dessa etapa será o
documento de requisitos, principal componente do anteprojeto. A etapa de análise de
requisitos serve para estruturar e detalhar os requisitos de forma que eles possam ser
abordados na fase de elaboração para o desenvolvimento de outros elementos como casos de
uso, classes e interfaces.
Elaborou-se o documento de requisitos (Tabela 5), esse documento registra todos os
tópicos relativos ao que o sistema deve fazer e sob quais condições.

Tabela 5: Representação resumida da documentação de requisitos.

LIVRE OFERTA - DOCUMENTOS DE REQUISITOS

Requisitos Funcionais

1. Permitir o cadastro de novos usuários que possam ser cliente ou vendedor.


2. Permitir o cadastro de produtos para venda. …. Gerenciar a venda de produtos de
terceiros
3. Permitir a criação de lojas virtuais, com layout próprio e produtos exclusivos deste
cliente.
4. Permitir o cadastro de transportadoras,
5. Permitir elaboração de promoções, que destaque os produtos e preços.
6. Permitir transação de produtos.
………………………...

Requisitos Suplementares
1. Operar via interface web.
2. Operar em sistema operacional Android em sua versão maior ou igual 4.0

Fonte: Autoria própria.

Com o levantamento dos requisitos estruturado em formato de tópicos e a partir deste


momento já sabendo o que o sistema irá realmente executar, fez se necessário detalhar cada
requisito (Tabela 6), nessa etapa segue-se as boas práticas da metodologia IRUP pois sem o
detalhamento dos requisitos principalmente os funcionais o sistema pode parecer mais
simples do que realmente é, ao qual poderia trazer maiores complicações nas fases futuras do
desenvolvimento.
20

Tabela 6: Representação resumida da documentação de requisitos detalhada.

1 - Permitir o cadastro de novos usuários que possam ser cliente ou vendedor.

Descrição:
O usuário que pretende comprar ou vender, irá se dirigir até a tela de cadastro, no qual irá
preencher os dados solicitados e clicar em cadastrar...

Informação de Entrada:
O Usuário terá que informar seu nome, email, senha e se quer vender ou...

Informação de Saída:
• Dados Cadastrais.

Restrições Lógicas:
Não há.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

Fonte: Autoria própria.

Os requisitos expandidos criados são acompanhado da sua descrição de maneira mais


detalhada além de ter as informações de entrada e saída de cada requisitos bem como
restrições lógicas (Usuário Comum, Administrador, etc.…), além de expor quais são as
restrições tecnológicas.
Na Plataforma Livre Oferta para todos os requisitos determinou-se restrições
tecnológicas para todos requisitos: os usuários devem ter no mínimo 175 kbps de conexão
para conseguir fazer transação financeira, tal informação de conectividade é fornecida pelo o
sistema de pagamento (Moip), além disso estabeleceu que a versão mínima para o acesso
mobile deve-se ter o sistema operacional Android igual ou superior a sua versão 4.0.
Após o detalhamento dos requisitos, os mesmos foram organizados em grupos
correlacionados através de casos de uso de alto nível. Os casos de uso expandidos têm o
objetivo de cobrir as principais atividades ligados ao negócio do sistema. Ao listar todos os
casos de usos construídos com base nos requisitos expandidos tem o objetivo de levantar
informações sobre como o sistema interage com possíveis usuários e quais consultas e
transformações da informação são necessárias para que processos complexos de interação
sejam executados. É, portanto, uma forma de sistematizar e organizar os requisitos.
Para a construção dos casos de uso, utilizou-se a Unified
21

Modeling Language (UML). A UML é uma linguagem que define uma série de artefatos que
ajudou na na tarefa de modelar e documentar os sistemas orientados a objetos.

Figura 10: Caso de uso - carrinho de compras.

Fonte: Autoria própria.

No caso de uso de alto nível retrata o diagrama UML que representa um dos vários
cenários possíveis na plataforma Livre Oferta ao qual busca retratar o que o sistema faz sobre
o ponto de vista do cliente que deseja adquirir algum produto. Este diagrama remete ao
cenário de carrinho de compras, onde o cliente que é o ator pode adicionar produto ao
carrinho, remover e lista, bem como finalizar o seu pedido de compra desde que esteja logado.
O Caso de uso de alto nível consegue dar uma melhor visão do que a plataforma irá realizar
em cada etapa de seu processo, sempre priorizando a visão do usuário.
Após a elaboração de todos os casos de usos referente a plataforma e documentos de
requisitos, criou-se os chamados caso de uso expandidos. O Caso de uso expandido tem o
objetivo de detalhar o caso de uso de alto nível ao máximo possível (Tabela 7), detalhando e
simulando quais serão as informações de entrada e saída naquele ciclo do sistema e também
presumir quais serão as possíveis variações nas ações dos usuários além de prever quais serão
as exceções que aquele ciclo irá conter.

Tabela 7: Modelo caso de uso expandido.


22

Caso de Uso: Carrinho de Compras

1. [IN] O Cliente seleciona o produto e adiciona ao carrinho de compras


2. [OUT] O sistema exibe a lista de produtos no carrinho.
3. [OUT] O sistema exibe o valor total.
4. [IN] O Cliente informa o CEP.
5. [OUT] O Sistema o valor do frete e adiciona no valor total.
6. [IN] O cliente finaliza o carrinho de compras.

Variante 2a: Remover produto


2a.1 [IN] O Cliente remove um produto da lista.
retorna ao passo 2.

Variante 2b: Carrinho Vazio


2b.1 [IN] O Cliente não seleciona o produto.
2b.2 [OUT] O sistema exibe carrinho vazio.
retorna ao passo 1.

Variante 6a: O Cliente continua a pesquisar


6a.1 [IN] O Cliente seleciona novo produto.
retorna ao passo 2.

Exceção 4a: CEP inválido


4a.1 [OUT] Sistema informa que o CEP é inválido.
retorna ao passo 4.
Fonte: Autoria Própria

Na tabela acima podemos ver um típico caso de uso expandido que foi desenvolvido
para plataforma Livre Oferta. Todos os casos de uso expandido seguiram o mesmo padrão,
tendo a informação de entrada informada pelo cliente e representada pela sigla [IN],
recebendo uma resposta do sistema dado a esta ação, representado pela sigla [OUT]. Como
parte fundamental para compreender os passos do cliente, também é retratado na tabela as
variantes, que representam uma variação em um determinado passo que é considerado o mais
comum.
Com a finalização dos casos de usos, deu-se início construção dos diagramas de
sequência do sistema. Um diagrama de sequência descreve a maneira como os grupos de
objetos colaboram em algum comportamento ao longo do tempo. Ele registra o
comportamento de um único caso de uso e exibe os objetos e as mensagens passadas entre
esses objetos no caso de uso. Em síntese: o Diagrama de Sequência é uma das ferramentas
UML usadas para representar interações entre objetos de um cenário, realizadas através de
operações ou métodos (procedimentos ou funções). Este diagrama é construído a partir do
Diagrama de Casos de Usos.
23

Figura 11: Diagrama de Sequência - Efetuar Pagamento.

Fonte: Autoria própria.

A figura acima representa a ação de um cliente ao realizar um pagamento de um


determinado produto, o sistema realiza todas operações e efetua o retorno para o pagamento
em aberto.
Com o diagrama de sequência finalizado, reúne-se todos artefatos que foram
construídos para a elaboração da modelagem conceitual. O modelo conceitual deve descrever
a informação que o sistema vai gerenciar. Trata-se de um artefato do domínio do problema e
não do domínio da solução. Portanto, o modelo conceitual não deve ser confundido com a
arquitetura do software (representada no DCP, ou diagrama de classes de projeto) porque esta,
embora inicialmente derivada do modelo conceitual, pertence ao domínio da solução e,
portanto, serve a um objetivo diferente. O modelo conceitual também não deve ser
confundido com o modelo de dados, pois o modelo de dados enfatiza a representação e a
organização dos dados armazenados, enquanto o modelo conceitual visa a representar a
compreensão da informação e não a sua representação física. Assim, um modelo de dados
relacional é apenas uma possível representação física de um modelo conceitual mais
essencial.

Figura 12: Diagrama Modelagem Conceitual.


24

Fonte: Autoria própria

Após a modelagem conceitual finalizada, a plataforma Livre Oferta teve toda sua
documentação finalizada, dando condições para iniciar a codificação de forma totalmente
segura e com possíveis falhas de projeto prevenidas. Adentrando ao desenvolvimento e
seguindo toda documentação, o primeiro passo a ser dado foi a construção do banco de dados
com o auxílio do sistema gerenciador de banco de dados (SGBD) Mysql (APENDICE B).

2.2 SISTEMA FINANCEIRO

Para possibilitar transações financeiras dentro da plataforma Livre Oferta de maneira


totalmente segura, adotou-se o sistema financeiro Moip que permite integrar a plataforma
Livre Oferta ao pagamento do comprador, facilitando assim o uso do sistema. A Moip é um
dos sistemas de pagamentos mais populares no Brasil, cujo sua nacionalidade é Brasileira mas
recentemente foi adquirida pela empresa alemã Wirecard Company. Atualmente a Moip está
presente em mais de trezentos mil lojas virtuais no Brasil e Exterior.
Para adotar o sistema de pagamento Moip, foi realizado uma comparação entre os
25

principais sistemas de pagamento online do Brasil (Tabela 8), que são eles: Pagseguro,
Paypal, Mercado Pago e Moip.

Tabela 8: Comparação entre sistemas de pagamentos.


TAXA – Pagamento a TAXA – Pagamento Total de Dias Para
Vista. Parcelado. Liberar o Pagamento.
Moip 4,5% 1% sobre a parcela 14 dias
Pagseguro 3,99% 1% sobre a parcela 30 dias
PayPal 3,50% 2,39% sobre a parcela 30 dias
Mercado Livre 4,99% 2,76% sobre a parcela 30 dias

Após a comparação entre os sistemas de pagãmente, optou-se por adotar a plataforma Moip,
pelo fato de já ter um suporte aos marketplaces, além de ter o menor tempo de liberação de
pagamento e uma baixa taxa sobre o valor parcelado.
A primeira ligação entre a plataforma desenvolvida e o sistema de pagamento ocorre
ao realizar o cadastro na Livre Oferta, o vendedor automaticamente terá sua conta financeira
(Carteira Virtual) gerado junto ao Moip, que posteriormente deverá informar seus dados
bancários e efetuar o saque de seus ganhos em até 14 dias correntes.
Para aumentar a segurança das transações a API Moip trabalha com o conceito de
criptografia ponta-a-ponta. Isto é, os dados sensíveis de cartão de crédito são criptografados
nas aplicações clientes (browser, apps) e somente são descriptografados nos servidores do
Moip. Além disso, a Moip utiliza a arquitetura RestFull para se comunicar com a plataforma
Livre Oferta, criando uma linha direta e segura, tanto na criação da conta do cliente quando na
realização de vendas. .
Uma das vantagens deste sistema de pagamento é que têm a soluções ao que se refere
Marketplace, incluindo um rigoroso serviço anti-fraude, dando total suporte ao vendedor para
poder retirar os seus lucros, além de atuar como mediador caso o cliente queira ressarcir o
dinheiro.
O produto desenvolvido atuará como uma plataforma semi-embarcada em relação ao
sistema Moip de pagamentos (Tabela 9), isso significa que algumas funções serão utilizadas
dentro da plataforma como gerar o painel financeiro do vendedor, permitir o reembolso,
dentro outros, já outras funções a princípio não serão integradas a Livre Oferta, como salvar
dados financeiros e permitir o saque de seus ganhos dentro da plataforma, dentre outros.

Tabela 9: Sistema semi-embarcado, a função da Livre Oferta e Moip.


26

LIVRE OFERTA MOIP

Gerar Boleto. Transferir dinheiro para conta


Pagamento via cartão. Reconciliação de Reembolso
Fazer Reembolso Suporte ao cliente
Consultar Vendas Armazenar dados financeiros.
Cadastro Financeiro
Cadastro de Clientes

Fonte: Autoria própria.

A forma de pagamento Moip desenvolveu-se de maneira simples e ágil. Quando o


cliente realiza um pagamento seja via cartão ou boleto, ocorre algumas etapas até que o
dinheiro chegue de fato ao vendedor (Figura 13). A primeira etapa é realiza uma análise para
verificar se não existe qualquer tipo de fraude ou se de fato o pagamento foi realizado, essa
etapa é feita pela operadora do cartão ou banco responsável pelo boleto, posteriormente a
analise, a Moip faz uma nova verificação com o intuito de validar as informações recebidas e
após este passo finalmente o dinheiro pode chegar ao vendedor ou simplesmente a compra é
cancelada.

Figura 13: Fluxograma de Pagamento.

Fonte: Moip.
27

3. PRODUTO DESENVOLVIDO

Nesta secção apresentaremos as partes principais do produto desenvolvido, bem como trechos
de códigos que se tornaram essencial em nossa aplicação. .
Assim que o usuário acessar nossa aplicação a primeira coisa que conseguirá
visualizar será a tela inicial da plataforma, tanto na versão destinada a web quando para
dispositivos Android (Figura 14). A tela inicial traz consigo a exibição de alguns produtos em
destaque, produtos separados em categorias, bem como frases visíveis para quem estiver
navegando possa comprar ou vender os seus produtos dentro plataforma. A pagina inicial
empregou técnicas eficientes de UI e UX design muito utilizada por outros marketplaces,
essas técnicas foram adotadas após a análise de trabalhos correlatos, uma das técnicas é a
estruturação do layout de forma intuitiva, permitindo ter acesso rápido a pesquisa e as
políticas da plataforma, além da diversificação de produtos no qual é muito difundido no
comercio eletrônico, cujo o objetivo é fazer o consumidor pensar em comprar produtos além
do que ele estava imaginando a princípio quando acessou o sistema.

Figura 14: Tela inicial plataforma Livre Oferta.


28

Fonte: Autoria própria.

Após a pagina inicial, caso o usuário queira comprar ou vender na plataforma terá que
obrigatoriamente criar sua conta em nosso sistema. No processo de criação de uma nova
conta, o usuário poderá optar por comprar na plataforma ou vender dentro da plataforma os
seus produtos, para tal processo ocorrer, basta selecionar uma das duas opções (Figura 15). Se
o usuário optar por ser vendedor também terá sua carteira financeira criada junto ao sistema
financeiro Moip, ao qual permitirá receber os lucros de suas vendas realizadas através da
plataforma.

Figura 15: Tela para criar uma conta de vendedor ou cliente.

Fonte: Autoria própria.

Partindo para codificação relacionado ao cadastro de um novo usuário, fez-se


necessário criar dois tipos de códigos utilizando a linguagem de programação PHP, um
código é destinado a usuário que deseja vender na plataforma (Figura 16) e o outro e feito
para quem pretende apenas realizar compras de produtos (Figura 17). Essa distinção é
29

importante, pois na codificação temos que especificar quem terá a carteira financeira gerada
junto a plataforma Moip.

Figura 16: Codificação para criação de um novo vendedor.

Fonte: Moip

Na codificação acima (Figura 16) referência a criação de um novo vendedor na


plataforma. Isso ocorre principalmente no “setType(‘MERCHANT’)” onde é definido que o
novo usuário é um vendedor e com isso automaticamente é criado a carteira virtual. Após a
criação do vendedor a plataforma financeira Moip retornar a identificação do mesmo e
também retorna um link ao qual o vendedor poderá redefinir sua senha financeira, criando
assim uma total segurança cujo nem a nossa plataforma terá acesso a senha.

Figura 17: Codificação criação de conta para consumidor.


30

Fonte: Autoria própria.

Após efetuar o cadastro, os usuários poderão fazer o login em suas contas utilizando o
seu e-mail e senha. O Vendedor e o consumidor terão contas com o visual semelhante, mas
com funcionalidades totalmente distintas.
Na conta do vendedor (Figura 18), poderá cadastrar os seus produtos, visualizar o
estoque, colocar o código de rastreio nas vendas realizadas, responder pergunta dos clientes,
visualizar avaliações recebidas, realizar campanha digital e por fim ter acesso ao seu painel
financeiro.

Figura 18: Conta padrão do vendedor.


31

Fonte: Autoria própria.

Por outro lado, o cliente consumidor terá uma conta mais simples do que o vendedor,
empregando bem menos funcionalidades (Figura 19). O cliente consumidor poderá
acompanhar suas compras realizadas, visualizar as perguntas realizadas, atualizar o seu
endereço bem como seus dados, avaliar o vendedor e por fim terá acesso a cartilha de direito
ao consumidor disponibilizado pela entidade máxima no comercio eletrônico brasileiro a
eCommerce Brasil.

Figura 19: Conta padrão do consumidor.

Fonte: Autoria própria.

Deixando um pouco a parte de gerenciamento de contas do lado e entrando na parte


prática de uma compra, o primeiro passo para que isso ocorra é acessando um determinado
produto.
Cada produto em nossa plataforma tem sua própria tela de exibição (Figura 20), a
partir desta tela, o usuário poderá visualizar imagens do produto, ler a descrição, calcular o
valor do fret, sanar suas dúvidas com o vendedor, além de propriamente realizar sua compra.
32

Figura 20: Tela de produtos.

Fonte: Autoria própria.

Ainda na página de produto, é possível o cliente sanar suas dúvidas referente ao produto
bastando apenas preencher um campo e enviar sua pergunta (Figura 21).

Figura 21: Enviar dúvida sobre o produto ao vendedor.

Fonte: Autoria própria.

Após acessar o produto, para o cliente efetuar uma compra o processo é bastante
simples, bastando apenas informar o cep e clicar no botão comprar. Após clicar no botão a
33

plataforma verifica se o usuário está logrando em sua conta, caso não esteja o sistema irá
pedir que o mesmo faça o login ou crie uma conta. Após isso, o sistema irá apresentar ao
cliente 4 breves passos para que ele consiga fazer sua compra com total segurança. O primeiro
passo é visualizar o seu carrinho de compras, o segundo passo é verificar o endereço de
entrega, o terceiro passo é escolher o método de pagamento e realizar o pagamento e o quarto
passo é receber o aviso de que a compra foi realizada com sucesso ou não.
O primeiro passo é visualizar o carrinho de compra, através desta etapa o
usuário pode adicionar maiores quantidade de produtos ou remover produtos, bem como tem
acesso a lista de todos os produtos que estão sendo comprado, além de saber o valor exato do
frete (Figura 22).

Figura 22: Enviar dúvida sobre o produto ao vendedor.

Fonte: Autoria própria.

Após o cliente visualizar os produtos em seu carrinho de compra, basta ele clicar em
próximo passo, para ir para tela de confirmar o endereço de entrega do produto (Figura 23)
34

Figura 23: Confirmar endereço de entrega.

Com endereço de entrega confirmado, resta ao usuário escolher o meio de pagamento


(Boleto ou Cartão). Ao clicar no meio de pagamento, se for boleto aparecerá o botão para
gerar o boleto, e caso seja cartão aparecerá os campos para o cliente digitar os dados
financeiros para efetuar a compra (Figura 24).

Figura 24: Efetuar pagamento


35

Fonte: Autoria própria.

Adentrando a parte estrutural do pagamento ao que se refere código fonte, temos algo
bem sucinto e objetivo (Figura 25).

Figura 25: Código fonte efetuar pagamento

Fonte: Autoria própria.

No código fonte acima temos a chamada para criação do pedido de compra, ao qual
consiste em pegar o id do cliente, adicionar os produtos que estavam no carrinho de compra e
36

atrelar tudo isso a um vendedor. Quando tudo isso ocorrer, o sistema recebe um ID do pedido
via requisição JSON, ao qual adiciona esse ID do pedido juntamente aos dados financeiros
fornecidos pelo cliente (Figura 26).

Figura 26: Código fonte efetuar pagamento

Fonte: Autoria própria.

No código fonte acima (Figura 26) é onde ocorre de fato o pagamento para o
vendedor. A variável $customer recebe o Id do pedido de compra criado. Neste código uma
das questões mais importantes é o ‘setCreditCard’, essa operação consegue pegar os dados do
cartão inserido, além de pegar o valor do pedido e posteriormente a função ‘execute’ acaba
finalizando a compra.

Deixando a parte estrutural de lado, após preencher todos os dados corretamente e


clicar no botão pagar, a compra estará finalizada, se tudo estiver correto o sistema informará
ao cliente que a compra foi bem-sucedida (Figura 27) e informará ao vendedor que tem que
enviar um novo produto.
37

Figura 27: Compra Finalizada

Fonte: Autoria própria.

Com a venda realizada, o sistema avisa o vendedor que possui uma nova venda e
necessita de enviar o código de rastreio. Quando o vendedor envia o produto ao cliente, o
sistema notifica a mesma via plataforma e e-Mail.

Figura 28: Notificação de produto despachado via e-mail.

4. TECNOLOGIAS UTILIZADAS

Para construção desta plataforma foram utilizadas as tecnologias voltadas a área web e
desenvolvimento Android. No construção web, as tecnologias empregadas na fase de back-
38

end foram: Linguagem de programação PHP, banco de dados Mysql, Arquitetura Resfull e
MVC. Já na etapa de front-end utilizou se as tecnologias Html5, Css3, Jquery. Além do uso
de Frameworks Laravel e Bootstrap.
Adotou-se IDE de desenvolvimento PHPStorm para a construção de todo os códigos
do projeto. Para dispositivos móveis utilizou a linguagem de programação Java e a Ide de
desenvolvimento Android Studio que serão detalhados abaixo.
Na parte estrutural do projeto, adotou-se o Laravel, um framework PHP livre e de
código aberto, especialmente criado para o desenvolvimento de sistemas web e que segue o
padrão MVC (model, view, controller). Algumas características proeminentes do Laravel são:
sua sintaxe simples e concisa, um sistema modular com gerenciador de dependências
dedicado, várias formas de acesso a banco de dados relacionais e vários utilitários
indispensáveis no auxílio ao desenvolvimento e manutenção de sistemas.
Atualmente Laravel tem uma enorme comunidade, que faz com que ele sofra
melhorias constantes, e possui excelente sistema de segurança, já que sua arquitetura é toda
baseada no MVC e graças a isso todos dados transitados dentro da plataforma Livre Oferta
são automaticamente criptografados, impedindo assim acesso externo aos dados trocados.
Na questão do desenvolvimento do projeto em sí, empregou-se uma das mais
populares linguagem de programação atualmente, o PHP em sua versão 7.0. Optou-se por
adotar essa linguagem pelo fato de ser orientado a objetos, sintaxe simples além de ser
interpretada com isso, torna-se multiplataformas. Por meio do PHP todas funções da Livre
Oferta foram desenvolvidas, como por exemplo, cadastro do vendedor, cliente, enviar
notificações, dentro dezenas de outras funções.
Para armazenar todos os dados gerados pela plataforma, decidiu-se pelo sistema de
gerenciamento de banco de dados (SGBD) Mysql em sua versão 5.7. O Mysql utiliza a
linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language).
Alguns dos fatores determinantes na escolha deste SGBD foram: Atualmente é o mais
utilizado no mundo, possui portabilidade (suporta praticamente qualquer plataforma atual),
excelente desempenho e estabilidade, pouco exigente quanto a recursos de novos hardware,
facilidade no manuseio, além de ser um Software Livre com base na GP.
No intuito da plataforma Livre Oferta ter maior segurança e organização, adotou a
arquitetura de software Model-view-controller (MVC), em português modelo-visão-
controlador, que é um padrão de arquitetura de software que separa a representação da
informação da interação do usuário com ele. O modelo (model) consiste nos dados da
aplicação, regras de negócios, lógica e funções. Uma visão (view) pode ser qualquer saída de
39

representação dos dados, como uma tabela de produtos. É possível ter várias visões do mesmo
dado, como um gráfico de barras para gerenciamento e uma visão tabular para contadores. O
controlador (controller) faz a mediação da entrada, convertendo-a em comandos para o
modelo ou visão. As ideias centrais por trás do MVC são a reusabilidade de código e
separação de conceitos.
Para maior segurança na troca de dados financeiros foram utilizado a arquitetura
RestFull. A Representational State Transfer (REST), em português Transferência de Estado
Representacional, é uma abstração da arquitetura da World Wide Web, mais precisamente, é
um estilo arquitetural. REST ignora os detalhes da implementação de componente e a sintaxe
de protocolo com o objetivo de focar nos papéis dos componentes, nas restrições sobre sua
interação com outros componentes e na sua interpretação de elementos de dados significantes.
Na etapa do desenvolvimento visual do projeto conhecida como front-end, adotou-se
a linguagem de marcação HTML5 e CSS3. O HTML 5 é uma linguagem de estruturação e
apresentação de conteúdos para world wide web (www) e também é a quinta versão do
HTML, no qual trouxe melhorias significativas que foram amplamente utilizadas neste
projeto, como a semântica e acessibilidade aos usuários.
Já o CSS3 tem a finalidade de complementar o HTML de maneira geral , onde se
define estilos para páginas web com efeitos de transição, imagem, e outros, que dão um estilo
novo às páginas Web 2.0 em todos os aspectos de design do layout. A principal função do
CSS3 é abolir as imagens de plano de fundo, bordas arredondadas, apresentar transições e
efeitos para criar animações de vários tipos. Isso se deve aos novos browsers que estão
chegando, com suporte à essa linguagem, como o Google Chrome, Opera, Internet Explorer 9,
Safari e Mozilla Firefox. Assim, o CSS3 ajuda a deixar o design mais harmonioso da
plataforma Livre Oferta.
Para desenvolver principalmente os slides e algumas funções para transporte de dados,
utilizou-se a biblioteca javascript conhecida como Jquery. O Jquery interage de forma direta
com o HTML, principalmente em suas versões 4 e 5. Além disso, o Jquery é uma biblioteca
de código aberto que apresenta uma proposta de redução e reutilização de código
principalmente em relação ao Javascript nativo, trabalha com AJAX e tem total
compatibilidade com o css3.
Na parte estrutural do layout da plataforma adotou-se a framework Bootstrap, que
consiste de uma série de estilos LESS que implementam os vários componentes do kit de
ferramentas além de ser totalmente modular.
40

Por fim, todos estes conjuntos de tecnologias permitiu que a plataforma Livre Oferta
pudesse ser desenvolvida.
.

5. CONSIDERAÇÕES FINAIS

O objetivo deste trabalho foi desenvolver uma plataforma marketplace cujo permita
que terceiros comercialize os seus produtos e receba o valor integral, ao qual este objetivo foi
atingido com sucesso.
Além disso, a plataforma buscou amenizar os problemas apontados no início desta
pesquisa, dentre esses problemas foram permitir a comercialização de produtos novos/usados
com pouca restrição de carga para todo Brasil, além de que qualquer pessoa possa ter sua
conta criada na plataforma e apta para efetuar compra ou venda sem nenhuma burocracia.
Por fim, esta pesquisa alcançou os objetivos propostos.

6. TRABALHOS FUTUROS

Para trabalhos futuros, pretende-se transformar a Plataforma desenvolvida em algo


comercial, para isso será necessário a substituição de seu nome, ao qual passará de Livre
Oferta para Oferta Total, essa mudança de nome é essencial pelo fato que todos os principais
domínios web (www.nomedosite.com.br) referenciando a Livre Oferta já estão registrados por
terceiros.
Diante disso, também pretende-se melhorar o sistema de envio, incorporando novas
transportadoras que consiga atender todo Brasil, já que as transportadoras iniciais atuam
apenas na cidade de Jataí e algumas outras cidades no estado de Goiás.
Pretende-se aprimorar o sistema de criação de loja virtual, deixando-o mais intuitivo e
com novas opções de templates.
Devido ao curto tempo de programação, não foi possível aplicar todas as técnicas de
UI e UX design, deixando algumas partes visuais do sistema não totalmente adequado aos
padrões de cores, fontes, dentre outros. Por esse motivo o layout da plataforma passará por
uma total revisão a fim de efetuar modificações no mesmo.
Outa melhoria essencial na plataforma será destinada ao seu sistema de marketing
digital, cujo se encontra em fase ALFA. Atualmente o marketing digital se integra ao sistema
41

Facebook Ads, porém a plataforma não consegue acompanhar de forma efetiva o marketing
gerado.

REFERÊNCIAS

ALBERTIN, Luiz Alberto. Comércio Eletrônico. 5. Ed.- São Paulo: Atlas, 2004

ALLEN, Jesmond; CHUDLEY, James. Smashing UX Design: Foundations for Designing


Online User. London: Smashing Magazine, 2012.

Bissi, W. (jan/jun de 2007). SCRUM - METODOLOGIA DE DESENVOLVIMENTO


ÁGIL.Fonte:GrupoIntegrado:<http://revista.grupointegrado.br/revista/index.php/campodigital
/article/viewFile/312/146>

Borges,Bruno. O QUE É MARKETPLACE?. Curitiba, [2016]. Disponível em:


<https://www.jn2.com.br/blog/o-que-e-marketplace//>. Acesso em: 23 jun. 2017.

Caplow, T;McGee,R.J. B. The Academic Marketplace.Basic Books,Inc.New York, 1958.

E-BIT. Lucro Ecommerce ano de 2001. Ecommerce, São Paulo, v. 1, n. 1, p.1-25, 14 out.
2009.

ECOMMERCE BRASIL. E-commerce em 2012: o e-marketplace global ganha espaço.


2012. Disponível em: <https://www.ecommercebrasil.com.br/artigos/e-commerce-em-2012-
o-e-marketplace-global-ganha-espaco/>. Acesso em: 25 nov. 2017

ERPFLEX. Entenda Como Funciona Um Marketplace. São Paulo, 2017. Disponível em:
<https://www.erpflex.com.br/blog/marketplace>. Acesso em: 25 out. 2017.

FUOCO, Taís. Guia Valor Econômico de Comércio Eletrônico. 1. Ed – São Paulo: O


Globo, 2013.

GERHARDT, Tatiana Engel; SILVEIRA, Denise Tolfo. Métodos de Pesquisa. Porto Alegre:
Ufrgs, 2009.

GIL, Antonio Carlos. Como elaborar projetos de pesquisa. 4. ed. São Paulo: Atlas, 2008.

GLOBAL ENTREPRENEURSHIP MONITOR (GEM). Estudo da atividade


empreendedora no âmbito mundial. São Paulo, 2016. Disponível em:
<http://datasebrae.com.br/documentos2/pesquisas/GEM - Global Entrepreneurship
Monitor/Apresentacao GEM 2015_PPT_COMPLETO.pdf>. Acesso em: 10 ago. 2017.

GODOY, Arllda Schmidt. INTRODUÇÃO À PESQUISA QUALITATIVA E SUAS


POSSIBILIDADES. 2. ed. São Paulo: Revista de Administração de Empresas, 1995. 1 p. v.
35. Disponível em: <http://www.scielo.br/pdf/rae/v35n2/a08v35n2.pdf>. Acesso em: 01 ago.
2017.

GUIMARÃES, Sidnei. Pesquisa qualitativa versus Pesquisa quantitativa. São Paulo: Ead,
2017.
42

Instituto Brasileiro de Geografia e Estatística (IBGE) -


<ftp://ftp.ibge.gov.br/Trabalho_e_Rendimento/Pesquisa_Nacional_por_Amostra_de_Domicil
ios_continua/Renda_domiciliar_per_capita/Renda_domiciliar_per_capita_2016.pdf> -
Consulta realizada em 02/07/2017>

IVO, Diego. A crise do varejo tradicional, a ascensão do comércio eletrônico. São Paulo:
Conversion, 2016. Disponível em: <https://www.conversion.com.br/blog/a-crise-do-varejo-
tradicional-a-ascensao-do-comercio-eletronico/>. Acesso em: 09 nov. 2017.

JUNIOR, Vanderlei Freitas et al. A pesquisa científica e tecnológica. [S.l.]: Revista


Espacios, 2014. 35 p. Disponível em:
<http://www.academia.edu/download/40325241/Artigo_-_Espacios_-
_Pesquisa_cientifica_e_pesquisa_tecnologica.pdf>. Acesso em: 01 ago. 2017.

JUNG, Carlos Fernando. Tipos de pesquisa. In: ______. Elaboração de artigos científicos.
2003. Disponível em: <www.jung.pro.br>. Acesso em: 01 ago. 2017.

MEDEIROS, Higor . Introdução ao Padrão MVC. Disponível em:


<http://www.devmedia.com.br/introducao-ao-padrao-mvc/29308>. Acesso em: 16 jul. 2017.

NEXTLAYER.. MARKETPLACE – A EVOLUÇÃO DO E-COMMERCE! São Paulo,


[2017]. Disponível em: <https://nexlayer.net/marketplace-evolucao-e-commerce/>. Acesso
em: 23 jul. 2017.

PASA, Gabriel. E-Commerce Para Varejo. Disponível em: <


http://www.administradores.com.br/artigos/academico/e-commerce-para-varejo/98972/>. >.
Acesso em: 01 ago. 2017.

SAPAGE DA CANHOTA JUNIOR, Antonio Jorge et al. Engenharia Reversa. 1. ed. Rio de
Janeiro: Universidade Federal Fluminense, 2005. 7 p.

SEBRAE MINAS GERAIS (Minas Gerais). Marketplaces atuais são ideais para iniciar no
comércio eletrônico. Belo Horizonte: Sebrae, 2016. Disponível em:
<https://sebrae.ms/empreendedorismo/marketplace-vendas-na-internet/>. Acesso em: 19 out.
2016.

SHUJA, Ahmad K.; KREBS, Jochen. IBM Rational Unified Process Reference and
Certification Guide: Solution Designer. New York: Ibm Press, 2008.

SILVA, Belle. E-commerce, setor em ascensão no Brasil. 2015. Disponível em:


<https://www.ecommercebrasil.com.br/artigos/e-commerce-setor-em-ascensao-no-brasil/>.
Acesso em: 10 dez. 2017.

SKYHUB (Brasil). Principais Marketplaces no Brasil. 2017. Disponível em:


<https://skyhub.com.br/2017/07/21/lista-de-marketplaces-do-brasil/>. Acesso em: 12 nov.
2017.
VERGARA, Sylvia Constant. Terminando o projeto de pesquisa. In: VERGARA, Sylvia
Constant. Projetos e relatórios de pesquisa em administração. 10. Ed. São Paulo: Atlas,
2009. Cap. 5, p. 51-68.
43

WAZLAWICK, Raul Sidnei. Análise e Projetos de Sistemas de Informação Orientados a


Objetos. 2. ed. Rio de Janeiro: Campus, 2012.
44

APÊNDICE A – DOCUMENTAÇÃO DO SOFTWARE

METODOLOGIA IRUP
IBM Rational Unified Process (IRUP)
(Processo Racional Unificado)

LIVRE OFERTA:
Plataforma marketplace que viabiliza transações comerciais utilizando
tecnologias web-mobile.

Jataí, Novembro de 201


45

Introdução ao IBM Processo Racional Unificado


O RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational),
é um processo proprietário de Engenharia de software criado pela Rational Software
Corporation, adquirida pela IBM, ganhando um novo nome IRUP que agora é uma abreviação
de IBM Rational Unified Process e tornando-se uma brand na área de Software, fornecendo
técnicas a serem seguidas pelos membros da equipe de desenvolvimento de software com o
objetivo de aumentar a sua produtividade no processo de desenvolvimento.
O RUP usa a abordagem da orientação a objetos em sua concepção e é projetado e
documentado utilizando a notação UML (Unified Modeling Language) para ilustrar os
processos em ação. Utiliza técnicas e práticas aprovadas comercialmente. RUP é, por si só,
um produto de software. É modular e automatizado, e toda a sua metodologia é apoiada por
diversas ferramentas de desenvolvimento integradas e vendidas pela IBM através de seus
"Rational Suites"

Imagem 1: Processos para construção do software utilizando a metodologia IRUP.


46

Visão Geral do Sistema


Plataforma Livre Oferta

A Livre Oferta será uma plataforma marketplace que possibilitará qualquer pessoa ou
empresa comercializar os seus produtos / serviços a todo Brasil. A proposta da plataforma é
ser construída de tal maneira que permita até mesmo os leigos em tecnologia consiga vender
ou comprar produtos sem nenhuma dificuldade. Inicialmente a plataforma foi projetada em
sua versão web e para dispositivo android. Algumas funcionalidades da plataforma irá se
diferenciar de outras plataformas semelhantes, como: O primeiro diferencial da plataforma
corresponde na hora do cadastro de usuário. Se o novo usuário optar por ser um vendedor,
este usuário além de poder vender dentro da plataforma Livre Oferta, também terá sua loja
virtual criada automaticamente e com domínio próprio, podendo até optar por dominios
personalizados (.com, .com.br...). O Intuito da criação da loja virtual é dar maior visibilidade
ao vendedor na internet, já que automaticamente sua loja será indexada aos buscadores
(Google, Bing, Yahoo...), além disso a Loja Virtual já virá pré-configurada, bastando o
vendedor selecionar um dos mais de 20 templates de lojas virtuais disponíveis e informar
dados básicos de seu empreendimento, após estes passos a loja do vendedor estará online.
Com isto pode-se personalizar a loja como bem entender já que muitas partes são editáveis.
Todos produtos postados na plataforma já estará associado a loja virtual do vendedor. Além
da plataforma permitir o envio de mercadorias via correios, a plataforma possibilitará que os
vendedores enviem seus produtos via transportadora. O Objetivo disto é sanar um grave
problema que se tem em alguns marketplaces, como enviar produtos grandes (Geladeira,
Móveis, etc..), no qual os correios não realiza esta atividade.Além de comercializar na
plataforma, a Livre Oferta oferecerá as ferramentas necessárias para que os vendedores
consiga atingir seu público alvo, através do Marketing Digital. Dentro da plataforma o
vendedor poderá criar sua campanha digital de maneira bem simples, apenas selecionando
a(s) cidade(s) ou estado(s) e informando o valor total a ser gasto, com base nisso a plataforma
irá apresentar ao vendedor a quantidade de público que pode ser alcançado, em quais redes
sociais irá ocorrer o marketing, além da duração da campanha e quantidade de postagens
semanais. De maneira simples e com um baixo custo o vendedor alcançará seu público com
um trabalho profissional. Interação direta entre cliente e vendedor. A plataforma irá permitir a
47

comunicação direta entre cliente e vendedor sem nenhuma restrição, além de permitir criar
anúncios especiais para o cliente em conversa.

Diagrama de Atividades
Para melhor compreensão do funcionamento da plataforma, será criado modelos das
atividades de negócio. Os diagramas de atividades podem ser usados para representar
processos em nível organizacional, uma forma muito mais ampla do que a mera visão de
requisitos de um sistema informatizado.

1 Cadastro de Usuário

Diagrama Cadastro de Usuário: Representa fluxo que cada novo usuário irá percorrer ao se
cadastrar na plataforma.
48

2 Fluxo de Compra

Diagrama de Compra: Fluxo de interação entre cliente, sistema e getway de pagamento. No


qual o cliente seleciona um produto ou mais produto e efetua a compra, o sistema informa o
valor total, o cliente seleciona o meio de pagamento e confirma, após estes passos o getway
de pagamento verifica a validade dos dados financeiro informado pelo cliente, após isso
sinaliza ao sistema que o pagamento foi aprovado, por fim a compra é realizada.
49

3 Perguntas e Respostas

Diagrama de Pergunta e Respostas: Demonstra o fluxo no qual o cliente irá selecionar um


determinado produto e enviar uma dúvida do mesmo ao vendedor. Após este passo o sistema
deve registrar a pergunta e informar ao vendedor sobre a dúvida pendente, o vendedor
responde a dúvida solicitada, após isso o sistema registra a resposta e informa o cliente que
sua dúvida foi respondida.
50

Levantamento Preliminar de Requisitos (LPR)


Descrição Narrativa

Nesta etapa visa compreender os passos que os usuários (consumidor e vendedor) é o


sistema irá percorrer:
Do usuário (Cliente):

Ao entrar na página inicial da plataforma, se o usuário não possuir uma conta basta
clicar em cadastrar-se, caso tenha uma conta basta clicar em entrar em minha conta.
Ao clicar em cadastrar-se, será redirecionado para página de cadastro, no qual terá que
preencher um formulário contendo os seguintes atributos: Nome, Email, Senha, e selecionar a
opção ‘Desejo: Comprar/Vender’, o usuário selecionará a opção ‘Comprar’. Após preencher
todos os dados, será clicado/tocado no botão ‘Cadastrar’.
Após realizar o cadastro na plataforma, o usuário será redirecionado para página
inicial, com o status ‘Logado no Sistema’. Com este status o usuário poderá optar por realizar
uma compra ou acessar o painel de controle.
Se o usuário optar por acessar o painel de controle, ao entrar no painel, encontrará as
seguintes opções: Meus Dados, Minhas Compras, Perguntas Realizadas, Endereço de Entrega,
Favoritos, Alterar Senha e Direito do Consumidor.
• Meus Dados: Nesta parte irá conter os dados do usuário a ser completado após seu
cadastro. Terá um formulário contendo nome,telefone,idade,sexo,cpf/cnpj,endereço
(Rua,Bairro,Cep,Número). Observações: Se o consumidor na hora de efetuar uma
compra não estiver com os dados principais como endereço/cpf preenchido, será
emitido um alerta.
• Minhas Compras: Nesta parte mostrará todas as compras realizadas pelo usuário,
exibindo o produto (imagem, nome, valor), dados do vendedor (Nome,E-
mail,Telefone), e a forma de compra (a vista, ou parcelado, se parcelado exibir em
quantas vezes), além do status de entrega do produto, ‘Em Trânsito/ Entregue’
• Perguntas Realizadas: Nesta parte irá exibir todas perguntas que o usuário efetuou ao
vendedor junto com suas respostas. Nessa etapa as perguntas serão dividas em duas
categorias: Respondidas e Não Respondidas.
• Endereço de Entrega: Este endereço será o mesmo endereço que será cadastrado na
categoria ‘Meus Dados’, porém será exibido no painel de controle de forma separada
para melhor entendimento dos usuários, principalmente os leigos.
51

• Favoritos: Nesta parte terá uma lista de produtos que o usuário marcou como favorito,
contendo nome do produto, valor, imagem e nome do vendedor..
• Alterar Senha: Nesta parte terá um formulário onde o usuário informará sua nova
senha.
• Direito do Consumidor: Neste parte será exibido um texto com os direitos do
consumidor com base na legislação brasileira do e-commerce.
Se o usuário optar por efetuar uma compra, na página inicial da plataforma o
consumidor já terá diversas opções de produtos, seja pelo slideshow, produtos em destaque e
por meio das categorias, caso ainda não encontre o produto desejado, o usuário poderá optar
por fazer uma pesquisa na plataforma através de sua barra de pesquisa.
Após o produto desejado for encontrado, o usuário irá clicar em cima da imagem ou
nome do produto, após essa ação o usuário será redirecionado a página do produto solicitado,
nesta página terá todas informações sobre o produto (Nome, Descrição,Valor e Imagens) e
avaliação a respeito da qualidade do vendedor. Na página do produto o usuário poderá realiza
as seguintes ações:
• Calcular Frete: Com base no CEP informado e quantidade do produto, será
informado ao usuário o valor do frete é o tempo médio de entrega.
• Enviar Mensagem ao Vendedor: O usuário poderá preencher um campo e enviar
sua dúvida sobre o produto para o vendedor.
• Efetuar Compra do Produto: O usuário terá que clicar no botão comprar e será
redirecionado para página de efetuar pagamento. Nesta página irá escolher a forma de
pagamento e confirmar o endereço de entrega, produto e frete, após tudo revisado o
usuário irá clicar no botão finalizar
Após a compra o usuário receberá o código de rastreio de seu produto. Assim que o
produto chegar até o local de destino, o usuário avaliará o vendedor com base na mercadoria
que lhe foi entregue.
Do usuário (Vendedor):

Ao entrar na página inicial da plataforma, se o usuário não possuir uma conta basta
clicar em cadastrar-se, caso tenha uma conta basta clicar em entrar em minha conta.
Ao clicar em cadastrar-se, será redirecionado para página de cadastro, no qual terá que
preencher um formulário contendo os seguintes atributos: Nome, Email, Senha, e selecionar a
opção ‘Desejo: Comprar/Vender’, o usuário selecionará a opção ‘Vender’. Após preencher
todos os dados, será clicado/tocado no botão ‘Cadastrar’.
52

Após realizar o cadastro na plataforma, o usuário será redirecionado para o painel de


controle. Ao acessar o painel, o usuário terá as seguintes opções: Meus Dados, Meus
Produtos, Vendas em Aberto, Perguntas Recebidas, Minha Loja Virtual, Avaliações,
Marketing Digital e Direito do Consumidor.
• Meus Dados: Nesta parte irá conter os dados do usuário a ser completado após seu
cadastro. Terá um formulário contendo nome,telefone,idade,sexo, cpf/cnpj, endereço
(Rua,Bairro,Cep,Número).
• Meus Produtos: Nessa parte o vendedor poderá cadastrar, alterar e excluir seus
produtos além de conferir todo o estoque. No cadastro de produtos, basta clicar em
‘Cadastrar produtos’ e preencher o formulário que terá as seguintes informações:
Nome, Categoria, Valor, Status (Novo ou Usado), Quantidade, Peso Aproximado,
Descrição e Imagens. Após cadastrar o produto, o vendedor terá acesso a lista de
produtos cadastrados, contendo a imagem, nome, valor, quantidade vendida e
quantidade em estoque, além das opções de editar e excluir.
• Vendas em Aberto: Nesta parte aparecerá os produtos que foram comprados do
vendedor e que aguarda o código de rastreio. Assim que o vendedor despachar o
produto, ele terá que adicionar o código de rastreio na venda que está em aguardo.
Para adicionar o código de rastreio bastará apenas clicar em cima da venda e aparecerá
um campo texto no qual o vendedor informará o código de rastreio, após isso deve-se
clicar em enviar, com essa ação o comprador será alertado sobre sua compra já está
em trânsito.
• Perguntas Recebidas: Nesta parte será exibido todas mensagens que o vendedor
recebeu a respeito de dúvidas sobre seus produtos comercializados, separadas por
categorias (respondidas e não respondidas). O Vendedor irá clicar em cima da
mensagem que não foi respondida, abrirá um campo texto onde poderá redigir sua
resposta ao possível cliente e clicar no botão enviar, sanando a dúvida a respeito de
seu produto.
• Minha Loja Virtual: Quando o usuário clicar nesta opção, em seu primeiro acesso
terá que preencher um formulário contendo o nome e domínio de sua loja virtual, além
de escolher o template de sua loja baseado nas categorias que aparecerá. Após
escolher o template que melhor enquadra ao seu negócio basta clicar em finalizar.
Após finalizar o primeiro cadastro, aparecerá as ações que podem ser realizadas,
como: Categorias (Criar novas Categorias), Adicionar Logo Marca, Adicionar
53

Imagens ao Slide, Visualizar Produtos, Visualizar Loja Virtual. Os produtos


cadastrados na loja virtual será os mesmos cadastrados na plataforma.
• Avaliações: Nesta parte o vendedor poderá visualizar todas avaliações que recebeu de
seus compradores.
• Marketing Digital: Nesta opção o vendedor poderá criar sua própria campanha de
marketing digital que engloba Facebook,Instagram e Google. Nesta etapa terá que
preencher um formulário que conterá: Cidade(s)/Estado(s) que deseja fazer a
campanha, além do valor a ser gasto. Com base nestes dados será apresentado ao
vendedor os dados de quantas pessoas será alcançada, quais mídias sociais se tornará
viável, além da quantidade de postagens semanal em suas mídias sociais. Todo o
marketing será feito com base nos produtos postados na plataforma.
• Direito do Consumidor: Neste parte será exibido um texto com os direitos do
consumidor com base na legislação brasileira do e-commerce.

Requisitos do Sistema
A etapa de levantamento de requisitos corresponde a buscar todas as informações possíveis
sobre as unções que o sistema deve executar e as restrições sobre as quais o sistema deve
operar. O produto dessa etapa será o documento de requisitos, principal componente do
anteprojeto de software.

LIVRE OFERTA - DOCUMENTOS DE REQUISITOS

Requisitos Funcionais

1. Permitir o cadastro de novos usuários que possam ser cliente ou vendedor.


2. Permitir o cadastro de produtos para venda.
3. Permitir a criação de lojas virtuais.
4. Permitir o cadastro de transportadoras
5. Permitir elaboração de promoções
6. Permitir compra de produtos.
7. Possibilitar sanar dúvidas com o vendedor.
8. Possibilitar avaliar o vendedor.
9. Possibilitar adicionar itens ao carrinho de compras.
10. Possibilitar salvar os produtos em favoritos
11. Possibilitar a criação de campanha digital.
12. Emitir relatório de venda.
13. Emitir relatório de estoque.
14. Emitir relatório de perguntas
54

15. Emitir relatório de avaliações


16. Emitir relatório de compras.

Requisitos Suplementares
1. Operar via interface web.
2. Operar em sistema operacional Android em sua versão maior ou igual 4.0

Requisitos Expandidos

1 - Permitir o cadastro de novos usuários que possam ser cliente ou vendedor.

Descrição:
O usuário que pretende comprar ou vender, irá se dirigir até a tela de cadastro, no qual irá
preencher os dados solicitados e clicar em cadastrar. Após essa ação o usuário já estará
devidamente cadastrado cabendo a ele apenas a completar os seus dados adicionais. Ou se o
usuário preferir basta logar com sua conta do Google ou Facebook.

Informação de Entrada:
O Usuário terá que informar seu nome, email, senha e se quer vender ou comprar. Após isso
terá que informar os dados adicionais, como telefone, sexo, idade, endereço e cpf/cnpj (para
receber ou emitir notas fiscais).

Informação de Saída:
• Dados Cadastrais.

Restrições Lógicas:
Não Há.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.
55

2 - Permitir o cadastro de produtos para venda

Descrição:
O Vendedor irá cadastrar os produtos a ser comercializados. Após o cadastro do mesmo já
estará disponível para venda.

Informação de Entrada:
O Vendedor terá que informar o nome do produto, descrição, categoria, valor, peso
aproximado, além de cadastrar as imagens referente ao produto.

Informação de Saída:
• Dados do Produto.

Restrições Lógicas:
Deve-se ser ter um conta de usuário

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

3 - Permitir a criação de lojas virtuais.

Descrição:
Ao realizar o cadastro o vendedor poderá montar sua loja virtual com domínio próprio. O
Objetivo desta loja é dar maior visibilidade ao negócio no mundo virtual.

Informação de Entrada:
O Vendedor terá que informar o nome da sua loja, uma breve descrição, além de sua
categoria/template e imagens como logomarca e banner.

Informação de Saída:
• Dados do E-commerce.

Restrições Lógicas:
Deve-se ser ter um conta de vendedor

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.
56

4 - Permitir o cadastro de transportadoras

Descrição:
Para maior comodidade e agilidade, a plataforma irá permitir o cadastro de novas
transportadoras, o cadastro será feito a partir da solicitação de algum vendedor. Tal requisito
permite que a plataforma não fique apenas com o sistema dos correios.

Informação de Entrada:
O Vendedor terá que informar apenas o nome e dados da transportadora, posteriormente se
aprovado, todos os dados referente a mesma será adicionada ao sistema, bem como tabela de
valores e código de rastreio.

Informação de Saída:
• Dados da Transportadora

Restrições Lógicas:
Deve-se ser ter um conta de vendedor

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

5 - Permitir elaboração de promoções

Descrição:
Para maior diversidade da plataforma o vendedor poderá colocar os seus produtos em
destaques como ‘promoção’ para atrair um número maior de clientes.

Informação de Entrada:
Para elaborar a promoção o vendedor deverá selecionar o produto e informar o novo valor ou
não.

Informação de Saída:
• Dados da Promoção

Restrições Lógicas:
Deve-se ser ter um conta de vendedor

Restrições Tecnológicas:
2. Deve-se ter conexão com internet de no mínimo 175 kbps.

6 - Permitir compra de produtos.


57

Descrição:
O usuário irá selecionar o produto que deseja comprar, escolher a quantidade, conferir o valor
e realizar o pagamento do mesmo.

Informação de Entrada:
O Usuário seleciona quantidade, cor (se houver), tamanho (se houver), endereço e
posteriormente informar os meios de pagamentos.

Informação de Saída:
• Dados da compra

Restrições Lógicas:
Deve-se ser ter um conta de usuário.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

7 - Possibilitar sanar dúvidas com o vendedor.

Descrição:
O Cliente irá sanar suas dúvidas a respeito de algum determinado produto com o vendedor do
mesmo.

Informação de Entrada:
O usuário enviará uma mensagem.

Informação de Saída:
• Mensagem Enviada

Restrições Lógicas:
Deve-se ser ter um conta de usuário.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

8 - Possibilitar avaliar o vendedor.

Descrição:
Após efetuar a compra e receber o produto, o cliente avalia o vendedor com nota 1 a 5
Informação de Entrada:
O Cliente seleciona o produto e informa a nota
58

Informação de Saída:
• Nota enviada

Restrições Lógicas:
Deve-se ter um conta de usuário.
Deve-se ter confirmado o recebimento do produto

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

9 - Possibilitar adicionar itens ao carrinho de compras.

Descrição:
Nesta parte o cliente selecionará o produto e adicionar ao seu carrinho de compra.

Informação de Entrada:
Selecionar produto e quantidade.

Informação de Saída:
• Lista de Produtos (Nome)
• Quantidade
• Valores

Restrições Lógicas:
Deve-se ter um conta de usuário.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

10 - Possibilitar salvar os produtos em favoritos

Descrição:
O Cliente seleciona o produto e armazena o mesmo em seus favoritos.

Informação de Entrada:
Seleciona o produto a ser salvo.

Informação de Saída:
• Lista de Produtos (Nome)
• Quantidade
• Valores

Restrições Lógicas:
59

Deve-se ter um conta de usuário.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

11- Possibilitar a criação de campanha digital.

Descrição:
O Vendedor irá criar uma campanha digital para divulgar nas cidades ou estado escolhida
pelo mesmo.

Informação de Entrada:
O Vendedor irá informar o nome da campanha, cidades de atuação, público alvo e valor a ser
gasto.

Informação de Saída:
• Público a ser alcançado.
• Tempo de Publicidade
• Redes Sociais a ser utilizadas

Restrições Lógicas:
Deve-se ter um conta de vendedor.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

12- Emitir relatório de venda.

Descrição:
O Vendedor poderá ter acesso ao relatório de suas vendas.

Informação de Entrada:
Não há

Informação de Saída:
• Nome dos produtos vendidos
• Valor
• Quantidade
• Dados do Cliente
• Data de Compra
• Data de Envio
• Código de Rastreio

Restrições Lógicas:
60

Deve-se ter um conta de vendedor.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

13- Emitir relatório de estoque.

Descrição:
O Vendedor terá acesso ao estoque de seus produtos.

Informação de Entrada:
Não há.

Informação de Saída:
• Lista de Produtos (nome).
• Quantidade em Estoque.
• Valor.

Restrições Lógicas:
Deve-se ter um conta de vendedor.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

14- Emitir relatório de perguntas.

Descrição:
O Vendedor terá acesso a todas perguntas recebidas.

Informação de Entrada:
Não há.

Informação de Saída:
• Lista de Perguntas.
• Nome do Cliente

Restrições Lógicas:
Deve-se ter uma conta de cliente.
Deve-se ter um conta de vendedor.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.
61

15- Emitir relatório de avaliações

Descrição:
O Vendedor/Usuário terá acesso a todas avaliações Realizada/Recebidas.

Informação de Entrada:
Não há.

Informação de Saída:
• Lista de Perguntas.
• Nome do Cliente

Restrições Lógicas:
Deve-se ter uma conta de cliente.
Deve-se ter uma conta de vendedor.

Restrições Tecnológicas:
1. Deve-se ter conexão com internet de no mínimo 175 kbps.

16- Emitir relatório de compras

Descrição:
O Cliente visualiza suas últimas compras realizadas.

Informação de Entrada:
Não há.

Informação de Saída:
• Lista de Perguntas.
• Nome do Cliente

Restrições Lógicas:
Deve-se ter uma conta de cliente.
Deve-se ter uma conta de vendedor.

Restrições Tecnológicas:
2. Deve-se ter conexão com internet de no mínimo 175 kbps.
62

Caso de Usos - Alto Nível


Uma vez que os requisitos tenham sido levantados, cabe agora organizá-los em grupos
correlacionados, de forma a abordá-los nos ciclos iterativos. Essa organização ocorre na fase
de concepção do IRUP. Os casos de uso devem cobrir as principais atividades de negócio
ligadas ao sistema que será desenvolvido. O objetivo de listar os casos de uso é levantar
informações sobre como o sistema interage com possíveis usuários e quais consultas e
transforma-ções da informação são necessárias para que processos completos de inte-ração
sejam executados. É, portanto, uma forma de sistematizar e organizar os requisitos.

1 - Diagrama Caso de Uso : Efetuar Compra


63

2- Diagrama Caso de Uso : Carrinho de Compras

3- Diagrama Caso de Uso : Carrinho de Compras


64

4- Diagrama Caso de Uso : Efetuar Pesquisa

5- Diagrama Caso de Uso : Avaliar Vendedor


65

6-
Diagrama Caso de Uso : Venda
66

Realizada

7- Diagrama Caso de Uso : Cadastro de Produto


67

8- Diagrama Caso de Uso : Loja Virtual


68

9- Diagrama Caso de Uso :Marketing Digital


69

Caso de Uso Expandido


Quando se está expandindo um caso de uso de análise, deve-se proceder a um exame
detalhado do processo envolvido. Deve-se descrever o caso de uso passo a passo: como ele
ocorre e como é a interação entre os atores e o sistema. Deve-se evitar mencionar interfaces
ou tecnologia, mas apenas dizer quais informações os atores passam ao sistema e quais
informações o sistema passa aos atores.

Siglas:

[IN] = Input (Entrada de Dados).


[OUT] = Output (Saída de Dados).
Caso de Uso: Efetuar Compra

1. [IN] O cliente informa sua identificação.


2. [OUT] O sistema informa os produtos disponíveis para venda.
3. [IN] O cliente escolhe o produto que deseja comprar.
4. [OUT] O sistema informa o valor, quantidade disponível do produto e endereço de
entrega.
1. Variante: Guardar no Carrinho
5. [IN] O Cliente informa a quantidade de produto e confirma o endereço de entrega.
6. [OUT] O Sistema informa o valor do frete e total geral, bem como formas de
pagamento.
7. [IN] Cliente seleciona a forma de pagamento.
8. [OUT] Operadora autoriza o pagamento.
9. [OUT] Sistema informa prazo para entrega do produto.

Variante 4.1: Guardar no carrinho


4.1.1 [IN] Cliente salva o produto no carrinho de compras.
4.1.2 [OUT] Sistema exibe a lista de produtos no carrinho de compras.

Exceção 1a: Cliente não cadastrado


1a.1 Cliente informa seu nome,email e senha.
Avança ao passo 2.

Exceção 5a: Endereço consta como inválido


5a.1 [IN] O Cliente atualiza o endereço
Retorna ao passo 5.

Exceção 5b: Quantidade de produto


5b.1 [IN] O Cliente informa quantidade de produtos superior em estoque.
5b.2 [OUT] Sistema emite aviso.
Retorna ao passo 5.

Exceção 8a: Operadora não autoriza o pagamento


8a.1 [OUT] O Sistema apresenta novas formas de pagamento.
Retornar ao passo 7.
70

Caso de Uso: Carrinho de Compras

1. [IN] O Cliente seleciona o produto e adiciona ao carrinho de compras


2. [OUT] O sistema exibe a lista de produtos no carrinho.
3. [OUT] O sistema exibe o valor total.
4. [IN] O Cliente informa o CEP.
5. [OUT] O Sistema o valor do frete e adiciona no valor total.
6. [IN] O cliente finaliza o carrinho de compras.

Variante 2a: Remover produto


2a.1 [IN] O Cliente remove um produto da lista.
retorna ao passo 2.

Variante 2b: Carrinho Vazio


2b.1 [IN] O Cliente não seleciona o produto.
2b.2 [OUT] O sistema exibe carrinho vazio.
retorna ao passo 1.

Variante 6a: O Cliente continua a pesquisar


6a.1 [IN] O Cliente seleciona novo produto.
retorna ao passo 2.

Exceção 4a: CEP inválido


4a.1 [OUT] Sistema informa que o CEP é inválido.
retorna ao passo 4.

Caso de Uso: Sanar Dúvidas

1. [IN] O Cliente Seleciona o Produto.


2. [IN] O Cliente envia sua dúvida sobre o produto ao vendedor.
3. [OUT] Sistema notifica o vendedor sobre a dúvida.
4. [IN] O vendedor responde a dúvida.
5. [OUT] O sistema notifica o cliente sobre sua dúvida sanada.

Variante 4a: Vendedor não responde a dúvida


4a.1 [OUT] O sistema reduz a nota do vendedor.
4a.2 [OUT] O sistema indica um novo vendedor ao cliente.

Exceção 2a: Mensagem em branco.


2a.1: O sistema alerta o usuário que a mensagem está vazia.
retorna ao passo 2.
71

Caso de Uso: Efetuar Pesquisa

1. [IN] O cliente informa o nome do produto.


2. [OUT] Sistema retorna a lista de produtos disponíveis.

Variante 1a: Pesquisa por categoria


1a.1 [IN] O Cliente seleciona a categoria.
Avança ao passo 2.

Exceção 1a: Pesquisa em branco.


1a.1 [OUT] Sistema não efetua a pesquisa.
retorna ao passo 1.

Exceção 2a: Pesquisa não encontrou resultado.


2a.1 [OUT] Sistema retorna produtos similares.
retorna ao passo 2.

Caso de Uso: Avaliar Vendedor

1. [IN] O cliente seleciona o produto recebido.


2. [IN] O cliente atribui uma nota ao vendedor.
3. [OUT] O sistema notifica o cliente que a avaliação foi entregue.
4. [OUT] O Sistema notifica o vendedor sobre avaliação recebida.
5. [IN] O vendedor comenta a avaliação recebida.

Variante 1a: O Produto não foi entregue


1a.1 [OUT] O sistema notifica o cliente que o produto ainda não foi entregue.
Retorna ao passo 1.

Exceção 5a: O Vendedor não comenta a avaliação


5a.1 [OUT] Sistema deixa o campo em branco.

Caso de Uso: Venda Realizada

1. [OUT] O sistema informa que o pagamento foi autorizado.


2. [IN] O vendedor seleciona o produto liberado.
3. [OUT] O sistema informa o endereço de entrega do cliente.
4. [OUT] O sistema informa dados pessoais do cliente.
5. [OUT] O sistema informa as observações do cliente a cerca do produto.
6. [IN] O vendedor fornece o código de rastreio.
7. [OUT] O sistema informa o cliente sobre a movimentação de seu produto.

Variante 6a: Envio por transportadora


72

6a.1 [IN] O vendedor informar o nome da transportadora.


6a.2 [IN] O vendedor informar o link de rastreio da transportadora.
6a.3 [IN] O vendedor informar o código de rastreio.
avança ao passo 7.

Caso de Uso: Cadastrar Produto

1. [IN] O vendedor adiciona nome do produto.


2. [IN] O vendedor adiciona descrição do produto.
3. [IN] O vendedor informa quantidade em estoque.
4. [IN] O vendedor informa o peso aproximado do produto.
5. [IN] O vendedor seleciona a categoria do produto.
6. [IN] O vendedor informa o valor do produto.
7. [IN] O vendedor adiciona imagens do produto.
8. [OUT] O sistema emite opções de realizar promoção ao produto.
9. [IN] O vendedor finaliza o cadastro.

Variante 2a: Opções na descrição


2a.1 [IN] Vendedor opta por descrição personalizada.
avança ao passo 3.

Exceção 1a: O Vendedor não adiciona o nome do produto.


1a.1 [OUT] Sistema emite alerta de nome vazio.
retorna ao passo 1.

Exceção 2a: O Vendedor não adiciona a descrição do produto


2a.1 [OUT] Sistema emite alerta de descrição vazio.
retorna ao passo 2.

Exceção 3a: O Vendedor não informa quantidade em estoque.


3a.1 [OUT] Sistema emite alerta de quantidade em estoque vazio.
retorna ao passo 2.

Exceção 4a: O Vendedor não informa peso aproximado do produto


4a.1 [OUT] Sistema emite alerta de peso aproximado vazio.
retorna ao passo 4.

Exceção 5a: O Vendedor não seleciona a categoria do produto


5a.1 [OUT] Sistema emite alerta de categoria não selecionada.
retorna ao passo 5.

Exceção 6a: O Vendedor não informa o valor do produto


6a.1 [OUT] Sistema emite alerta de valor do produto vazio.
retorna ao passo 6.
Exceção 7a: O Vendedor não adiciona imagens ao produto
7a.1 [OUT] Sistema emite alerta que não consta imagens.
73

Caso de Uso: Loja Virtual

1. [IN] O vendedor informa o nome de sua loja.


2. [IN] O vendedor informa o dominio de sua loja.
3. [IN] O Vendedor informa a categoria de sua loja.
4. [IN] O Vendedor seleciona o template para sua loja.
5. [IN] O Vendedor adiciona logomarca a sua loja.
6. [IN] O Vendedor adiciona banner a sua loja.
7. [OUT] Sistema emite alerta de criação da loja virtual

Variante 2a: Domínio Personalizado


2a.1 [IN] Vendedor informa interesse em domínio personalizado.
2a.2 [IN] Vendedor informa o nome do domínio.
2a.3 [OUT] Sistema confirma dóminio.
2a.4 [OUT] Sistema apresenta formas de pagamento.
2a.5 [IN] Vendedor seleciona a forma de pagamento.
2a.6 [OUT] Sistema confima pagamento.
avança passo 3.

Exceção 1a: Nome vazio


1a.1 [OUT] Sistema emite alerta de nome vazio.
retorna ao passo 1.

Exceção 2a: Domínio Vazio


2a.1 [OUT] Sistema emite alerta de domínio vazio.
retorna ao passo 2.

Exceção 2b: Domínio existente


2b.1 [OUT] Sistema informa que domínio já existe.
retorna ao passo 2.

Exceção 3a: Categoria não selecionada


3a.1 [OUT] Sistema informa que categoria não foi selecionada.
retorna ao passo 3.

Exceção 4a: Template não selecionado


4a.1 [OUT] Sistema informa que o template não foi selecionado
retorna ao passo 4.

Exceção 5a: Logomarca não adicionada.


5a.1 [OUT] Sistema informa que a logomarca não foram adicionada.
retorna ao passo 5.

Caso de Uso: Marketing Digital

1. [IN] O vendedor informa a região de atuação


2. [IN] O vendedor informa o seu público alvo.
3. [IN] O vendedor informa o total a ser gasto.
74

4. [IN] O vendedor adiciona suas observações.


5. [OUT] O sistema informa a quantidade de pessoa na região.
6. [OUT] O sistema informa as redes sociais de atuação.
7. [OUT] O sistema informa a quantidade de postagem semanal e duração.
8. [OUT] O sistema informa os meios de pagamentos.
9. [IN] Vendedor efetua o pagamento.
10. [OUT] Sistema confirma o pagamento e inicia a campanha.

Variante 1a: Região de Atuação


1a.1 [IN] O Vendedor seleciona diversos estados.
Avança ao passo 2.

Variante 9a: Pagamento não autorizado


9a.1 [OUT] Operadora não aprova pagamento
retorna passo 8.

Exceção 1a: Região de atuação vazio.


1a.1 [OUT] Sistema emite alerta região de atuação vazio.
retorna ao passo 1.

Exceção 2a: Público alvo em vazio.


2a.1 [OUT] Sistema emite alerta público alvo vazio.
retorna ao passo 2.

Exceção 3a: Total a ser gasto vazio


3a.1 [OUT] Sistema emite alerta total a ser gasto vazio
retorna ao passo 3.

Diagramas de Sequência de Sistema


75

Modelagem Conceitual

O modelo conceitual deve descrever a informação que o sistema vai gerenciar. Trata-se de um
artefato do domínio do problema e não do domínio da solução. Portanto, o modelo conceitual
não deve ser confundido com a arquitetura do software (representada no DCP, ou diagrama de
classes de projeto) porque esta, embora inicialmente derivada do modelo conceitual, pertence
ao domínio da solução e, portanto, serve a um objetivo diferente.O modelo conceitual também
não deve ser confundido com o modelo de dados , pois o modelo de dados enfatiza a
representação e a organização dos dados armazenados, enquanto o modelo conceitual visa a
representar a compreensão da informação e não a sua representação física. Assim, um modelo
de dados relacional é apenas uma possível representação física de um modelo conceitual mais
essencial.
76

APÊNDICE B – BANCO DE DADOS


Representação Gráfica:
77

Códificação:

-- ----------------------------------------------------- -- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS -- Table `mydb`.`categorias`
`mydb`.`usuarios` ( -- -----------------------------------------------------
`id` INT NOT NULL AUTO_INCREMENT, CREATE TABLE IF NOT EXISTS
`nome` VARCHAR(45) NULL, `mydb`.`categorias` (
`email` VARCHAR(45) NULL, `id` INT NOT NULL,
`senha` VARCHAR(45) NULL, `nome` VARCHAR(100) NULL,
`cpf` VARCHAR(11) NULL, PRIMARY KEY (`id`))
`cnpj` VARCHAR(25) NULL, ENGINE = InnoDB;
`tipoConta` VARCHAR(45) NULL,
`dtCadastro` VARCHAR(45) NULL, -- -----------------------------------------------------
PRIMARY KEY (`id`)) -- Table `mydb`.`produtos`
ENGINE = InnoDB; -- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS
-- ----------------------------------------------------- `mydb`.`produtos` (
-- Table `mydb`.`enderecos` `id` INT NOT NULL,
-- ----------------------------------------------------- `id_vendedores` INT NOT NULL,
CREATE TABLE IF NOT EXISTS `id_categorias` INT NULL,
`mydb`.`enderecos` ( `nome` VARCHAR(45) NULL,
`id` INT NOT NULL, `valor` FLOAT NULL,
`id_usuarios` INT NOT NULL, `status` VARCHAR(45) NULL,
`rua` VARCHAR(45) NULL, `quantidade` INT NULL,
`bairro` VARCHAR(45) NULL, `peso` DOUBLE NULL,
`numero` INT(11) NULL, `descricao` VARCHAR(6000) NULL,
`cep` VARCHAR(45) NULL, `dtCadastro` VARCHAR(45) NULL,
`cidade` VARCHAR(45) NULL, PRIMARY KEY (`id`),
`estado` VARCHAR(45) NULL, INDEX `id_categorias_fk_idx` (`id_categorias`
`complementos` VARCHAR(500) NULL, ASC),
PRIMARY KEY (`id`), CONSTRAINT `id_categorias_fk`
INDEX `id_usuarios_fk_idx` (`id_usuarios` FOREIGN KEY (`id_categorias`)
ASC), REFERENCES `mydb`.`categorias` (`id`)
CONSTRAINT `id_usuarios_fk` ON DELETE NO ACTION
FOREIGN KEY (`id_usuarios`) ON UPDATE NO ACTION)
REFERENCES `mydb`.`usuarios` (`id`) ENGINE = InnoDB;
ON DELETE CASCADE
ON UPDATE CASCADE) -- -----------------------------------------------------
ENGINE = InnoDB; -- Table `mydb`.`imagens`
-- ----------------------------------------------------- -- -----------------------------------------------------
-- Table `mydb`.`telefones` CREATE TABLE IF NOT EXISTS
-- ----------------------------------------------------- `mydb`.`imagens` (
CREATE TABLE IF NOT EXISTS `id` INT NOT NULL,
`mydb`.`telefones` ( `id_produtos` INT NOT NULL,
`id` INT NOT NULL, `nome` VARCHAR(300) NULL,
`id_usuarios` INT NOT NULL, PRIMARY KEY (`id`),
`ddd` VARCHAR(3) NULL, INDEX `id_produtos_fk_idx` (`id_produtos`
`numero` VARCHAR(12) NULL, ASC),
PRIMARY KEY (`id`), CONSTRAINT `id_produtos_fk`
INDEX `id_usuarios_fk_idx` (`id_usuarios` FOREIGN KEY (`id_produtos`)
ASC), REFERENCES `mydb`.`produtos` (`id`)
CONSTRAINT `id_usuarios_fk` ON DELETE NO ACTION
FOREIGN KEY (`id_usuarios`) ON UPDATE NO ACTION)
REFERENCES `mydb`.`usuarios` (`id`) ENGINE = InnoDB;
78

ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB; -- -----------------------------------------------------
-- Table `mydb`.`meus_carrinhos`
-- ----------------------------------------------------- -- -----------------------------------------------------
-- Table `mydb`.`compras_vendas_realizadas` CREATE TABLE IF NOT EXISTS
-- ----------------------------------------------------- `mydb`.`meus_carrinhos` (
CREATE TABLE IF NOT EXISTS `id` INT NOT NULL,
`mydb`.`compras_vendas_realizadas` ( `id_consumidores` INT NOT NULL,
`id` INT NOT NULL, `id_produtos` INT NOT NULL,
`id_carrinho` INT NOT NULL, `quantidade` INT NULL,
`codigo_rastreio` VARCHAR(45) NULL, `valor` FLOAT NULL,
`status` VARCHAR(45) NULL, PRIMARY KEY (`id`),
`dtCadastro` VARCHAR(45) NULL, INDEX `id_produtos_fk_idx` (`id_produtos`
PRIMARY KEY (`id`, `id_carrinho`), ASC),
INDEX `idCarrinho_idx` (`id_carrinho` ASC), INDEX `IdConsumidores_idx`
CONSTRAINT `idCarrinho` (`id_consumidores` ASC),
FOREIGN KEY (`id_carrinho`) CONSTRAINT `id_produtos_fk`
REFERENCES `mydb`.`meus_carrinhos` FOREIGN KEY (`id_produtos`)
(`id`) REFERENCES `mydb`.`produtos` (`id`)
ON DELETE NO ACTION ON DELETE NO ACTION
ON UPDATE NO ACTION) ON UPDATE NO ACTION,
ENGINE = InnoDB; CONSTRAINT `IdConsumidores`
FOREIGN KEY (`id_consumidores`)
REFERENCES `mydb`.`usuarios` (`id`)
-- ----------------------------------------------------- ON DELETE NO ACTION
-- Table `mydb`.`perguntas_realizadas` ON UPDATE NO ACTION)
-- ----------------------------------------------------- ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS
`mydb`.`perguntas_realizadas` ( -- -----------------------------------------------------
`id` INT NOT NULL, -- Table `mydb`.`avaliacoes`
`id_vendedores` INT NOT NULL, -- -----------------------------------------------------
`id_consumidores` INT NULL, CREATE TABLE IF NOT EXISTS
`idProduto` INT NOT NULL, `mydb`.`avaliacoes` (
`descricao` VARCHAR(300) NULL, `id` INT NOT NULL,
`dtCadastro` VARCHAR(45) NULL, `id_consumidores` INT NOT NULL,
PRIMARY KEY (`id`, `idProduto`), `id_vendedores` INT NOT NULL,
INDEX `idVendedor_idx` (`id_vendedores` `id_produtos` INT NOT NULL,
ASC), `nota` INT NULL,
INDEX `idProduito` (`idProduto` ASC), `comentario` VARCHAR(500) NULL,
CONSTRAINT `idVendedor` PRIMARY KEY (`id`),
FOREIGN KEY (`id_vendedores`) INDEX `id_produtos_fk_idx` (`id_produtos`
REFERENCES `mydb`.`usuarios` (`id`) ASC),
ON DELETE NO ACTION CONSTRAINT `id_produtos_fk0`
ON UPDATE NO ACTION, FOREIGN KEY (`id_produtos`)
CONSTRAINT `idProduto` REFERENCES `mydb`.`produtos` (`id`)
FOREIGN KEY (`idProduto`) ON DELETE NO ACTION
REFERENCES `mydb`.`produtos` (`id`) ON UPDATE NO ACTION)
ON DELETE NO ACTION ENGINE = InnoDB;
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-----------------------------------------------------
-- Table `mydb`.`marketing_digital`
-- ----------------------------------------------------- -- -----------------------------------------------------
-- Table `mydb`.`lojas_virtuais` CREATE TABLE IF NOT EXISTS
79

-- ----------------------------------------------------- `mydb`.`marketing_digital` (
CREATE TABLE IF NOT EXISTS `id` INT NOT NULL,
`mydb`.`lojas_virtuais` ( `id_lojas_virtuais` INT NOT NULL,
`id` INT NOT NULL, `localidade` VARCHAR(45) NULL,
`id_vendedores` INT NOT NULL, `valor` FLOAT NULL,
`nome` VARCHAR(45) NOT NULL, PRIMARY KEY (`id`),
`descricao` VARCHAR(500) NULL, INDEX `id_lojas_virtuais_fk_idx`
`template` INT NOT NULL, (`id_lojas_virtuais` ASC),
`dominio` VARCHAR(45) NULL, CONSTRAINT `id_lojas_virtuais_fk`
PRIMARY KEY (`id`, `nome`), FOREIGN KEY (`id_lojas_virtuais`)
INDEX `idVendedor_idx` (`id_vendedores` REFERENCES `mydb`.`lojas_virtuais` (`id`)
ASC), ON DELETE NO ACTION
CONSTRAINT `idVendedor` ON UPDATE NO ACTION)
FOREIGN KEY (`id_vendedores`) ENGINE = InnoDB;
REFERENCES `mydb`.`usuarios` (`id`)
ON DELETE NO ACTION -- -----------------------------------------------------
ON UPDATE NO ACTION) -- Table `mydb`.`slides`
ENGINE = InnoDB; -- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS
`mydb`.`slides` (
-- ----------------------------------------------------- `id` INT NOT NULL,
-- Table `mydb`.`categorias_loja_virtual` `id_lojas_virtuais` INT NOT NULL,
-- ----------------------------------------------------- `nome` VARCHAR(300) NULL,
CREATE TABLE IF NOT EXISTS PRIMARY KEY (`id`),
`mydb`.`categorias_loja_virtual` ( INDEX `id_lojas_virtuais_fk_idx`
`id` INT NOT NULL, (`id_lojas_virtuais` ASC),
`id_lojas_virtuais` INT NOT NULL, CONSTRAINT `id_lojas_virtuais_fk`
`nome` VARCHAR(45) NULL, FOREIGN KEY (`id_lojas_virtuais`)
PRIMARY KEY (`id`), REFERENCES `mydb`.`lojas_virtuais` (`id`)
INDEX `id_lojas_virtuais_fk_idx` ON DELETE NO ACTION
(`id_lojas_virtuais` ASC), ON UPDATE NO ACTION)
CONSTRAINT `id_lojas_virtuais_fk` ENGINE = InnoDB;
FOREIGN KEY (`id_lojas_virtuais`)
REFERENCES `mydb`.`lojas_virtuais` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
80

ANEXO A – SISTEMA DE PAGAMENTO MOIP

Para início deve-se instalar o SDK da aplicação atráves do comando: composer require
moip/moip-sdk-php

A SDK PHP permite que você integre sua aplicação PHP às soluções de pagamento Moip da
maneira mais simples possível. Nesta wiki você encontrará exemplos e dicas de como usar os
recursos já disponíveis na versão atual da SDK.

Sobre a estrutura de API do Moip

As novas APIs do Moip foram implementadas com base na arquitetura RESTful. Para nomear
os recursos usamos nomes (Pedidos, Pagamentos, Clientes e outros) e suportamos diversas
chamadas HTTP verbs para cada recurso. Desta forma, o mesmo recurso, por exemplo,
v2/customers/ pode ser usado tanto para criar um novo Cliente, através do método POST,
quanto para consultar uma lista de clientes com o método GET. Esta API usa JSON como
media-type padrão. Usamos em toda nossa API o padrão UTF-8. Com o conceito de
hypermedia HATEOAS você pode usar as estruturas de links entre os recursos para
automatizar sua aplicação tornando ainda mais ágil a sua integração com as soluções de
pagamento Moip.

Configurando a autenticação da Plataforma Livre Oferta

require 'vendor/autoload.php';

use Moip\Moip;
use Moip\Auth\OAuth;

$access_token = '33031e2aad484051b89030487e59d133_v2';
$moip = new Moip(new OAuth($access_token), Moip::ENDPOINT_SANDBOX);
81

Conta Moip Classica (Vendedor):

Quando um vendedor possui uma conta Moip Clássica isso significa que ele pode se logar na
Conta Moip e gerenciar suas vendas no ambiente e dashboard do Moip. Entretanto, um
marketplace pode embarcar toda a experiência apresentada na Conta Moip em seu ambiente,
incluindo transferências bancárias, consulta de saldo, saques, reembolsos, etc. de acordo com
as permissões OAuth.
<?php

$account = $moip->accounts()
->setName('Fulano')
->setLastName('De Tal')
->setEmail('fulano@email2.com')
->setIdentityDocument($identity_document, $issuer, $issue_date)
->setBirthDate('1988-12-30')
->setTaxDocument('16262131000')
->setType('MERCHANT')
->setPhone($area_code, $phone_number, $country_code)
->addAlternativePhone(11, 66448899, 55)
->addAddress($street, $number, $district, $city, $state, $zip, $complement, $country)
->setTransparentAccount(true)
->setCompanyName('Empresa Teste', 'Teste Empresa ME')
->setCompanyOpeningDate('2011-01-01')
->setCompanyPhone(11, 66558899, 55)
->setCompanyTaxDocument('69086878000198')
->setCompanyAddress('Rua de teste 2', 123, 'Bairro Teste', 'Sao Paulo', 'SP', '01234567', 'Apt. 23',
'BRA')
->setCompanyMainActivity('82.91-1/00', 'Atividades de cobranças e informações cadastrais')
->create();

Consultar Conta Moip


Por meio desta API é possível consultar os dados de uma Conta Moip.

<?php

$account_id = 'MPA-8307EF11B83E';
$account = $moip->accounts()->get($account_id);
print_r($account);

Retorno de Consulta:
{ "email": { " },
"address": "dobxerg0a8@labs.moip.com.br", "login":
"id": "MPA-8307EF11B83E", "confirmed": false "dobxerg0a8@labs.moip.com.br",
"channelId": "APP-7KHGFTMYHGLO", }, "externalId": "MPA-
"type": "MERCHANT", "_links": { 8307EF11B83E"
"transparentAccount": false, "self": { }
"createdAt": "2015-10-29T16:53:25.957Z", "href":
"person": { "https://sandbox.moip.com.br/v2/accounts/MPA-
8307EF11B83E"
}

Criar conta do cliente

Cliente é o usuário de um serviço ou o comprador de uma loja virtual. Esta API permite a
criação e a consulta de um determinado cliente.
82

<?php

try {
$customer = $moip->customers()->setOwnId(uniqid())
->setFullname('João Silva')
->setEmail('joao@email.com')
->setBirthDate('1990-10-22')
->setTaxDocument('22288866644')
->setPhone(11, 55552266)
->addAddress('SHIPPING',
'Avenida Faria Lima', 500,
'Itaim Bibi', 'São Paulo', 'SP',
'01234000', 10)
->create();
} catch (Exception $e) {
printf($e->__toString());
}

Consultar Cliente

Por meio desta API é possível consultar as informações e detalhes de um cliente.

<?php

try {

$customer_id = 'CUS-87HFA3QCEKO7';
$customer = $moip->customers()->get($customer_id);
print_r($customer);
} catch (Exception $e) {
printf($e->__toString());

Retorno de Consulta:

{ "phone": { "street": "Avenida Faria Lima",


"ownId": "meu_id_customer", "countryCode": "55", "streetNumber": "500",
"fullname": "João Silva", "areaCode": "11", "zipCode": "01234000",
"email": "joao@email.com", "number": "55552266" "state": "SP",
"birthDate": "1990-10-22", }, "country": "BRA"
"taxDocument": { "shippingAddress": { }
"type": "CPF", "city": "São Paulo", }
"number": "22288866644" "complement": "10",
}, "district": "Itaim Bibi",
83

Criar Pedido de Compra

O Pedido é a representação da venda de um produto ou serviço. Esta API possibilita a criação,


consulta e listagem de pedidos. No exemplo abaixo criaremos um multi-pedido, a
implementação é bem parecida com a criação de um pedido normal.

A variável $moip no exemplo é um objeto do tipo Moip que garante a autenticação básica,
como você pode conferir na seção Como Começar.

Note que a grande diferença é que cada pedido deve ter um recebedor primário.

try {
$order = $moip->orders()->setOwnId(uniqid())
->addItem("bicicleta 1",1, "sku1", 10000)
->addItem("bicicleta 2",1, "sku2", 11000)
->addItem("bicicleta 3",1, "sku3", 12000)
->addItem("bicicleta 4",1, "sku4", 13000)
->setShippingAmount(3000)
->setAddition(1000)
->setDiscount(5000)
->setCustomer($customer)
->addReceiver('MPA-VB5OGTVPCI52', 'PRIMARY', NULL);
$order2 = $moip->orders()->setOwnId(uniqid())
->addItem("bicicleta 1",1, "sku1", 10000)
->addItem("bicicleta 2",1, "sku2", 11000)
->addItem("bicicleta 3",1, "sku3", 12000)
->setShippingAmount(3000)
->setAddition(1000)
->setDiscount(5000)
->setCustomer($customer)
->addReceiver('MPA-IFYRB1HBL73Z', 'PRIMARY', NULL);

$multiorder = $this->moip->multiorders()
->setOwnId(uniqid())
->addOrder($order)
->addOrder($order2)
->create();
print_r($multiorder);
} catch (Exception $e) {
printf($e->__toString());
}

Consultando um pedido

No exemplo abaixo retornaremos os dados de um pedido já criado, repare que passamos o id do


mesmo através da variável $order_id. A variável $moip no exemplo é um objeto do tipo Moip que
garante a autenticação básica, como você pode conferir na seção Como Começar.

try {
$order_id = '9999';
$order = $moip->orders()->get($order_id);
print_r($order);
} catch (Exception $e) {
printf($e->__toString()); }
84

Criando um multi-pagamento

A criação de um multi-pagamento é idêntica à criação de um pagamento comum, com a


diferença de que o objeto de pedido deve ser do tipo Multiorders e o método para criar um
multipagamento deve ser o multipayments. A variável $multiorder no exemplo é um objeto
do tipo Multiorders que é o multi-pedido para qual o multi-pagamento será adicionado, você
pode conferir como cadastrar um novo multi-pedido ou obter um multi-pedido já cadastrado
nas seções Criar um multi-pedido ou Consultar um multi-pedido.

Note que é preciso passar o cliente, no caso passamos através da variável $customer, no
exemplo ela é um objeto do tipo Customer, você pode conferir como cadastrar um novo
cliente ou obter um cliente já cadastrado nas seções Cadastro de clientes e Consultar um
cliente.

Pagamento via cartão de crédito

try {
$expiration_month = 12;
$expiration_year = 21;
$number_cc = '4073020000000002';
$cvc = '123';
$store_cc = true;
$payment = $multiorder->multipayments()
->setCreditCard($expiration_month, $expiration_year,$number_cc, $cvc, $customer,
$store_cc)
->setInstallmentCount(3)
->setStatementDescriptor('teste de pag')
->setDelayCapture(false)
->execute();
print_r($payment);
} catch (Exception $e) {
printf($e->__toString());
}

Pagamento via Boleto

No pagamento com boleto são enviados apenas 3 parâmetros: URL do logo que você deseja
que apareça, representada abaixo com a variável: $logo_uri; Data de vencimento,
representada pela variável $expiration_date; Linhas de instrução do boleto, são apenas 3
linhas. Representadas pela variável.

$instruction_lines, que é um array.


$logo_uri = 'https://cdn.moip.com.br/wp-content/uploads/2016/05/02163352/logo-moip.png';
$expiration_date = new DateTime();
$instruction_lines = ['INSTRUÇÃO 1', 'INSTRUÇÃO 2', 'INSTRUÇÃO 3'];
try {
$payment = $multiorder->multipayments()
->setBoleto($expiration_date, $logo_uri, $instruction_lines)
->execute();
print_r($payment);
} catch (Exception $e) {
printf($e->__toString());
}
85

Pagamento via Débito Online

No pagamento por débito online também são enviados apenas 3 parâmetros:

URL do logo que você deseja que apareça, representada abaixo com a variável: $return_uri;
Data de vencimento, representada pela variável $expiration_date;
Número do banco representado pela variável $bank_number.

try {
$bank_number = '001';
$return_uri = 'https://moip.com.br';
$expiration_date = new DateTime();
$payment = $multiorder->multipayments()
->setOnlineBankDebit($bank_number, $expiration_date, $return_uri)
->execute();
print_r($payment);
} catch (Exception $e) {
printf($e->__toString());
}

Reembolsando um pagamento ou pedido

É possível realizar reembolsos parciais e totais de pagamentos e pedidos com os métodos


disponíveis para cartão de crédito e conta bancária. Na SDK de PHP o que diferencia o
reembolso de um pedido ou pagamento é se a propriedade $order do objeto Refund é nulo ou
não, se não estiver nulo a API faz a requisição para o reembolso do pedido, do contrário faz
para o pagamento.

A variável $payment representa o objeto de pagamento que desejam fazer reembolso, para
recuperar um pagamento já adicionado consulte a seção de Consultar um pagamento.

Cartão de Crédito
Reembolso Parcial

Para fazer reembolsos parciais para cartão de crédito use o método creditCardPartial no objeto
Payment do pagamento que você deseja reembolsar. É necessário passar o valor do reembolso
para o método, aqui representado pela variável $amount.

try {
$amount = 30000;
$refund = $payment->refunds()->creditCardPartial($amount);
print_r($refund);
} catch (Exception $e) {
printf($e->__toString());
}

Reembolso Total
Para fazer reembolsos do valor total de pedidos e pagamentos para cartão de crédito use o método
creditCardFull no objeto Payment do pagamento que você deseja reembolsar.

try {
$refund = $payment->refunds()->creditCardFull();
print_r($refund); } catch (Exception $e) { printf($e->__toString());}
86

Conta Bancária

Para fazer reembolsos para contas bancárias é necessário passar nos parâmetros todos os dados da
conta, como: agência, número do banco, número da conta etc. Além de também ser necessário passar o
objeto Customer do cliente dono da conta.

Reembolso Parcial
Para fazer reembolsos parciais para contas bancárias use o método bankAccountPartial no objeto
Payment do pagamento que você deseja reembolsar. É necessário passar o valor do reembolso para o
método, aqui representado pela variável $amount.

try {
$amount = 30000;
$type = 'SAVING';
$bank_number = '001';
$agency_number = 4444444;
$agency_check_number = 2;
$account_number = 1234;
$account_check_number = 4;
$refund = $payment->refunds()
->bankAccountPartial($amount, $type, $bank_number, $agency_number,
$agency_check_number, $account_number, $account_check_number, $customer);
print_r($refund);
} catch (Exception $e) {
printf($e->__toString());
}

Reembolso Total
Para fazer reembolsos do valor total de pedidos e pagamentos para contas bancárias use o método
bankAccountFull no objeto Payment do pagamento que você deseja reembolsar.

try {
$type = 'CHECKING';
$bank_number = '001';
$agency_number = 4444444;
$agency_check_number = 2;
$account_number = 1234;
$account_check_number = 4;
$refund = $payment->refunds()
->bankAccountFull($type, $bank_number, $agency_number, $agency_check_number,
$account_number, $account_check_number, $customer);
print_r($refund);
} catch (Exception $e) {
printf($e->__toString());
}

Consultando lançamentos

No exemplo abaixo retornaremos os dados de lançamento, note que passamos o id da mesma


através da variável $entry_id.

A variável $moip no exemplo é um objeto do tipo Moip que garante a autenticação básica,
como você pode conferir na seção Como Começar.
87

try {
$entry_id = 'ENT-2OUENUXXZ942';
$entry = $moip->entries()->get($entry_id);
print_r($entry);
} catch (Exception $e) {
printf($e->__toString());
}

Você também pode gostar