# PreCFDI - Obtener XML y PDF por ID

GET https://fenix-api/precfdi/9NnrAZlX

Este endpoint permite recuperar una petición PreCFDI específica por su identificador.

Está diseñado para:

- consultar una petición individual
    
- recuperar su XML
    
- Recuperar su PDF
    

Es útil para integraciones que necesiten descargar o procesar el PreCFDI generado previamente en Fénix.

---

## Path Params

| Parámetro | Tipo | Requerido | Descripción |
| --- | --- | --- | --- |
| `id` | string | Sí | Identificador único de la petición PreCFDI. Corresponde al `id` obtenido al listar las peticiones. |

---

## Ejemplo de request

```
GET {{baseUrl}}/precfdi/9NnrAZlX

 ```

---

## Descripción del response

### Objeto raíz

| Campo | Tipo | Descripción |
| --- | --- | --- |
| `xml` | string | Archivo XML del PreCFDI codificado en Base64. |
| `pdf` | string | Archivo PDF del PreCFDI codificado en Base64. |

## Notas de uso

-   
    El valor de `id` se obtiene del campo `id` al consultar el listado de peticiones PreCFDI.  
    
-   
    El campo `xml` contiene el comprobante en formato XML codificado en Base64.  
    
-   
    El campo `pdf` contiene la representación en PDF codificada en Base64.

Reference: https://doc.ediwebalterno.com/fenix-sellers/pre-cfdi-obtener-xml-y-pdf-por-id

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /precfdi/9NnrAZlX:
    get:
      operationId: pre-cfdi-obtener-xml-y-pdf-por-id
      summary: PreCFDI - Obtener XML y PDF por ID
      description: >-
        Este endpoint permite recuperar una petición PreCFDI específica por su
        identificador.


        Está diseñado para:


        - consultar una petición individual
            
        - recuperar su XML
            
        - Recuperar su PDF
            

        Es útil para integraciones que necesiten descargar o procesar el PreCFDI
        generado previamente en Fénix.


        ---


        ## Path Params


        | Parámetro | Tipo | Requerido | Descripción |

        | --- | --- | --- | --- |

        | `id` | string | Sí | Identificador único de la petición PreCFDI.
        Corresponde al `id` obtenido al listar las peticiones. |


        ---


        ## Ejemplo de request


        ```

        GET {{baseUrl}}/precfdi/9NnrAZlX

         ```

        ---


        ## Descripción del response


        ### Objeto raíz


        | Campo | Tipo | Descripción |

        | --- | --- | --- |

        | `xml` | string | Archivo XML del PreCFDI codificado en Base64. |

        | `pdf` | string | Archivo PDF del PreCFDI codificado en Base64. |


        ## Notas de uso


        -   
            El valor de `id` se obtiene del campo `id` al consultar el listado de peticiones PreCFDI.  
            
        -   
            El campo `xml` contiene el comprobante en formato XML codificado en Base64.  
            
        -   
            El campo `pdf` contiene la representación en PDF codificada en Base64.
      tags:
        - ''
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PreCFDI - Obtener XML y PDF por
                  ID_Response_200
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPrecfdi9nnrazlxRequestNotFoundError'
servers:
  - url: https://fenix-api
  - url: https://precfdi
  - url: https://cfdi
components:
  schemas:
    PreCFDI - Obtener XML y PDF por ID_Response_200:
      type: object
      properties:
        xml:
          type: string
        pdf:
          type: string
      required:
        - xml
        - pdf
      title: PreCFDI - Obtener XML y PDF por ID_Response_200
    Precfdi9NnrAZlXGetResponsesContentApplicationJsonSchemaError:
      type: object
      properties:
        details:
          type: string
        message:
          type: string
      required:
        - details
        - message
      title: Precfdi9NnrAZlXGetResponsesContentApplicationJsonSchemaError
    GetPrecfdi9nnrazlxRequestNotFoundError:
      type: object
      properties:
        error:
          $ref: >-
            #/components/schemas/Precfdi9NnrAZlXGetResponsesContentApplicationJsonSchemaError
      required:
        - error
      title: GetPrecfdi9nnrazlxRequestNotFoundError

```

## SDK Code Examples

```python PreCFDI - Obtener XML y PDF por ID_example
import requests

url = "https://fenix-api/precfdi/9NnrAZlX"

response = requests.get(url)

print(response.json())
```

```javascript PreCFDI - Obtener XML y PDF por ID_example
const url = 'https://fenix-api/precfdi/9NnrAZlX';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go PreCFDI - Obtener XML y PDF por ID_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://fenix-api/precfdi/9NnrAZlX"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby PreCFDI - Obtener XML y PDF por ID_example
require 'uri'
require 'net/http'

url = URI("https://fenix-api/precfdi/9NnrAZlX")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java PreCFDI - Obtener XML y PDF por ID_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://fenix-api/precfdi/9NnrAZlX")
  .asString();
```

```php PreCFDI - Obtener XML y PDF por ID_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://fenix-api/precfdi/9NnrAZlX');

echo $response->getBody();
```

```csharp PreCFDI - Obtener XML y PDF por ID_example
using RestSharp;

var client = new RestClient("https://fenix-api/precfdi/9NnrAZlX");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift PreCFDI - Obtener XML y PDF por ID_example
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://fenix-api/precfdi/9NnrAZlX")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```