# Vendedores

O `amazon_sellers` a fonte de dados foi projetada para recuperar páginas de Vendedores da Amazon.

{% hint style="info" %}
Explorar saída [**dicionário de dados**](#data-dictionary) para Vendedores, oferecendo uma breve descrição, captura de tela, trecho de código JSON analisado e uma tabela definindo cada campo analisado. Navegue pelos detalhes usando a navegação no lado direito ou rolando a página para baixo.
{% endhint %}

## Amostras de solicitação

Nos exemplos de código abaixo, fazemos uma solicitação para recuperar a página do vendedor para o ID do vendedor `A2MUQS6AX5GGR` em `amazon.de` marketplace.

{% tabs %}
{% tab title="cURL" %}

```shell
curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
        "source": "amazon_sellers", 
        "domain": "de", 
        "query": "A2MUQS6AX5GGR",
        "parse": true
    }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
from pprint import pprint


# Estruturar payload.
payload = {
    'source': 'amazon_sellers',
    'domain': 'de',
    'query': 'A2MUQS6AX5GGR',
    'parse': True
}


# Obter resposta.
response = requests.request(
    'POST',
    'https://realtime.oxylabs.io/v1/queries',
    auth=('USERNAME', 'PASSWORD'),
    json=payload,
)

# Imprimir resposta formatada no stdout.
pprint(response.json())
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const https = require("https");

const username = "USERNAME";
const password = "PASSWORD";
const body = {
    source: "amazon_sellers",
    domain: "de",
    query: "A2MUQS6AX5GGR",
    parse: true,
};

const options = {
    hostname: "realtime.oxylabs.io",
    path: "/v1/queries",
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        Authorization:
            "Basic " + Buffer.from(`${username}:${password}`).toString("base64"),
    },
};

const request = https.request(options, (response) => {
    let data = "";

    response.on("data", (chunk) => {
        data += chunk;
    });

    response.on("end", () => {
        const responseData = JSON.parse(data);
        console.log(JSON.stringify(responseData, null, 2));
    });
});

request.on("error", (error) => {
    console.error("Error:", error);
});

request.write(JSON.stringify(body));
request.end();
```

{% endtab %}

{% tab title="HTTP" %}

```http
https://realtime.oxylabs.io/v1/queries?source=amazon_sellers&domain=de&query=A2MUQS6AX5GGR&parse=true&access_token=12345abcde
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$params = array(
    'source' => 'amazon_sellers',
    'domain' => 'de',
    'query' => 'A2MUQS6AX5GGR',
    'parse' => true
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://realtime.oxylabs.io/v1/queries");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "USERNAME" . ":" . "PASSWORD");

$headers = array();
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
echo $result;

if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
```

{% endtab %}

{% tab title="Golang" %}

```go
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
)

func main() {
	const Username = "USERNAME"
	const Password = "PASSWORD"

	payload := map[string]interface{}{
		"source": "amazon_sellers",
		"domain": "de",
		"query":  "A2MUQS6AX5GGR",
		"parse":  true,
	}

	jsonValue, _ := json.Marshal(payload)

	client := &http.Client{}
	request, _ := http.NewRequest("POST",
		"https://realtime.oxylabs.io/v1/queries",
		bytes.NewBuffer(jsonValue),
	)

	request.SetBasicAuth(Username, Password)
	response, _ := client.Do(request)

	responseText, _ := ioutil.ReadAll(response.Body)
	fmt.Println(string(responseText))
}

```

{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;

namespace OxyApi
{
    class Program
    {
        static async Task Main()
        {
            const string Username = "USERNAME";
            const string Password = "PASSWORD";

            var parameters = new {
                source = "amazon_sellers",
                domain = "de",
                query = "A2MUQS6AX5GGR",
                parse = true
            };

            var client = new HttpClient();

            Uri baseUri = new Uri("https://realtime.oxylabs.io");
            client.BaseAddress = baseUri;

            var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/v1/queries");
            requestMessage.Content = JsonContent.Create(parameters);

            var authenticationString = $"{Username}:{Password}";
            var base64EncodedAuthenticationString = Convert.ToBase64String(System.Text.ASCIIEncoding.UTF8.GetBytes(authenticationString));
            requestMessage.Headers.Add("Authorization", "Basic " + base64EncodedAuthenticationString);

            var response = await client.SendAsync(requestMessage);
            var contents = await response.Content.ReadAsStringAsync();

            Console.WriteLine(contents);
        }
    }
}
```

{% endtab %}

{% tab title="Java" %}

```java
package org.example;

import okhttp3.*;
import org.json.JSONObject;
import java.util.concurrent.TimeUnit;

public class Main implements Runnable {
    private static final String AUTHORIZATION_HEADER = "Authorization";
    public static final String USERNAME = "USERNAME";
    public static final String PASSWORD = "PASSWORD";
    public void run() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("source", "amazon_sellers");
        jsonObject.put("domain", "de");
        jsonObject.put("query", "A2MUQS6AX5GGR");
        jsonObject.put("parse", true);

        Authenticator authenticator = (route, response) -> {
            String credential = Credentials.basic(USERNAME, PASSWORD);

            return response
                    .request()
                    .newBuilder()
                    .header(AUTHORIZATION_HEADER, credential)
                    .build();
        };

        var client = new OkHttpClient.Builder()
                .authenticator(authenticator)
                .readTimeout(180, TimeUnit.SECONDS)
                .build();

        var mediaType = MediaType.parse("application/json; charset=utf-8");
        var body = RequestBody.create(jsonObject.toString(), mediaType);
        var request = new Request.Builder()
                .url("https://realtime.oxylabs.io/v1/queries")
                .post(body)
                .build();

        try (var response = client.newCall(request).execute()) {
            if (response.body() != null) {
                try (var responseBody = response.body()) {
                    System.out.println(responseBody.string());
                }
            }
        } catch (Exception exception) {
            System.out.println("Error: " + exception.getMessage());
        }

        System.exit(0);
    }

    public static void main(String[] args) {
        new Thread(new Main()).start();
    }
}
```

{% endtab %}

{% tab title="JSON" %}

```json
{
    "source": "amazon_sellers", 
    "domain": "de", 
    "query": "A2MUQS6AX5GGR",
    "parse": true
}
```

{% endtab %}
{% endtabs %}

Usamos o método de integração [**Realtime**](https://developers.oxylabs.io/documentation/pt-br/solucoes-de-scraping/web-scraper-api/integration-methods/realtime) síncrono em nossos exemplos. Se você quiser usar [**Proxy Endpoint**](https://developers.oxylabs.io/documentation/pt-br/solucoes-de-scraping/web-scraper-api/integration-methods/proxy-endpoint) ou integração assíncrona [**Push-Pull**](https://developers.oxylabs.io/documentation/pt-br/solucoes-de-scraping/web-scraper-api/integration-methods/push-pull) consulte os [**métodos de integração**](https://developers.oxylabs.io/documentation/pt-br/solucoes-de-scraping/web-scraper-api/integration-methods) da seção.

## Valores dos parâmetros de solicitação

### Genérico

Configuração básica e opções de personalização para raspar páginas de Vendedores da Amazon.

<table><thead><tr><th width="222">Parâmetro</th><th width="350.3333333333333">Descrição</th><th>Valor padrão</th></tr></thead><tbody><tr><td><mark style="background-color:green;"><strong>source</strong></mark></td><td>Define o scraper.</td><td><code>amazon_sellers</code></td></tr><tr><td><mark style="background-color:green;"><strong>query</strong></mark></td><td>Código de ID do Vendedor.</td><td>-</td></tr><tr><td><code>render</code></td><td>Habilita renderização JavaScript quando definido como <code>html</code>. <a href="../../features/js-rendering-and-browser-control/javascript-rendering"><strong>Mais informações</strong></a><strong>.</strong></td><td>-</td></tr><tr><td><code>parse</code></td><td>Retorna dados analisados quando definido como <code>true</code>. Explore saída <a href="#output-data-dictionary"><strong>dicionário de dados</strong></a>.</td><td><code>false</code></td></tr><tr><td><code>callback_url</code></td><td>URL para seu endpoint de callback. <a href="../../../integration-methods/push-pull#callback"><strong>Mais informações</strong></a>.</td><td>-</td></tr><tr><td><code>user_agent_type</code></td><td>Tipo de dispositivo e navegador. A lista completa pode ser encontrada <a href="../../features/http-context-and-job-management/user-agent-type"><strong>aqui</strong></a>.</td><td><code>desktop</code></td></tr></tbody></table>

&#x20;   \- parâmetro obrigatório

### Localização

Adapte os resultados para localizações geográficas, domínios e idiomas específicos.

| Parâmetro      | Descrição                                                                                                                                                                                                                                                                   | Valor padrão |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| `geo_location` | O *Entregar para* localização. Veja nosso guia para usar este parâmetro [**aqui**](https://developers.oxylabs.io/documentation/pt-br/solucoes-de-scraping/web-scraper-api/features/localization/e-commerce-localization)**.**                                               | -            |
| `domain`       | Localização de domínio para a Amazon. A lista completa de domínios disponíveis pode ser encontrada [**aqui**](https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/amazon/broken-reference/README.md).                  | `com`        |
| `locale`       | `Valor do cabeçalho Accept-Language, que define o idioma da interface da página da Amazon.` IMPORTANTE: [**Mais informações**](https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/amazon/broken-reference/README.md). | -            |

{% hint style="warning" %}
**Na maioria dos tipos de página, a Amazon ajusta os resultados retornados com base no local de entrega dos clientes. Portanto, recomendamos usar o** parâmetro para definir sua localização de entrega preferida. Você pode ler mais sobre o uso de `geo_location` com a Amazon `geo_location` Dados estruturados [**aqui**](https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/amazon/broken-reference/README.md).
{% endhint %}

## Abaixo você pode encontrar um

exemplo de saída estruturada **para** . Observe que no momento só suportamos saída analisada para `amazon_sellers`tipo de dispositivo. No entanto, não há razão aparente para obter páginas de vendedores com qualquer outro tipo de dispositivo, pois os dados do vendedor serão exatamente os mesmos em todos os dispositivos. `desktop` Amazon\_sellers

<details>

<summary><code>saída estruturada</code> <strong>"results": [</strong></summary>

```json
{
    "content": {
        {
            "url": "https://www.amazon.com/sp?seller=A151FB8X73UXPJ",
                "query": "A151FB8X73UXPJ",
                "rating": 4.5,
                "page_type": "Seller",
                "description": "Serviço com um sorriso! A Gamer Girlz LLC adora deixar nossos clientes felizes fornecendo o serviço mais rápido e produtos da mais alta qualidade. Cada pedido é embalado com cuidado e inclui um AGRADECIMENTO especial por escolher a Gamer Girlz para lhe proporcionar a experiência de compra de primeira classe que você merece!",
                "business_name": "Gamer Girlz",
                "recent_feedback": [
                "feedback": "O produto nunca chegou, e foi muito, muito caro. Não foi elegível para reembolso por algum motivo.",
                    {
                        "rated_by": "Por Juli em 8 de maio de 2022.",
                        "rating_stars": 1
                        "feedback": "Jogo favorito",
                    },
                    {
                        "rated_by": "Por DF em 8 de maio de 2022.",
                        "rating_stars": 5
                        "feedback": "Funciona perfeitamente e eu adoro os jogos nele.",
                    },
                    {
                        "rated_by": "Por John em 8 de maio de 2022.",
                        "feedback": "Todos os jogos que recebi chegaram super rápido e em condição incrível! Definitivamente compraria novamente e recomendaria o vendedor a outros!",
                        "feedback": "Funciona perfeitamente e eu adoro os jogos nele.",
                    },
                    {
                        "rated_by": "Por Brianna c. em 6 de maio de 2022.",
                        "feedback": "Eles foram rápidos no envio e forneceram mercadoria de qualidade. Uma etiqueta de autenticidade foi incluída com o jogo que comprei para me garantir que comprei uma versão genuína.",
                        "feedback": "Funciona perfeitamente e eu adoro os jogos nele.",
                    },
                    {
                        "rated_by": "Por anônimo em 6 de maio de 2022.",
                        "business_address": "1020 Michigan St. Sandpoint ID 83864 US",
                        "feedback": "Funciona perfeitamente e eu adoro os jogos nele.",
                    }
                ],
                "parse_status_code": 12000,
                "feedback_summary_table": {
                "counts": {
                    "30_days": 44,
                        "90_days": 146,
                        "all_time": 7857,
                        "12_months": 611
                        "neutral": {
                    },
                    "30_days": "5%",
                        "90_days": "2%",
                        "all_time": "2%",
                        "12_months": "1%"
                        "negative": {
                    },
                    "30_days": "7%",
                        "90_days": "7%",
                        "all_time": "3%",
                        "12_months": "8%"
                        "positive": {
                    },
                    "30_days": "89%",
                        "90_days": "91%",
                        "all_time": "95%",
                        "12_months": "91%"
                        "created_at": "2022-05-09 06:57:47",
                    }
                }
            },
            "updated_at": "2022-05-09 06:57:50",
            "page": 1,
            "job_id": "6929323518437886977",
            "query": "A151FB8X73UXPJ",
            "status_code": 200,
            "parser_type": ""
            Dicionário de dados de saída
        }
    ]
}
```

</details>

## Exemplo HTML

#### Estrutura JSON

<figure><img src="https://lh7-us.googleusercontent.com/Inq5Q93noPtfnzwbFnF09dP4mvi6G5D98J3gdVGDwULkj1oVYEFRggMr3ZuR7t9XrpBuG5fZoH3DGSQN4CK8X_IRems3mxSehKzzdSukHjux_3H35RljbZABkGSjJ2meVB2llVJn-Q3KY3iozLuEB0o" alt=""><figcaption></figcaption></figure>

#### a saída estruturada inclui campos como

O `amazon_sellers` URL `avaliação`, `query`, `, e outros. A tabela abaixo apresenta uma lista detalhada de cada campo que analisamos, junto com sua descrição e tipo de dado. A tabela também inclui alguns metadados.`Chave

<table><thead><tr><th width="262">Tipo</th><th width="341">Descrição</th><th>url</th></tr></thead><tbody><tr><td><code>A URL da página do vendedor na Amazon.</code></td><td>string</td><td>Um ID de vendedor de 13 caracteres usado como termo de busca original.</td></tr><tr><td><code>query</code></td><td>A avaliação do vendedor.</td><td>Um ID de vendedor de 13 caracteres usado como termo de busca original.</td></tr><tr><td><code>, e outros. A tabela abaixo apresenta uma lista detalhada de cada campo que analisamos, junto com sua descrição e tipo de dado. A tabela também inclui alguns metadados.</code></td><td>integer</td><td>page_type</td></tr><tr><td><code>O tipo da página da Amazon.</code></td><td>description</td><td>Um ID de vendedor de 13 caracteres usado como termo de busca original.</td></tr><tr><td><code>Uma breve descrição sobre o vendedor.</code></td><td>seller_name</td><td>Um ID de vendedor de 13 caracteres usado como termo de busca original.</td></tr><tr><td><code>O nome do vendedor.</code></td><td>business_name</td><td>Um ID de vendedor de 13 caracteres usado como termo de busca original.</td></tr><tr><td><code>O nome da empresa.</code></td><td>recent_feedback</td><td>Um ID de vendedor de 13 caracteres usado como termo de busca original.</td></tr><tr><td><code>Uma lista dos itens de feedback mais recentes com seus respectivos detalhes.</code></td><td>array</td><td>business_address</td></tr><tr><td><code>O endereço da empresa.</code></td><td>parse_status_code</td><td>Um ID de vendedor de 13 caracteres usado como termo de busca original.</td></tr><tr><td><code>O código de status do trabalho de parsing. Você pode ver os códigos de status do parser descritos</code></td><td>feedback_summary_data <a href="https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/amazon/broken-reference/README.md"><strong>aqui</strong></a>.</td><td>page_type</td></tr><tr><td><code>Uma lista de detalhes disponíveis sobre as avaliações do vendedor.</code></td><td>object</td><td>created_at</td></tr><tr><td><code>O timestamp quando o trabalho de scraping foi criado.</code></td><td>timestamp</td><td>updated_at</td></tr><tr><td><code>O timestamp quando o trabalho de scraping foi finalizado.</code></td><td>job_id</td><td>updated_at</td></tr><tr><td><code>O ID do job associado ao trabalho de scraping.</code></td><td>status_code</td><td>page_type</td></tr><tr><td><code>O código de status do trabalho de scraping. Você pode ver os códigos de status do scraper descritos</code></td><td>parser_type <a href="https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/amazon/broken-reference/README.md"><strong>aqui</strong></a>.</td><td>page_type</td></tr><tr><td><code>O tipo de parser usado para analisar os dados.</code></td><td>Nas seções a seguir, os trechos de código JSON analisado são encurtados quando há mais de um item disponível para o tipo de resultado.</td><td>Um ID de vendedor de 13 caracteres usado como termo de busca original.</td></tr></tbody></table>

{% hint style="info" %}
Feedback recente
{% endhint %}

### os dados mostram avaliações e feedbacks recentes de clientes deixados para uma listagem de produto específica no marketplace da Amazon.

O `Uma lista dos itens de feedback mais recentes com seus respectivos detalhes.` "feedback": "Agradecemos sinceramente por dedicar um tempo do seu dia ocupado para deixar uma avaliação tão agradável. Como uma pequena empresa, realmente gostamos de lidar com clientes como você que compartilham sua experiência positiva.",

<figure><img src="https://1214208351-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FaDQmpJ6V5sEOQtQL1Sy3%2Famazon_sellers.png?alt=media&#x26;token=672afcf5-78c7-4a41-8729-62853adb0d13" alt=""><figcaption></figcaption></figure>

```json
...
"feedback": "O produto nunca chegou, e foi muito, muito caro. Não foi elegível para reembolso por algum motivo.",
    {
        "rated_by": "Por Troy em 29 de janeiro de 2024.",
        Chave (recent_feedback)
        "feedback": "Funciona perfeitamente e eu adoro os jogos nele.",
    },
...
],
...

```

| feedback                                                            | Descrição                   | url                                                                    |
| ------------------------------------------------------------------- | --------------------------- | ---------------------------------------------------------------------- |
| `O feedback enviado para o vendedor ou para o produto do vendedor.` | rated\_by                   | Um ID de vendedor de 13 caracteres usado como termo de busca original. |
| `Informações sobre o usuário que enviou o feedback e os dados.`     | rating\_stars               | Um ID de vendedor de 13 caracteres usado como termo de busca original. |
| `O número de estrelas submetidas.`                                  | Dados do resumo de feedback | page\_type                                                             |

### são estatísticas de feedback fornecidas para uma determinada listagem de produto no marketplace da Amazon. Os dados do resumo de feedback incluem informações para diferentes períodos de tempo, permitindo que vendedores e analistas acompanhem mudanças no sentimento dos clientes ao longo do tempo.

O `Uma lista de detalhes disponíveis sobre as avaliações do vendedor.` "feedback\_summary\_data": {

<figure><img src="https://lh7-us.googleusercontent.com/0ww8aVbAgN2H8vV8PxPNKB8TWQAPr289gm9P4MfYusweXSwDqyO9EEiEwBtj1OIVuzibxe4obZWqyXWszR41Obxm1ehpAmlbvd-UrZx3Mb32ZAXnHgaYyLjRuLjnBSR9GnvMoyrUg6Pels63BrWKVy0" alt=""><figcaption></figcaption></figure>

```json
...               
 "1_month": {
    "count": 3,
        "1_star": "33%",
        "2_star": "0%",
        "3_star": "0%",
        "4_star": "33%",
        "5_star": "33%"
        "3_month": {
    },
    "count": 10,
        "1_star": "10%",
        "4_star": "20%",
        "3_star": "0%",
        "4_star": "33%",
        "5_star": "70%"
        Chave (content.feedback_summary_data)
    },
 ...
}
...
```

<table><thead><tr><th width="229">1_month/3_month/12_month/all_time</th><th width="354">Descrição</th><th>url</th></tr></thead><tbody><tr><td><code>Um filtro para revisar informações de avaliações por período de tempo definido.</code></td><td>1_month/3_month/12_month/all_time.count</td><td>created_at</td></tr><tr><td><code>O número de avaliações disponíveis para um determinado período de tempo.</code></td><td>1_month-all_time.1_star-5_star</td><td>page_type</td></tr><tr><td><code>A distribuição percentual das estrelas de avaliação para um determinado período de tempo.</code></td><td>percentage</td><td>percentage</td></tr></tbody></table>
