Automatizaciones
Domicilio Fiscal Electrónico
Domicilio Fiscal Electrónico
Esta automatización sirve para obtener las comunicaciones del Domicilio Fiscal Electrónico.
Requisitos previos
Para poder usar esta automatización, primero necesitarás:
Nombre
domicilio-fiscal-electronico
Parametros
cuitstring
CUIT a usar en la página de ARCA.usernamestring
CUIT para loguearse en la página de ARCA. Normalmente es el mismo CUIT que el parámetro 'cuit', pero si administrás una sociedad, el CUIT que usás para loguearte es tu propio CUIT.passwordstring
Contraseña para loguearse en la página de ARCA.filtersobject
Filtros para las comunicaciones.fechaPublicacionSincestring
Desde qué fecha obtener las comunicaciones. En formato: yyyy-mm-dd.fechaPublicacionTostring
Hasta qué fecha obtener las comunicaciones. En formato: yyyy-mm-dd.Solicitud
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
"encoding/json"
"time"
)
// Aqui deben cambiar los datos de params por los que correspondan.
// Esta request de ejemplo incluye todos posibles
// valores para ejecutar la automatizacion domicilio-fiscal-electronico,
// puede que algun valor sea opcional.
requestData, _ := json.Marshal(map[string]any {
"automation" : "domicilio-fiscal-electronico",
"params" : map[string]any {
"cuit" : "20111111112",
"username" : "20111111112",
"password" : "contraseña#segura?",
"filters" : map[string]any {
"fechaPublicacionSince" : "2025-02-14",
"fechaPublicacionTo" : "2026-02-14",
},
},
})
// Creamos un cliente HTTP para llamar a la API
clientRequest := &http.Client {}
urlRequest := "https://app.afipsdk.com/api/v1/automations"
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))
// Expera maxima de 120 segundos (5 segundos * 24)
retries := 24
for retries >= 0 {
retries--
reqRequest, _ := http.NewRequest("GET", "https://app.afipsdk.com/api/v1/automations/" + response["id"].(string), nil)
// Realizamos la llamada a la API
reqRequest.Header.Add("Authorization", "Bearer " + accessToken)
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)
if(response["status"] == "complete"){
// Mostramos la respuesta por consola
responseString, _ := json.MarshalIndent(response, "", " ")
fmt.Println(string(responseString))
break
}
time.Sleep(5 * time.Second)
}Respuesta
{
"id": "0c31d74f-d672-4677-a00b-7dc865396c69",
"status": "complete",
"data": {
"paginacion": null,
"comunicaciones": [
{
"idComunicacion": 123456789,
"cuitDestinatario": 30000057568,
"organismo": 33693450239,
"organismoDesc": "ARCA",
"fechaPublicacion": "2025-10-29T09:13:30.000-03",
"fechaVencimiento": "2026-10-29T00:00:00.000-03",
"sistemaPublicador": 105,
"estado": 2,
"prioridad": 1,
"tieneAdjunto": true,
"oficio": false,
"tipo": 1,
"mensaje": "Adhesión al Domicilio Fiscal Electrónico - Notificación",
"prioridadDesc": null,
"estadoDesc": null,
"tiempoDeVida": 365,
"sistemaPublicadorDesc": null,
"adjuntos": [
{
"adjunto": {
"processed": false,
"filename": "DFE-A.30000057568.pdf",
"encrypted": false,
"public": false,
"contentSize": 65520,
"idArchivo": 594834429,
"signed": false,
"compressed": false,
"md5": "b6bdc83c5b5bca7a5bbf34a5dedcb938",
"fileBase64": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9XaWR0aCAxMTcz..."
}
}
]
},
{
"idComunicacion": 123456789,
"cuitDestinatario": 30000057568,
"organismo": 33693450239,
"organismoDesc": "ARCA",
"fechaPublicacion": "2025-12-04T15:15:23.000-03",
"fechaVencimiento": "2026-06-02T15:15:23.000-03",
"sistemaPublicador": 108,
"estado": 2,
"prioridad": 1,
"tieneAdjunto": false,
"oficio": true,
"fechaNotificacion": "2025-12-09T00:00:00.000-03",
"tipo": 2,
"mensaje": "ASUNTO: ESTADO ADMINISTRATIVO DE LA CUIT. RESULTADO EVALUACION ESTADO ADMINISTRATIVO DE LA CUIT R.G. AFIP ...",
"prioridadDesc": null,
"estadoDesc": null,
"tiempoDeVida": 365,
"sistemaPublicadorDesc": null,
"adjuntos": []
}
]
}
}