# Reiniciar los datos de prueba

`POST https://api.fiscalisto.com/v1/test_data/reset`

Deja el modo de pruebas como nuevo: cada emisor de pruebas conserva su RFC y su CSD de pruebas pero pierde sus facturas, clientes, productos, lotes, ligas y descargas, y se borran los eventos y el registro de solicitudes de pruebas. Las llaves y los webhooks se quedan. Con seed (por omisión) deja 3 clientes y 3 productos de ejemplo. Solo con una llave fk_test_; producción nunca se toca.

## Parámetros

| Nombre | Dónde | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `Idempotency-Key` | encabezado |  | Opcional (los SDK la mandan solos). Si la respuesta se pierde, repita la solicitud con el mismo valor durante 24 horas: contesta lo mismo, con idempotent-replayed: true, y no lo hace dos veces (ni crea, ni manda correos, ni cobra). |

## Cuerpo

| Campo | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `seed` | boolean |  | true (por omisión) para dejarle a cada emisor de pruebas 3 clientes y 3 productos de ejemplo. false para dejarlo vacío. (por omisión true) |

Ejemplo:

```json
{
  "seed": true
}
```

## Con el SDK de TypeScript

```ts
import { Fiscalisto } from "fiscalisto";

// La llave viene de FISCALISTO_API_KEY.
const fiscalisto = new Fiscalisto();

const testDataReset = await fiscalisto.testData.reset({ seed: true }, { idempotencyKey: "pedido-A-1042" });
```

## Con el SDK de Python

```python
from fiscalisto import Fiscalisto

# La llave viene de FISCALISTO_API_KEY.
fiscalisto = Fiscalisto()

test_data_reset = fiscalisto.test_data.reset({"seed": True}, idempotency_key="pedido-A-1042")
```

## Con el SDK de PHP

```php
<?php

use Fiscalisto\Fiscalisto;

// La llave viene de FISCALISTO_API_KEY.
$fiscalisto = new Fiscalisto();

$testDataReset = $fiscalisto->testData->reset(['seed' => true], ['idempotency_key' => 'pedido-A-1042']);
```

## Con el SDK de .NET

```csharp
using Fiscalisto;

// La llave viene de FISCALISTO_API_KEY.
var fiscalisto = new FiscalistoClient();

var testDataReset = await fiscalisto.TestData.ResetAsync(new ResetTestDataParams { Seed = true }, new RequestOptions { IdempotencyKey = "pedido-A-1042" });
```

## Con el SDK de Go

```go
package main

import (
	"context"
	"fmt"
	"log"

	fiscalisto "fiscalisto.com/go"
)

func main() {
	// La llave viene de FISCALISTO_API_KEY.
	client, err := fiscalisto.NewClient("")
	if err != nil {
		log.Fatal(err)
	}
	ctx := context.Background()

	testDataReset, err := client.TestData.Reset(ctx, &fiscalisto.ResetTestDataParams{Seed: fiscalisto.Bool(true)}, fiscalisto.WithIdempotencyKey("pedido-A-1042"))
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", *testDataReset)
}
```

## Con el SDK de Java

```java
import com.fiscalisto.FiscalistoClient;
import com.fiscalisto.RequestOptions;
import com.fiscalisto.model.ResetTestDataParams;

// La llave viene de FISCALISTO_API_KEY.
var fiscalisto = new FiscalistoClient();

var testDataReset = fiscalisto.testData().reset(new ResetTestDataParams().setSeed(true), RequestOptions.idempotencyKey("pedido-A-1042"));
System.out.println(testDataReset);
```

## Respuesta 200

Correcto.

Un objeto `TestDataReset`:

| Campo | Tipo | Siempre viene | Descripción |
| --- | --- | --- | --- |
| `object` | `"test_data_reset"` | sí | Qué tipo de objeto es («invoice», «customer»…). |
| `livemode` | `false` | sí | true en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT. |
| `issuers` | integer | sí | Cuántos emisores de pruebas se vaciaron (archivados incluidos). (de -9007199254740991 a 9007199254740991) |
| `deleted_rows` | integer | sí | Cuántos registros se borraron: facturas, clientes, productos, lotes, ligas, descargas… (de -9007199254740991 a 9007199254740991) |
| `deleted_events` | integer | sí | Cuántos eventos de pruebas se borraron (con sus entregas). (de -9007199254740991 a 9007199254740991) |
| `customers_created` | integer | sí | Clientes de ejemplo creados (con seed). (de -9007199254740991 a 9007199254740991) |
| `products_created` | integer | sí | Productos de ejemplo creados (con seed). (de -9007199254740991 a 9007199254740991) |

```json
{
  "object": "test_data_reset",
  "livemode": false,
  "issuers": 1,
  "deleted_rows": 214,
  "deleted_events": 37,
  "customers_created": 3,
  "products_created": 3
}
```

## Errores

Puede responder 400, 401, 403, 404, 429, 500 con el cuerpo de error de siempre; cada código está en https://fiscalisto.com/docs/api/errores.md.
