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