Back-End

24 jul, 2018

Entenda como o SDK open source da B2W irá facilitar a integração entre aplicações PHP e marketplaces

Publicidade

O mundo tecnológico no qual vivemos exige cada vez mais agilidade na hora da criação de novas tecnologias e produtos inovadores do mercado. Quem trabalha na área da tecnologia e com desenvolvimento de softwares, principalmente, sabe exatamente do que estou falando.

Pensando nisso, a SkyHub, uma das principais empresas de integração entre lojistas e os diversos marketplaces do mercado, possui uma API para que haja a possibilidade de integrar as lojas a estes players, de forma fácil e rápida.

Hoje, se quiser fazer a incorporação ao serviço da SkyHub, é preciso desenvolver a integração de sua loja e/ou utilizar alguma que já exista para facilitar o processo. Dessa forma, são criadas várias integrações, por muitos desenvolvedores e, com isso, podem surgir inúmeros problemas, que podem não ser facilmente mapeados.

Pensando nesse cenário, o time do [B]Seller, em parceria direta com a SkyHub, criou um produto com a intenção de padronizar e melhorar a qualidade das integrações existentes entre todas as plataformas PHP do mercado que utilizam os serviços da SkyHub como porta para entrar nos mais diversos marketplaces. O produto apresentado aqui é um SDK construído em PHP.

Ele vai diminuir o tempo de desenvolvimento de qualquer projeto de integração, pois auxilia o desenvolvedor com a comunicação entre a aplicação do lojista (ou qualquer outro sistema em PHP) e a API da SkyHub para diversas operações. Outro benefício, além de padronizar a forma com a qual todas as aplicações devem se comunicar, é que o desenvolvedor não precisa se preocupar com a comunicação entre sua aplicação e a interface da SkyHub, e pode focar todos seus esforços nas regras de negócio envolvidas nessas integrações, como quais produtos vão ser integrados, quando vão ser integrados, como os pedidos serão importados para sua aplicação, como serão faturados, e assim por diante.

Dessa forma, o tempo que seria gasto desenvolvendo toda a comunicação com a SkyHub, é economizado em várias semanas ou, até mesmo, meses.

O produto é construído completamente em PHP e, para a utilização, é necessário possuir o PHP 5.4 ou superior instalado em seu servidor web.

Projeto open source

O SDK foi criado com a intenção de ser um projeto open source e, atualmente, suas versões 1.1 (PHP 5.4 a 5.6) e 1.2 (>= PHP 7) estão disponíveis para serem baixadas no perfil oficial do [B]Seller no GitHub. Isso significa que qualquer desenvolvedor que esteja disposto a contribuir com o projeto, enviando melhorias ou bugfixes (correções de falhas), pode ajudar com a evolução dessa ferramenta. Com esse link: https://github.com/bittools/skyhub-php, é possível clonar (baixar) o projeto!

Para quem quiser colaborar, existe um pequeno manual de contribuição na documentação do projeto:

Quando clonar o projeto do GitHub, você precisará instalar as dependências do projeto para conseguir utilizar o SDK. Atualmente, existem as seguintes dependências:

  • PHP com versão igual ou superior a 5.4 para versão 1.1, 7 ou superior para versão 1.2;
  • biblioteca guzzlehttp/guzzle;
  • biblioteca monolog/monolog.

Instalação e Composer

Toda a aplicação SDK segue os padrões PSR-2 e PSR-4. Portanto, para instalar o produto e suas dependências, você precisa utilizar o composer. O composer, aplicação também construída em PHP, é um gerenciador de dependências para projetos PHP que está sendo muito utilizado atualmente e, se você é um daqueles desenvolvedores adeptos às novas práticas de desenvolvimento, deve conhecê-lo muito bem. Se ainda não o conhece, pode acessar a documentação oficial do composer:

Na página oficial do projeto no GitHub existe uma documentação sobre como a aplicação deve ser utilizada e quais os passos para iniciar seu projeto de integração com a SkyHub.

Para instalar o pacote em seu projeto, você pode executar o seguinte script de comando:

$ composer require esmart/skyhub-php

Mesmo sendo um lojista que já possui uma integração à SkyHub, é altamente recomendável levar em consideração a migração de sua integração para passar a utilizar o SDK oficial da SkyHub, já que é uma versão oficial e terá todo o suporte necessário para melhorias, futuras correções e novas implementações feitas na API da SkyHub.

Arquitetura do SDK

Antes de tudo, veja o mapeamento das camadas existentes.

Client

Representando o cliente, esta é a camada que irá se conectar ao serviço da SkyHub. Entenda por cliente qualquer aplicação em PHP como Magento, WordPress, OsCommerce, algum ERP, etc.

API

Esta camada é a nossa proxy, que dará ao client acesso às principais camadas para a requisição.

Request Handler

Esta é a camada responsável por traduzir todos os dados inseridos na requisição (através dos métodos de classes específicas para isso) no formato correto para envio à SkyHub.

Data Transformer

A camada utilizada pelo Request Handler para fazer a transformação das informações antes do envio à SkyHub.

Entity Interface

Uma camada, de uso opcional, que serve como interface para o REQUEST HANDLER e que foi criada para facilitar o preenchimento de entidades mais complexas, por exemplo, a entidade de produtos que requer o preenchimento de várias informações.

Service

Esta é camada responsável pela comunicação com o serviço da SkyHub, a API propriamente dita, representada neste diagrama como SkyHub API.

Log

Esta camada é responsável por fazer os logs de todas as requisições, registrando sempre o request e o response.

Response Handler

A camada responsável por transformar o response (resposta do serviço) em uma resposta padronizada para a aplicação.

Caso pretenda aprender mais sobre a utilização desse SDK e suas possibilidades, não deixe de acessar a documentação no repositório oficial e começar a integrar produtos de forma rápida a simples.