Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v3.x.
#76847
Bom dia.
Estamos com dificuldades em alterar a tabela oc_product_description pois ao tentar fazer alguma requisição passando algum parâmetro esta retorna sempre erro 404. A URL de teste utilizada é http://www.ecom360.com.br/lojablack/api ... ription/86.
Como a tabela oc_product_descrition possui chave composta acredito que eu esteja montando de forma errada a url.
Alguém teria algum exemplo de GET e PUT nesta tabela?
Desde já agradeço a atenção.
Ezequiel
#76957
Bom dia Ariel, obrigado pelo retorno.
Já havia verificado esse material sim, inclusive estou conseguindo acesso a outras tabelas como oc_product por exemplo, meu problema está em casos onde tenho uma chave composta como na tabela oc_product_description onde a chave é o id do produto mas o código da linguagem. Para esta tabela não consegui nem fazer um GET passando parâmetros.
Você já fez alguma integração utilizando a API REST?

Abraço,
Ezequiel
#76969
Olá @Ezequiel Pianegonda nunca utilizei essa API REST em meus projetos, pois eu desenvolvo minhas aplicações, como essa API é genérica, você terá que desenvolver muita coisa, por isso talvez não esteja conseguindo fazer o que deseja;
Ezequiel Pianegonda gostou disso
#76982
Ezequiel Pianegonda escreveu: 19 Jan 2018, 07:08 Bom dia.
Estamos com dificuldades em alterar a tabela oc_product_description pois ao tentar fazer alguma requisição passando algum parâmetro esta retorna sempre erro 404. A URL de teste utilizada é http://www.ecom360.com.br/lojablack/api ... ription/86.
Como a tabela oc_product_descrition possui chave composta acredito que eu esteja montando de forma errada a url.
Alguém teria algum exemplo de GET e PUT nesta tabela?
Desde já agradeço a atenção.
Ezequiel
Bom dia Ezequiel Pianegonda, pode dar uma força ?

Qual a versão do opencart que vc esta utilizando para teste com a API REST ?
Pq no meu caso eu ja tentei usar com as versões 3.0.2.0 e a 2.3.0.2 e não consegue fazer funcionar com nenhuma das duas.

A loja opencart esta no servidor, mas o código de acesso REST esta localhost

localhost/opencartApiRest/teste.php
Código: Selecionar todos
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'key: COLEI_MINHA_CHAVE_AQUI'; // // Replace key value for API key OpenCart (Only numbers and letters)

$ch = curl_init();
curl_setopt_array($ch, [
	CURLOPT_URL            => 'http://www.meudominio.com.br/api.php/oc_product/', // Replace domain and table name
	CURLOPT_HTTPHEADER     => $headers,
	CURLOPT_CUSTOMREQUEST  => 'GET',
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_SSL_VERIFYHOST => false,
	CURLOPT_SSL_VERIFYPEER => false
]);
$out = curl_exec($ch);
curl_close($ch);
print_r( $out ); // Result json
No painel da loja eu cadastrei meu IP e mesmo assim a mensagem de retorno é sempre {"API Error":"Key not found!"} ao acessar o arquivo teste.php

vc chegou a fazer um teste localhost ?

Se vc pude dar um exemplo de como vc fez funcionar o acesso a API, eu agradeço.

E a versão do PHP que estou utilziando é a 7.1
Ezequiel Pianegonda gostou disso
#76984
Olá Wellington, este erro refere-se a falta da key em sua header, você precisa definir este parâmetro toda a vez que for comunicar com a api.

Utilização (Usage)
Acesse a URL da sua loja, incluindo no final o arquivo api.php, conforme o exemplo:

http://www.seudominio.com.br/api.php
É necessário informar a sua Chave da API em todas as URLs da API que serão acessadas, passando-a no cabeçalho da requisição com o nome key tendo como valor a sua Chave da API.

Exemplo:

key = mMAnvMIaP7zPHnF7hBi23ebGyIU6sp2eWRfdi08yNWOo8wRXPAWgCol
Caso contrário você receberá a mensagem de erro:

{"API Error":"Key not found!"}

Espero ter ajudado.
#77005
Mas eu coloquei minha chave sim, tanto que eu escrevi no código acima desta forma COLEI_MINHA_CHAVE_AQUI informando que eu colei o código no teste.php

Só que em vez de colocar como você mandou no exemplo acima
key = minha chave aqui
ou fiz
key: minha chave aqui

E qual foi a versão do opencart que você utilizou, junto com a API REST ?
#77031
Gerei uma nova Chave no painel do usuário e deixei o status como ativado.

http://www.vrteste.com.br/opencart/api.php

http://www.vrteste.com.br/opencart/teste.php página teste com o código abaixo
Código: Selecionar todos
<?php
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'key: 8logdzRkQdTusHWNwkLuTFM4vpMurkcfMhYrjsBm1WmBYITfZgo1gf21QEPmRSNklY5xaXksQxXZILNmf0UXgsUhE32GQF743brHNOinZNxpAmgz0jm1JnDKBYT3AlpYWLOXU4UrVcHkZC3to8ypwC4hlEnGAVJdGtNdmvTwVaGnr4q3b3YfOuTZewEbNNCnsz2dM8yygQPRWeSyI2fKq0Uro3A0g10rGYq4AIOwPTo4BSaOB8qtPltFMYofLz'; 

$ch = curl_init();
curl_setopt_array($ch, [
	CURLOPT_URL            => 'http://www.vrteste.com.br/opencart/api.php/oc_product',
	CURLOPT_HTTPHEADER     => $headers,
	CURLOPT_CUSTOMREQUEST  => 'GET',
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_SSL_VERIFYHOST => false,
	CURLOPT_SSL_VERIFYPEER => false
]);
$out = curl_exec($ch);
curl_close($ch);
print_r( $out ); // Result json
Mesmo colocando a KEY correta , a mensagem continua aparecendo.
{"API Error":"Key not found!"}

E o código é simples...talvez eu esteja deixando de enxergar algo que esta bem de baixo do meu nariz :D
#77067
Para aqueles que estão tendo problema com a mensagem {"API Error":"Key not found!"} mesmo seguindo o tutorial simples no GIT
https://github.com/opencartbrasil/opencart-rest-api

Segue a solução do problema, na linha 110 do arquivo config_api.php

linha 110 --> if ($name == 'key') {

O problema esta na letra k que esta minuscula, basta trocar a letra para maiúscula, e a mensagem {"API Error":"Key not found!"} não vai mais ser um problema ;)

Abaixo segue a dica do marllonti, o xamã responsável por nos ajudar nesta questão da letra k :lol: .

https://github.com/opencartbrasil/openc ... i/issues/3

Agradecimentos ao Manoel Vidal https://github.com/v5manoel por disponibilizar a ferramenta OPENCART REST API para nós

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]