Sistema Integral de Retenciones Electrónicas
anular
Sistema Integral de Retenciones Electrónicas
Solicitud
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
"encoding/json"
)
// Deben cambiar los datos de "params" por los que correspondan.
// Esta request de ejemplo incluye todos posibles valores para
// llamar al metodo anular, puede que algun valor sea opcional.
requestData, _ := json.Marshal(map[string]any {
"environment" : "dev",
"method" : "anular",
"wsid" : "sire-ws",
"params" : map[string]any {
"token" : "string",
"sign" : "string",
"cuitAgente" : 1,
"certificadoAnulacion" : map[string]any {
"version" : 1,
"codigoTrazabilidad" : "string",
"impuesto" : 1,
"numeroCertificado" : "string",
"motivoAnulacion" : 1,
},
},
})
// Creamos un cliente HTTP para llamar a la API
clientRequest := &http.Client {}
urlRequest := "https://app.afipsdk.com/api/v1/afip/requests"
methodRequest := "POST"
reqRequest, _ := http.NewRequest(methodRequest, urlRequest, strings.NewReader(string(requestData)))
// Reemplazar con tu access_token obtenido de https://app.afipsdk.com
accessToken := "TU_TOKEN_AQUI"
reqRequest.Header.Add("Authorization", "Bearer " + accessToken)
// Realizamos la llamada a la API
reqRequest.Header.Add("Content-Type", "application/json")
resRequest, _ := clientRequest.Do(reqRequest)
defer resRequest.Body.Close()
bodyRequest, _ := ioutil.ReadAll(resRequest.Body)
// En caso de error lo mostramos por consola
if resRequest.StatusCode >= 400 {
var responseError map[string]any
json.Unmarshal([]byte(string(bodyRequest)), &responseError)
responseErrorString, _ := json.MarshalIndent(responseError, "", " ")
fmt.Println(string(responseErrorString))
return
}
// Convertimos la respuesta en un objeto
var response map[string]any
json.Unmarshal([]byte(string(bodyRequest)), &response)
// Mostramos la respuesta por consola
responseString, _ := json.MarshalIndent(response, "", " ")
fmt.Println(string(responseString))Respuesta
{
"certificadoNro": "string",
"codigoSeguridad": "string"
}