Factura / CFDI
Cancela un CFDI (Version 2018 - Actualizado para 2022 con Motivo de cancelación) En el caso de que se requiera autorizacion, realiza la petición
DELETE
/
cfdi
/
{id}
Cancela un CFDI (Version 2018 - Actualizado para 2022 con Motivo de cancelación)
En el caso de que se requiera autorizacion, realiza la petición
curl --request DELETE \
--url https://apisandbox.facturama.mx/cfdi/{id} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://apisandbox.facturama.mx/cfdi/{id}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://apisandbox.facturama.mx/cfdi/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://apisandbox.facturama.mx/cfdi/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://apisandbox.facturama.mx/cfdi/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://apisandbox.facturama.mx/cfdi/{id}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apisandbox.facturama.mx/cfdi/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"Id": "J6MjEYRjnLnV6aMCK8dV-w2",
"Status": "canceled",
"CancelationStatus": "canceled"
}Autorizaciones
Autenticación HTTP Basic con usuario y contraseña de Facturama.
Parámetros de ruta
ID del CFDI en Facturama
Parámetros de consulta
Tipo de comprobante para API Web: ( issued | payroll ) y para API Multiemisor: ( issuedLite )
Motivo de cancelación ( 01 | 02 | 03 | 04 )
UUID del comprobante que sustituye al comprobante cancelado
Respuesta
200 - application/json
Al obtener una respuesta exitosa devuelve el CFDI emitido de lo contrario un error con el mensaje
Modelo de respuesta de las llamadas de cancelación de la API
Estado del CFDI ( canceled, requested ,rejected )
UUID del CFDI consultado
Fecha de solicitud de la cancelación
Fecha en que se responde la solicitud de cancelación
Vigencia de la solicitud de cancelación
Vigencia de la solicitud de cancelación
⌘I
Cancela un CFDI (Version 2018 - Actualizado para 2022 con Motivo de cancelación)
En el caso de que se requiera autorizacion, realiza la petición
curl --request DELETE \
--url https://apisandbox.facturama.mx/cfdi/{id} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://apisandbox.facturama.mx/cfdi/{id}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://apisandbox.facturama.mx/cfdi/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://apisandbox.facturama.mx/cfdi/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://apisandbox.facturama.mx/cfdi/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://apisandbox.facturama.mx/cfdi/{id}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apisandbox.facturama.mx/cfdi/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"Id": "J6MjEYRjnLnV6aMCK8dV-w2",
"Status": "canceled",
"CancelationStatus": "canceled"
}