# Vendedores

El `amazon_sellers` la fuente de datos está diseñada para recuperar páginas de Amazon Sellers.

{% hint style="info" %}
Explorar salida [**diccionario de datos**](#data-dictionary) para Sellers, ofreciendo una breve descripción, captura de pantalla, fragmento de código JSON analizado y una tabla que define cada campo analizado. Navega por los detalles usando la navegación del lado derecho o desplazándote hacia abajo en la página.
{% endhint %}

## Ejemplos de solicitud

En los ejemplos de código a continuación, hacemos una solicitud para recuperar la página del vendedor para el ID de vendedor `A2MUQS6AX5GGR` en `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


# Estructura la carga útil.
payload = {
    'source': 'amazon_sellers',
    'domain': 'de',
    'query': 'A2MUQS6AX5GGR',
    'parse': True
}


# Obtén la respuesta.
response = requests.request(
    'POST',
    'https://realtime.oxylabs.io/v1/queries',
    auth=('USERNAME', 'PASSWORD'),
    json=payload,
)

# Imprime la respuesta con formato en 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 el método de integración síncrona [**Realtime**](/products/es/web-scraper-api/integration-methods/realtime.md) en nuestros ejemplos. Si deseas usar [**Proxy Endpoint**](/products/es/web-scraper-api/integration-methods/proxy-endpoint.md) o la integración asíncrona [**Push-Pull**](/products/es/web-scraper-api/integration-methods/push-pull.md) consulta la sección de [**métodos de integración**](/products/es/web-scraper-api/integration-methods.md) .

## Valores de los parámetros de solicitud

### Genérico

Opciones básicas de configuración y personalización para extraer páginas de Amazon Seller.

<table><thead><tr><th width="222">Parámetro</th><th width="350.3333333333333">Descripción</th><th>Valor predeterminado</th></tr></thead><tbody><tr><td><mark style="background-color:green;"><strong>source</strong></mark></td><td>Establece el scraper.</td><td><code>amazon_sellers</code></td></tr><tr><td><mark style="background-color:green;"><strong>query</strong></mark></td><td>Código del ID del vendedor.</td><td>-</td></tr><tr><td><code>render</code></td><td>Habilita el renderizado de JavaScript cuando se establece en <code>html</code>. <a href="/spaces/xofNngbwiAAH0MB3lMAb/pages/47852075b446d7f11217f4c0334348f21fb197b8#javascript-rendering"><strong>Más información</strong></a><strong>.</strong></td><td>-</td></tr><tr><td><code>parse</code></td><td>Devuelve datos analizados cuando se establece en <code>true</code>. Explora el <a href="#output-data-dictionary"><strong>diccionario de datos</strong></a>.</td><td><code>false</code></td></tr><tr><td><code>callback_url</code></td><td>URL de tu endpoint de callback. <a href="/spaces/xofNngbwiAAH0MB3lMAb/pages/28181dba27c108c1684f7f17f5d8fef78bd80d90"><strong>Más información</strong></a>.</td><td>-</td></tr><tr><td><code>user_agent_type</code></td><td>Tipo de dispositivo y navegador. La lista completa se puede encontrar <a href="/spaces/xofNngbwiAAH0MB3lMAb/pages/c0794af77dadf44c32dae6894baaca0b93585869"><strong>aquí</strong></a>.</td><td><code>desktop</code></td></tr></tbody></table>

&#x20;   \- parámetro obligatorio

### Localización

Adapta los resultados a ubicaciones geográficas, dominios e idiomas específicos.

| Parámetro      | Descripción                                                                                                                                                                                                                                                | Valor predeterminado |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
| `geo_location` | El *Entrega a* ubicación. Consulta nuestra guía para usar este parámetro [**aquí**](/products/es/web-scraper-api/features/localization/proxy-location.md#list-of-supported-geo_location-values).                                                           | -                    |
| `dominio`      | Localización del dominio para Amazon. La lista completa de dominios disponibles se puede encontrar [**aquí**](https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/amazon/broken-reference/README.md). | `com`                |
| `locale`       | `Accept-Language` valor de header, que establece el idioma de la interfaz de la página de Amazon. [**Más información**](/products/es/web-scraper-api/features/localization/domain-locale.md#amazon).                                                       | -                    |

{% hint style="warning" %}
**IMPORTANTE:** En la mayoría de los tipos de página, Amazon adapta los resultados devueltos según la ubicación de entrega de sus clientes. Por lo tanto, aconsejamos usar el `geo_location` parámetro para establecer tu ubicación de entrega preferida. Puedes leer más sobre el uso de `geo_location` con Amazon [**aquí**](https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/amazon/broken-reference/README.md).
{% endhint %}

## Datos estructurados

A continuación puedes encontrar un **ejemplo de salida estructurada** para `amazon_sellers`. Ten en cuenta que, por ahora, solo admitimos salida analizada para `desktop` tipo de dispositivo. Sin embargo, no hay razón aparente para obtener páginas de vendedores con cualquier otro tipo de dispositivo, ya que los datos del vendedor serán exactamente los mismos en todos los dispositivos.

<details>

<summary><code>Amazon_sellers</code> <strong>salida estructurada</strong></summary>

```json
{
    "results": [
        {
            "content": {
                "url": "https://www.amazon.com/sp?seller=A151FB8X73UXPJ",
                "query": "A151FB8X73UXPJ",
                "rating": 4.5,
                "page_type": "Seller",
                "description": "¡Servicio con una sonrisa! Gamer Girlz LLC ama hacer felices a nuestros clientes ofreciendo el servicio más rápido y productos de la más alta calidad. Cada pedido se empaqueta con cuidado e incluye un agradecimiento especial por elegir a Gamer Girlz para brindarte la experiencia de compra de primera clase que mereces!",
                "business_name": "Gamer Girlz",
                "recent_feedback": [
                    {
                        "feedback": "El producto nunca llegó, y era muy, muy caro. No era elegible para reembolso por alguna razón.",
                        "rated_by": "Por Juli el 8 de mayo de 2022.",
                        "rating_stars": 1
                    },
                    {
                        "feedback": "Juego favorito",
                        "rated_by": "Por DF el 8 de mayo de 2022.",
                        "rating_stars": 5
                    },
                    {
                        "feedback": "Funciona perfectamente y me encantan los juegos que tiene.",
                        "rated_by": "Por John el 8 de mayo de 2022.",
                        "rating_stars": 5
                    },
                    {
                        "feedback": "Todos los juegos que compré llegaron súper rápido y en un estado increíble! Sin duda volvería a comprarles y recomendaría al vendedor a otros!",
                        "rated_by": "Por Brianna c. el 6 de mayo de 2022.",
                        "rating_stars": 5
                    },
                    {
                        "feedback": "Fueron rápidos con el envío y proporcionaron mercancía de calidad. Se incluyó una etiqueta de autenticidad con el juego que compré para asegurarme de que había comprado una versión genuina.",
                        "rated_by": "Por anónimo el 6 de mayo de 2022.",
                        "rating_stars": 5
                    }
                ],
                "business_address": "1020 Michigan St. Sandpoint ID 83864 US",
                "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,
            "url": "https://www.amazon.com/sp?seller=A151FB8X73UXPJ",
            "job_id": "6929323518437886977",
            "status_code": 200,
            "parser_type": ""
        }
    ]
}
```

</details>

## Diccionario de datos de salida

#### Ejemplo HTML

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

#### Estructura JSON

El `amazon_sellers` la salida estructurada incluye campos como `URL`, `query`, `rating`, y otros. La tabla a continuación presenta una lista detallada de cada campo que analizamos, junto con su descripción y tipo de dato. La tabla también incluye algunos metadatos.

<table><thead><tr><th width="262">Clave</th><th width="341">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>url</code></td><td>La URL de la página del vendedor de Amazon.</td><td>string</td></tr><tr><td><code>query</code></td><td>Un ID de vendedor de 13 caracteres usado como término de búsqueda original.</td><td>string</td></tr><tr><td><code>rating</code></td><td>La calificación del vendedor.</td><td>integer</td></tr><tr><td><code>page_type</code></td><td>El tipo de página de Amazon.</td><td>string</td></tr><tr><td><code>description</code></td><td>Una breve descripción sobre el vendedor.</td><td>string</td></tr><tr><td><code>seller_name</code></td><td>El nombre del vendedor.</td><td>string</td></tr><tr><td><code>business_name</code></td><td>El nombre del negocio.</td><td>string</td></tr><tr><td><code>recent_feedback</code></td><td>Una lista de los elementos de feedback más recientes con sus detalles respectivos.</td><td>array</td></tr><tr><td><code>business_address</code></td><td>La dirección del negocio.</td><td>string</td></tr><tr><td><code>parse_status_code</code></td><td>El código de estado del trabajo de análisis. Puedes ver los códigos de estado del analizador descritos <a href="https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/amazon/broken-reference/README.md"><strong>aquí</strong></a>.</td><td>integer</td></tr><tr><td><code>feedback_summary_data</code></td><td>Una lista de detalles disponibles sobre las calificaciones del vendedor.</td><td>object</td></tr><tr><td><code>created_at</code></td><td>La marca de tiempo cuando se creó el trabajo de scraping.</td><td>timestamp</td></tr><tr><td><code>updated_at</code></td><td>La marca de tiempo cuando terminó el trabajo de scraping.</td><td>timestamp</td></tr><tr><td><code>job_id</code></td><td>El ID del trabajo asociado con el trabajo de scraping.</td><td>integer</td></tr><tr><td><code>status_code</code></td><td>El código de estado del trabajo de scraping. Puedes ver los códigos de estado del scraper descritos <a href="/spaces/xofNngbwiAAH0MB3lMAb/pages/78dd394ebf4ec5dea020480e645bc2a8d9e54694"><strong>aquí</strong></a>.</td><td>integer</td></tr><tr><td><code>parser_type</code></td><td>El tipo de analizador usado para analizar los datos.</td><td>string</td></tr></tbody></table>

{% hint style="info" %}
En las siguientes secciones, los fragmentos de código JSON analizados están abreviados cuando hay más de un elemento disponible para el tipo de resultado.
{% endhint %}

### Feedback reciente

El `recent_feedback` los datos muestran reseñas y feedback recientes de clientes dejados para una lista de producto específica en el marketplace de Amazon.

<figure><img src="/files/8ebac792e7e146a9cc627703293e60c1261274c1" alt=""><figcaption></figcaption></figure>

```json
...
"recent_feedback": [
    {
        "feedback": "Realmente agradecemos que te hayas tomado el tiempo de tu día ocupado para dejar una reseña tan agradable. Como pequeña empresa, realmente nos gusta tratar con clientes como tú que comparten su experiencia positiva.",
        "rated_by": "Por Troy el 29 de enero de 2024.",
        "rating_stars": 5
    },
...
],
...

```

| Clave (recent\_feedback) | Descripción                                                          | Tipo    |
| ------------------------ | -------------------------------------------------------------------- | ------- |
| `feedback`               | El feedback enviado para el vendedor o el producto del vendedor.     | string  |
| `rated_by`               | Información sobre el usuario que ha enviado el feedback y los datos. | string  |
| `rating_stars`           | El número de estrellas enviado.                                      | integer |

### Datos de resumen de feedback

El `feedback_summary_data` son estadísticas de feedback proporcionadas para una lista de producto específica en el marketplace de Amazon. Los datos de resumen de feedback incluyen información para diferentes períodos de tiempo, lo que permite a vendedores y analistas seguir los cambios en el sentimiento del cliente a lo largo del tiempo.

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

```json
...               
 "feedback_summary_data": {
    "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%",
        "2_star": "0%",
        "3_star": "0%",
        "4_star": "20%",
        "5_star": "70%"
    },
 ...
}
...
```

<table><thead><tr><th width="229">Clave (content.feedback_summary_data)</th><th width="354">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>1_month/3_month/12_month/all_time</code></td><td>Un filtro para revisar la información de calificaciones por período de tiempo definido.</td><td>object</td></tr><tr><td><code>1_month-all_time.1_star-5_star</code></td><td>El número de reseñas disponibles para un período de tiempo determinado.</td><td>integer</td></tr><tr><td><code>percentage</code></td><td>La distribución porcentual de las estrellas de calificación para un período de tiempo determinado.</td><td>porcentaje</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.oxylabs.io/api-targets/es/comercio-electronico/amazon/sellers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
