Erros de segurança – REST API / WooCommerce

porModerniza

Erros de segurança – REST API / WooCommerce

Existem quatro tipos de erros na comnicação com o REST API :

Código do Erro Tipo
400 Bad Request (Solicitação Inválida) Invalid request, e.g. using an unsupported HTTP method
401 Unauthorized (Proibido) Authentication or permission error, e.g. incorrect API keys
404 Not Found (Página não Encontrada) Requests to resources that don’t exist or are missing
500 Internal Server Error (Erro Interno)  Server error

Para testar a comunicação com o plugin REST API Log ou com o aplicativo Postman.

Exemplo de erros WP REST API e como resolver:

Casos de retorno 404 se referem a URL não encontrada, ou alguma informação que falta na URL para o servidor encontrar o caminho.

{
  "code": "rest_no_route",
  "message": "No route was found matching the URL and request method",
  "data": {
    "status": 404
}

{
"code": "woocommerce_rest_term_invalid",
"message": "Resource doesn't exist.",
"data": {
"status": 404
}

Teste comuns:

POST https://example.com/wp-json/wc/v2/products
GET https://example.com/product/<ID>
POST http://example.com/wp-json/jwt-auth/v1/token

Lembrem-se de colocar os parâmetros de usuário, senha,consumer_key e consumer_secret.

    Casos de retorno 401 se referem a permissões:


{
"code": "woocommerce_rest_cannot_create",
"message": "Sorry, you are not allowed to create resources.",
"data": {
"status": 401

}

{
"code": "rest_cannot_create",
"message": "Sorry, you are not allowed to create new posts.",
"data": {
"status": 401
}

Podemos resolver o erro 401 das seguintes formas:

    • Verifique seu .htacess adicione ou modifique a posição:

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* – [e=HTTP_AUTHORIZATION:%1]

    • Adicione  ao .htacess caso tenha dominio e subdominio.

RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    • Verifique no .htacess se há configurações padrões do servidor e as retire.
    • Verifique as permissões de usuário na integração do WooCommerce.
    • Refaça as chaves consumer_key e secrect_key.

 

Erros retornam o status do HTTP e a resposta com o código do erro e mensagem correspondente.

Você pode verificar também a documentação da API: https://woocommerce.github.io/woocommerce-rest-api-docs

Sobre o Autor

Moderniza

2 Comentários até agora

Daniel SeveroPostado em1:05 am - set 16, 2020

Não consegui, estou com este problema, teria como me ajudar?

E-Commerce – Moderniza ConteúdoPostado em11:05 am - mar 24, 2020

[…] Caso tenha problemas de comunicação Leia mais. […]

Deixe uma resposta