Smart Dealer Client API
API e documentaĆ§Ć£o de comunicaĆ§Ć£o (for PHP servers) com a plataforma para revendas e concessionĆ”rias Smart Dealer., (*1)
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)
composer require smartdealer/sdapi
~~~.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' ) )
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 (para usados) |
chassi | string | chassi do veĆculo (para novos) |
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 |
~~~.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);
~~~.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 |
cĆ³digo | descriĆ§Ć£o |
---|---|
200 | sucesso |
400 | em manutenĆ§Ć£o |
500 | error |
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) |
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
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 |
string | email do cliente | |
hashcode | string | hash token criaĆ§Ć£o de senha |
Lista o estoque de peƧas, (*24)
Lista os fabricantes cadastrados, (*25)
Registra ou atualiza a reserva de uma peƧa (e-commerce), (*26)
Registra ou atualiza a lista de notificaƧƵes, pendĆŖncias no estoque (e-commerce), (*27)
Remove a reserva de uma peƧa, (*28)
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 |
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 |
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
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) |
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 (para usados) |
chassi | string | chassi do veĆculo (para novos) |
marca | string | descriĆ§Ć£o da marca |
modelo | string | descriĆ§Ć£o do modelo |
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)
, (*38)
Atualiza uma oferta de veĆculo no estoque (connect), (*39)
campo | tipo | descriĆ§Ć£o |
---|---|---|
id | integer | id da 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 (para usados) |
chassi | string | chassi do veĆculo (para novos) |
marca | string | descriĆ§Ć£o da marca |
modelo | string | descriĆ§Ć£o do modelo |
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)
, (*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)
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
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 (para usados) |
chassi | string | chassi do veĆculo (para novos) |
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 |
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 (para usados) |
chassi | string | chassi do veĆculo (para novos) |
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 |
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)
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)
~~~.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)
Escolha do mĆ©todo/protocolo de conexĆ£o com o servidor Restful., (*59)
Tempo mƔximo da resposta do servidor em segundos., (*60)
Habilitar esta opĆ§Ć£o se a conexĆ£o exigir SSL., (*61)
NĆŗmero da porta de conexĆ£o com servidor Restful., (*62)
Para desenvolvedores: se ativa, exibe erros de execuĆ§Ć£o e comunicaĆ§Ć£o com o servidor., (*63)
OpĆ§Ć£o de configuraĆ§Ć£o do formato de resposta do servidor ('JSON' = 1, 'XML' = 2)., (*64)
Se desativada, mostra a resposta literal do servidor em XML ou JSON., (*65)
Fluxo de interaĆ§Ć£o com o webservice Smart via Api na integraĆ§Ć£o com portais automotivos., (*66)
, (*67)
@Release 1.6, (*68)
Nota da versĆ£o:, (*69)
Nenhuma., (*70)