2017 © Pedro PelĆ”ez
 

php-library sdapi

Smart Dealer Client API

image

smartdealer/sdapi

Smart Dealer Client API

  • Tuesday, May 23, 2017
  • by patrickotto
  • Repository
  • 1 Watchers
  • 4 Stars
  • 27 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 4 Forks
  • 1 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Smart Dealer Client API

Use a tecnologia Smart na sua empresa ou agĆŖncia

98% de precisĆ£o na detecĆ§Ć£o automĆ”tica de modelos/versƵes e compatibilidade de listas

API e documentaĆ§Ć£o de comunicaĆ§Ć£o (for PHP servers) com a plataforma para revendas e concessionĆ”rias Smart Dealer., (*1)

GPL Licence PHPPackages Rank , (*2)

Para mais informaƧƵes, acesse o nosso site., (*3)

Direitos reservados Ơ Smart Dealer SoluƧƵes em Software Ltda., (*4)

Caso necessite de acesso a integraĆ§Ć£o antiga, veja o SD Soap-XML., (*5)

RequĆ­sitos

  • PHP 5.3 ou superior
  • ExtensƵes do PHP "php_curl" e "php_openssl"
  • Apache 2.2+

Use via composer

composer require smartdealer/sdapi

AutenticaĆ§Ć£o

~~~.php, (*6)

# include API class include_once 'src/smart/api.php';, (*7)

# client name OR direct instance URL (prima or prima.smartdealer.com.br) $env = 'prima';, (*8)

# login webservice Rest $usr = 'primafiat';, (*9)

# password webservice Rest (example) $pwd = 'unXEmpkV7ush#';, (*10)

# init API $api = new Smart\Api($env, $usr, $pwd, array());, (*11)


### Acesso direto (url) https://{usuario}:{chave}@{cliente}.smartdealer.com.br/webservice/rest/connect/offers/?format={formato}&template={template} * {usuario} = usuĆ”rio do ws * {chave} = chave do ws * {cliente} = nome da instĆ¢ncia * {formato} = formato do saĆ­da em JSON ou XML (vide parĆ¢metros de configuraĆ§Ć£o) * {template} = estrutura de campos da saĆ­da ### Uso em embiente de produĆ§Ć£o SerĆ” necessĆ”rio a criaĆ§Ć£o de um login, chave de acesso e a liberaĆ§Ć£o do endereƧo de IP (servidor onde a API serĆ” executada) pela Smart para autenticaĆ§Ć£o no webservice Rest, ambiente de produĆ§Ć£o. A solicitaĆ§Ć£o poderĆ” ser feita atravĆ©z deste link: http://bit.ly/2bVryEC ![alt tag](http://smartdealership.com.br/img/api/sd-cad-usuario-integracao.jpg) ### Exemplo de uso ~~~.php # call method $ret = $api->get('/parts/'); # output (Array) array( 0 => array( 'codigo' => 0001 'nome' => 'Parachoque Dianteiro (Palio ELX)', 'modelo' => 'MCBSA-12', 'preco' => 840.00, 'qtd' => 10, 'fab' => '1 - FIAT' ), 1 => array( 'codigo' => 0002 'nome' => 'Parachoque Traseiro (Palio ELX/EX)', 'modelo' => 'MCBSA-15', 'preco' => 532.00, 'qtd' => 7 'fab' => '1 - FIAT' ), 2 => array( 'codigo' => 0003 'nome' => 'Motor Limpador de Parabrisa (UNO Vivace)', 'modelo' => 'MCBSA-88', 'preco' => 120.00, 'qtd' => 2, 'fab' => '1 - FIAT' ) )

DicionƔrio de dados

TraduĆ§Ć£o dos campos retornados na consulta das ofertas selecionadas do estoque., (*12)

campo tipo descriĆ§Ć£o
id integer id da oferta nos pacotes
tipo string cĆ³digo do tipo (N para novo e U para usado)
categoria integer cĆ³digo da categoria (carro, moto ou caminhĆ£o)
filial integer id da filial, use a rota /config/affiliates/ para listar
placa string placa do veĆ­culo (se houver)
chassi string chassi do veĆ­culo (se houver)
marca string descriĆ§Ć£o da marca
modelo_id string cĆ³digo do modelo
modelo string descriĆ§Ć£o do modelo
cor_id string codigo da cor
cor string descriĆ§Ć£o da cor
km integer quilometragem do veĆ­culo
combustivel string descriĆ§Ć£o do combustĆ­vel
ano_fabricacao integer (4) ano de facricaĆ§Ć£o do veĆ­culo
ano_modelo integer (4) ano do modelo do veĆ­culo
promocao string status do veĆ­culo em promoĆ§Ć£o (S ou N)
preco float preƧo do veƭculo
dias_estoque integer nĆŗmero dos dias em estoque
observacao string observaƧƵes do vendedor/concessionƔria
imagens array lista das URLs das imagens do veĆ­culo

GET (leitura de dados)

Tipos de mƩtodos

GET (leitura de dados)

~~~.php, (*13)

# reading data list $api->get('/route/method');, (*14)

# reading specific data $api->get('/route/method/:id');, (*15)


#### POST (envio de dados) ~~~.php $data = array(); # send data (simple) $api->post('/route/method/', $data); # send data with ID param (if required) $api->post('/route/method/:id', $data);

DELETE (deleĆ§Ć£o de dados)

~~~.php, (*16)

$data = array();, (*17)

# remove data (required ID param) $api->delete('/route/method/:id');, (*18)



##### Retorno padrĆ£o (para uso das rotas HTTP) ~~~.json { "status": 500, "errors": [ "O limite de 1 conta(s) foi atingido. Entre em contato conosco." ], "response": false }
campo tipo descriĆ§Ć£o
status integer cĆ³digo de retorno
errors array listagem de erros (se houver, status 500)
response mixed resposta adicional do mƩtodo
Tabela de traduĆ§Ć£o
cĆ³digo descriĆ§Ć£o
200 sucesso
400 em manutenĆ§Ć£o
500 error

MĆ©todos do webservice (configuraĆ§Ć£o)

GET : /config/categories/

Lista as categorias de veĆ­culos do estoque (carro, moto, caminhĆ£o), (*19)

campo tipo descriĆ§Ć£o
id integer id da categoria*
descricao string nome da categoria (Ex: Carro)
POST : /config/affiliate/

Cadastra um novo cliente/CNPJ no sistema, (*20)

campo tipo descriĆ§Ć£o
nome string nome do cliente (Ex: Exemplo Fiat)
cnpj integer cnpj do cliente (14 digitos)
razao_social string razĆ£o social (Ex: Exemplo Fiat VeĆ­culos Ltda.)
matriz boolean especifica se cadastro Ć© matriz ou loja principal

Filtros, (*21)

parĆ¢metro tipo descriĆ§Ć£o exemplo
cnpj numeric CNPJ da filial 80935893000104

Uso, (*22)

https://{usuario}:{chave}@{cliente}.smartdealer.com.br/webservice/rest/connect/contracts?param=value
GET : /config/affiliates/

Lista as filiais/lojas do cliente, (*23)

campo tipo descriĆ§Ć£o
nome string nome do cliente (Ex: Exemplo Fiat)
cep string endereƧo de cep
cnpj integer cnpj do cliente (14 digitos)
razao_social string razĆ£o social (Ex: Exemplo Fiat VeĆ­culos Ltda.)
endereco string endereƧo da concessionƔria/revenda
bairro string nome do bairro
cidade string nome da cidade
telefone integer nĆŗmero do telefone (dd + nĆŗmero)
responsavel string nome do contato responsƔvel
email string email do cliente
hashcode string hash token criaĆ§Ć£o de senha

MƩtodos do webservice (estoque de peƧas)

GET : /parts/

Lista o estoque de peƧas, (*24)

GET : /parts/providers/

Lista os fabricantes cadastrados, (*25)

POST : /parts/order/ [array]

Registra ou atualiza a reserva de uma peƧa (e-commerce), (*26)

POST : /parts/notify/ [array]

Registra ou atualiza a lista de notificaƧƵes, pendĆŖncias no estoque (e-commerce), (*27)

DELETE : /parts/order/:id

Remove a reserva de uma peƧa, (*28)

MĆ©todos do webservice (integrador)

GET : /connect/channels/

Lista os canais/portais disponĆ­veis para integraĆ§Ć£o, (*29)

campo tipo descriĆ§Ć£o
id integer cĆ³digo do canal
nome string nome do canal (Ex: Portal iCarros)
identificador string nome do drive identificador (Ex: icarros)
status integer 1 na fila, 2 em manutenĆ§Ć£o, 3 disponĆ­vel
GET : /connect/codes/

Lista de traduĆ§Ć£o dos cĆ³digos de resposta dos canais de integraĆ§Ć£o., (*30)

Breve exemplo, para ver a lista completa faƧa uma chamada a rota Rest acima., (*31)

codigo descricao
7 versĆ£o incompatĆ­vel c/ o ano
13 a cor informada Ʃ invƔlida
16 plano ou categoria invƔlido
21 limite da categoria esgotado
33 preƧo abaixo do permitido (20% FIPE)
300 combustĆ­veis nĆ£o carregados
POST : /connect/contract/

Cria uma configuraĆ§Ć£o de integraĆ§Ć£o (connect), (*32)

campo tipo descriĆ§Ć£o
site_id integer id do canal de integraĆ§Ć£o (vide ~/channels/)
status integer 1 atualizaĆ§Ć£o automĆ”tica ativa, 0 desativada
anuncios integer total de anĆŗncios do plano (apenas para cĆ”lculo)
nome string nome de indentificaĆ§Ć£o do contrato
filial integer filial a ser lida/publicada (ofertas)
cnpj integer cnpj utilizado na conta do portal
login string login/email utilizado na conta do portal
senha string senha da conta do portal
segmento integer categoria principal, vide "/config/categories/"

Filtros, (*33)

parĆ¢metro tipo descriĆ§Ć£o exemplo
filial integer ID da filial 1

Uso, (*34)

https://{usuario}:{chave}@{cliente}.smartdealer.com.br/webservice/rest/connect/contracts?param=value
GET : /connect/contracts/

Lista as integraƧƵes configuradas (contratos de integraĆ§Ć£o), (*35)

campo tipo descriĆ§Ć£o
id integer cĆ³digo do contrato/integraĆ§Ć£o
site_id integer id do canal de integraĆ§Ć£o vide "connect/channels/"
data_criacao string data do cadastro da integraĆ§Ć£o
identificador string nome do canal ou portal integrado (Ex: webmotors)
nome string nome de indentificaĆ§Ć£o do contrato
status integer 1 atualizaĆ§Ć£o automĆ”tica ativa, 0 desativada
anuncios integer total de anĆŗncios do plano (definido no cadastro)
tot_destaque integer total de anĆŗncios em destaque (pĆ³s sincronizaĆ§Ć£o)
tot_manual integer anĆŗncios cadastrados pelo portal (pĆ³s sincronizaĆ§Ć£o)
login string login/email utilizado na conta do portal
senha string senha da conta do portal
segmento integer categoria principal, vide "/config/categories/"
valido boolean status operacional da integraĆ§Ć£o (true = integrado)
POST : /connect/offer/

Cadastra um veĆ­culo para publicaĆ§Ć£o em um pacote de ofertas (connect), (*36)

campo tipo descriĆ§Ć£o
contrato_id integer cĆ³digo da integraĆ§Ć£o "/connect/contracts/"
tipo string cĆ³digo do tipo (N para novo e U para usado)
categoria integer cĆ³digo da categoria "/config/categories/"
placa string placa do veĆ­culo (se houver)
chassi string chassi do veĆ­culo (se houver)
marca string descriĆ§Ć£o da marca
modelo string descriĆ§Ć£o do mode
cor string descriĆ§Ć£o da cor
portas integer quantidade de portas do veĆ­culo
transmissao string descriĆ§Ć£o da transmissĆ£o
km integer quilometragem do veĆ­culo
combustivel string descriĆ§Ć£o do combustĆ­vel
ano_fabricacao integer (4) ano de facricaĆ§Ć£o do veĆ­culo
ano_modelo integer (4) ano do modelo do veĆ­culo
promocao string status do veĆ­culo em promoĆ§Ć£o (S ou N)
preco float preƧo do veƭculo
observacao string observaƧƵes do vendedor/concessionƔria
opcionais string opcionais separados por ";", ex: "ar condicionado;trava;direĆ§Ć£o"
imagens array lista[0,1,2] das imagens do veĆ­culo (cĆ³digo fonte em BASE64)

Formato das imagens (em base64), (*37)

alt tag, (*38)

POST : /connect/offer/:id

Atualiza uma oferta de veĆ­culo no estoque (connect), (*39)

campo tipo descriĆ§Ć£o
id integer id a oferta em estoque

A flag :id deverĆ” ser substituĆ­da pelo cĆ³digo da oferta, ex: "/connect/offer/1"., (*40)

ParĆ¢metros da chamada, (*41)

campo tipo descriĆ§Ć£o
categoria integer cĆ³digo da categoria "/config/categories/"
placa string placa do veĆ­culo (se houver)
chassi string chassi do veĆ­culo (se houver)
marca string descriĆ§Ć£o da marca
modelo string descriĆ§Ć£o do mode
cor string descriĆ§Ć£o da cor
portas integer quantidade de portas do veĆ­culo
transmissao string descriĆ§Ć£o da transmissĆ£o
km integer quilometragem do veĆ­culo
combustivel string descriĆ§Ć£o do combustĆ­vel
ano_fabricacao integer (4) ano de facricaĆ§Ć£o do veĆ­culo
ano_modelo integer (4) ano do modelo do veĆ­culo
promocao string status do veĆ­culo em promoĆ§Ć£o (S ou N)
preco float preƧo do veƭculo
observacao string observaƧƵes do vendedor/concessionƔria
opcionais string opcionais separados por ";", ex: "ar condicionado;trava;direĆ§Ć£o"
imagens array lista[0,1,2] das imagens do veĆ­culo (cĆ³digo fonte em BASE64)

Formato das imagens (em base64), (*42)

alt tag, (*43)

Importante, (*44)

O o tipo de estoque "U" para usados e "N" para novos nĆ£o poderĆ” ser alterado. Neste caso serĆ” necessĆ”rio excluir a oferta e adicionar novamente no pacote (estoque)., (*45)

GET : /connect/packs/

Lista os pacotes de ofertas disponĆ­veis (connect), (*46)

campo tipo descriĆ§Ć£o
id integer cĆ³digo do pacote
nome string nome customizado do pacote (Ex: FeirĆ£o iCarros)
status integer 1 ativo, 0 bloqueado
ultimo_envio datetime data do ultimo envio

Filtros, (*47)

parĆ¢metro tipo descriĆ§Ć£o exemplo
contrato numeric ID da integraĆ§Ć£o 1

Uso, (*48)

https://{usuario}:{chave}@{cliente}.smartdealer.com.br/webservice/rest/connect/contracts?param=value
GET : /connect/pack/:id

Lista as ofertas de um determinado pacote (connect), (*49)

campo tipo descriĆ§Ć£o
id integer id da oferta
ordem integer posiĆ§Ć£o no pacote (ordem de publicaĆ§Ć£o)
pacote_id integer cĆ³digo do pacote de ofertas
driver string identificador do canal de integraĆ§Ć£o, ex: "icarros"
tipo string cĆ³digo do tipo (N para novo e U para usado)
categoria integer cĆ³digo da categoria (carro, moto ou caminhĆ£o)
filial integer id da filial, use a rota /config/affiliates/ para listar
placa string placa do veĆ­culo (se houver)
chassi string chassi do veĆ­culo (se houver)
marca string descriĆ§Ć£o da marca
modelo_id string cĆ³digo do modelo
modelo string descriĆ§Ć£o do modelo
cor_id string codigo da cor
cor string descriĆ§Ć£o da cor
km integer quilometragem do veĆ­culo
combustivel string descriĆ§Ć£o do combustĆ­vel
ano_fabricacao integer (4) ano de facricaĆ§Ć£o do veĆ­culo
ano_modelo integer (4) ano do modelo do veĆ­culo
promocao string status do veĆ­culo em promoĆ§Ć£o (S ou N)
preco float preƧo do veƭculo
dias_estoque integer nĆŗmero dos dias em estoque
opcionais string opcionais separados por ";", ex: "ar condicionado;trava;direĆ§Ć£o"
observacao string observaƧƵes do vendedor/concessionƔria
imagens array lista das URLs das imagens do veĆ­culo
registro datetime data da ultima atualizaĆ§Ć£o no portal
ordem integer nĆŗmero da sequĆŖncia no pacote
anuncio_status string status de publicaĆ§Ć£o no portal 1 = publicado, 0 = offline
anuncio_envio string data da ultima sincronizaĆ§Ć£o do anĆŗncio
anuncio_codigo string cĆ³digo do anĆŗncio no portal
anuncio_link string link do anĆŗncio no portal
status_codigo string cĆ³digo de retorno
status_descricao string traduĆ§Ć£o do retorno
GET : /connect/offers/

Lista todas as ofertas do cliente, (*50)

campo tipo descriĆ§Ć£o
id integer id da oferta
ordem integer posiĆ§Ć£o no pacote (ordem de publicaĆ§Ć£o)
pacote_id integer cĆ³digo do pacote de ofertas
driver string identificador do canal de integraĆ§Ć£o, ex: "icarros"
tipo string cĆ³digo do tipo (N para novo e U para usado)
categoria integer cĆ³digo da categoria (carro, moto ou caminhĆ£o)
filial integer id da filial, use a rota /config/affiliates/ para listar
placa string placa do veĆ­culo (se houver)
chassi string chassi do veĆ­culo (se houver)
marca string descriĆ§Ć£o da marca
modelo_id string cĆ³digo do modelo
modelo string descriĆ§Ć£o do modelo
cor_id string codigo da cor
cor string descriĆ§Ć£o da cor
km integer quilometragem do veĆ­culo
combustivel string descriĆ§Ć£o do combustĆ­vel
ano_fabricacao integer (4) ano de facricaĆ§Ć£o do veĆ­culo
ano_modelo integer (4) ano do modelo do veĆ­culo
promocao string status do veĆ­culo em promoĆ§Ć£o (S ou N)
preco float preƧo do veƭculo
dias_estoque integer nĆŗmero dos dias em estoque
opcionais string opcionais separados por ";", ex: "ar condicionado;trava;direĆ§Ć£o"
observacao string observaƧƵes do vendedor/concessionƔria
imagens array lista das URLs das imagens do veĆ­culo
registro datetime data da ultima atualizaĆ§Ć£o no portal
ordem integer nĆŗmero da sequĆŖncia no pacote
anuncio_status string status de publicaĆ§Ć£o no portal 1 = publicado, 0 = offline
anuncio_envio string data da ultima sincronizaĆ§Ć£o do anĆŗncio
anuncio_codigo string cĆ³digo do anĆŗncio no portal
anuncio_link string link do anĆŗncio no portal
status_codigo string cĆ³digo de retorno
status_descricao string traduĆ§Ć£o do retorno
DELETE : /connect/offer/:id

Remove a oferta do pacote e do portal (pĆ³s sincronizaĆ§Ć£o automĆ”tica), (*51)

campo tipo descriĆ§Ć£o
id integer id da oferta no pacote

A flag :id deverĆ” ser substituĆ­da pelo cĆ³digo da oferta, ex: "/connect/offer/1"., (*52)

DELETE : /connect/contract/:id

Remove uma configuraĆ§Ć£o de integraĆ§Ć£o e seus pacotes (contrato), (*53)

campo tipo descriĆ§Ć£o
id integer id do contrato

A flag :id deverĆ” ser substituĆ­da pelo cĆ³digo do contrato, ex: "/connect/contract/1"., (*54)

ParĆ¢metros de configuraĆ§Ć£o

~~~.php, (*55)

# the API settings $settings = array( 'handle' => 'curl', 'timeout' => 10, 'use_ssl' => false, 'port' => 80, 'debug' => false, 'output_format' => 1, 'output_compile' => true );, (*56)

# init API (with param settings) $api = new Smart\Api($env, $usr, $pwd, $settings);, (*57)

~~~, (*58)

handle

Escolha do mĆ©todo/protocolo de conexĆ£o com o servidor Restful., (*59)

  • String: "curl" (padrĆ£o), "socket" e "stream"

timeout

Tempo mƔximo da resposta do servidor em segundos., (*60)

  • Integer: 10 (padrĆ£o)

use_ssl

Habilitar esta opĆ§Ć£o se a conexĆ£o exigir SSL., (*61)

  • Bool: false (padrĆ£o)

port

NĆŗmero da porta de conexĆ£o com servidor Restful., (*62)

  • Integer: 80 (padrĆ£o)

debug

Para desenvolvedores: se ativa, exibe erros de execuĆ§Ć£o e comunicaĆ§Ć£o com o servidor., (*63)

  • Bool: false (padrĆ£o)

output_format

OpĆ§Ć£o de configuraĆ§Ć£o do formato de resposta do servidor ('JSON' = 1, 'XML' = 2)., (*64)

  • Integer: 1 (padrĆ£o)

output_compile

Se desativada, mostra a resposta literal do servidor em XML ou JSON., (*65)

  • Bool: true (padrĆ£o)

IntegraĆ§Ć£o com portais

Fluxo de interaĆ§Ć£o com o webservice Smart via Api na integraĆ§Ć£o com portais automotivos., (*66)

alt tag, (*67)

AtualizaĆ§Ć£o regular

@Release 1.6, (*68)

Nota da versĆ£o:, (*69)

Nenhuma., (*70)

The Versions

23/05 2017

dev-master

9999999-dev

Smart Dealer Client API

  Sources   Download

GPL2.0

The Requires

  • lib-curl ^7.36
  • lib-openssl ^1.0.1

 

by Patrick Otto