Skip to main content
GET
/
api
/
products
Listar Produtos
curl --request GET \
  --url https://garu.com.br/api/products \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {}
  ],
  "count": 123,
  "page": 123,
  "totalPages": 123
}

Visão Geral

Este endpoint retorna uma lista paginada de todos os seus produtos. Você pode filtrar por tipo de produto usando o parâmetro tab.

Parâmetros de Query

page
number
default:"1"
Número da página para paginação.
limit
number
default:"10"
Quantidade de itens por página (máximo 100).
tab
string
default:"all"
Filtro de produtos:
  • all - Todos os produtos
  • mine - Apenas seus produtos
  • affiliations - Produtos que você é afiliado

Exemplo de Requisição

curl -X GET "https://garu.com.br/api/products?page=1&limit=10" \
  -H "Authorization: Bearer sk_test_sua_chave_api"

Resposta de Sucesso

data
array
Lista de produtos.
count
number
Total de produtos retornados nesta página.
page
number
Página atual.
totalPages
number
Total de páginas disponíveis.

Exemplo de Resposta (200 OK)

{
  "data": [
    {
      "id": 123,
      "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Curso de Marketing Digital",
      "description": "Aprenda marketing digital do zero",
      "value": 297.00,
      "pix": true,
      "creditCard": true,
      "boleto": true,
      "installments": [
        { "quantity": 1, "value": 297.00 },
        { "quantity": 2, "value": 153.45 }
      ],
      "isActive": true,
      "createdAt": "2024-12-24T10:30:00.000Z"
    },
    {
      "id": 124,
      "uuid": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
      "name": "E-book Python",
      "description": "Guia completo de Python",
      "value": 47.00,
      "pix": true,
      "creditCard": true,
      "boleto": false,
      "installments": [
        { "quantity": 1, "value": 47.00 },
        { "quantity": 2, "value": 24.30 }
      ],
      "isActive": true,
      "createdAt": "2024-12-23T15:00:00.000Z"
    }
  ],
  "count": 2,
  "page": 1,
  "totalPages": 1
}

Paginação

Para percorrer todas as páginas de produtos:
async function listarTodosProdutos() {
  const produtos = [];
  let page = 1;
  let totalPages = 1;

  do {
    const response = await fetch(
      `https://garu.com.br/api/products?page=${page}&limit=50`,
      {
        headers: {
          'Authorization': `Bearer ${process.env.GARU_API_KEY}`
        }
      }
    );

    const result = await response.json();
    produtos.push(...result.data);
    totalPages = result.totalPages;
    page++;
  } while (page <= totalPages);

  return produtos;
}

Próximos Passos

Atualizar Produto

Atualize os dados de um produto existente

Excluir Produto

Desative um produto