{"openapi":"3.1.0","info":{"title":"Comunicación de Ventanilla Electrónica ARCA","description":"API para la comunicación con la ventanilla electrónica ARCA.","version":"0.1.0"},"paths":{"/api/v1/health":{"get":{"summary":"Health Check","description":"Verifica que la API esté disponible.","operationId":"health_check_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/dummy/":{"get":{"summary":"Dummy","description":"Ejecuta la operación de prueba provista por AFIP para validar credenciales WSAA.","operationId":"dummy_api_v1_dummy__get","parameters":[{"name":"testing","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Testing"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/check_user/":{"get":{"summary":"Check User","description":"Verifica si el usuario y su API Key están registrados y habilitados.","operationId":"check_user_api_v1_check_user__get","parameters":[{"name":"mail","in":"query","required":true,"schema":{"type":"string","title":"Mail"}},{"name":"api_key","in":"query","required":true,"schema":{"type":"string","title":"Api Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/usuarios/":{"post":{"summary":"Crear Usuario","description":"Crea un usuario y envía la API Key por correo electrónico.","operationId":"crear_usuario_api_v1_usuarios__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/usuarios/restablecer_api_key/":{"put":{"summary":"Restablecer Key","description":"Genera una nueva API Key para el usuario y la envía por correo electrónico.","operationId":"restablecer_key_api_v1_usuarios_restablecer_api_key__put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResetKey"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ve/consultar_comunicaciones/":{"post":{"summary":"Ve Consultar Comunicaciones","description":"Consulta el listado paginado de comunicaciones disponibles en Ventanilla Electrónica.\n\nArgs:\n    mail: Dirección de correo registrada en el sistema interno.\n    api_key: API Key emitida para el cliente.\n    body_request: Parámetros de autenticación (WSAA) y filtros de búsqueda.\n    db: Sesión de base de datos para validar al usuario y registrar el log.\n\nReturns:\n    Un diccionario con la solicitud original y la respuesta SOAP parseada.\n\nReferencias:\n    ``ve.cu.ws.consultarComunicaciones`` del manual oficial de AFIP.","operationId":"ve_consultar_comunicaciones_api_v1_ve_consultar_comunicaciones__post","parameters":[{"name":"mail","in":"query","required":true,"schema":{"type":"string","title":"Mail"}},{"name":"api_key","in":"query","required":true,"schema":{"type":"string","title":"Api Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VEConsultarComunicacionesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ve/consumir_comunicacion/":{"post":{"summary":"Ve Consumir Comunicacion","description":"Recupera el contenido y adjuntos de una comunicación individual.\n\nArgs:\n    mail: Dirección de correo registrada en el sistema interno.\n    api_key: API Key emitida para el cliente.\n    body_request: Identificador de la comunicación y bandera para incluir adjuntos MTOM.\n    db: Sesión de base de datos para validar al usuario y registrar el log.\n\nReturns:\n    Si se solicitan adjuntos, devuelve el SOAP parseado (cuando es posible) y los\n    archivos codificados en base64.  De lo contrario, sólo la respuesta SOAP.\n\nReferencias:\n    ``ve.cu.ws.consumirComunicacion`` del manual oficial de AFIP.","operationId":"ve_consumir_comunicacion_api_v1_ve_consumir_comunicacion__post","parameters":[{"name":"mail","in":"query","required":true,"schema":{"type":"string","title":"Mail"}},{"name":"api_key","in":"query","required":true,"schema":{"type":"string","title":"Api Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VEConsumirComunicacionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ve/consultar_sistemas/":{"post":{"summary":"Ve Consultar Sistemas","description":"Obtiene el catálogo de sistemas publicadores registrados en VE.\n\nArgs:\n    mail: Dirección de correo registrada en el sistema interno.\n    api_key: API Key emitida para el cliente.\n    body_request: Datos de autenticación y, opcionalmente, un ID de sistema publicador.\n    db: Sesión de base de datos para validar al usuario y registrar el log.\n\nReferencias:\n    ``ve.cu.ws.consultarSistemasPublicadores`` del manual oficial de AFIP.","operationId":"ve_consultar_sistemas_api_v1_ve_consultar_sistemas__post","parameters":[{"name":"mail","in":"query","required":true,"schema":{"type":"string","title":"Mail"}},{"name":"api_key","in":"query","required":true,"schema":{"type":"string","title":"Api Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VEConsultarSistemasRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ve/consultar_estados/":{"post":{"summary":"Ve Consultar Estados","description":"Recupera el catálogo de estados disponibles para las comunicaciones VE.\n\nArgs:\n    mail: Dirección de correo registrada en el sistema interno.\n    api_key: API Key emitida para el cliente.\n    body_request: Datos de autenticación WSAA.\n    db: Sesión de base de datos para validar al usuario y registrar el log.\n\nReferencias:\n    ``ve.cu.ws.consultarEstados`` del manual oficial de AFIP.","operationId":"ve_consultar_estados_api_v1_ve_consultar_estados__post","parameters":[{"name":"mail","in":"query","required":true,"schema":{"type":"string","title":"Mail"}},{"name":"api_key","in":"query","required":true,"schema":{"type":"string","title":"Api Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VEConsultarEstadosRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/logs/":{"post":{"summary":"Recuperar Respuesta","description":"Recupera los logs generados por el consumo de servicios de AFIP.\n\nArgs:\n    mail: Dirección de correo registrada para el usuario.\n    api_key: API Key emitida por la plataforma.\n    body_request: Filtros opcionales (fechas y CUIT) para acotar los resultados.\n    db: Sesión de base de datos utilizada para validar al usuario y ejecutar la consulta.\n\nReturns:\n    Un listado de solicitudes con sus respuestas, excluyendo token y firma\n    del payload almacenado.","operationId":"recuperar_respuesta_api_v1_logs__post","parameters":[{"name":"mail","in":"query","required":true,"schema":{"type":"string","title":"Mail"}},{"name":"api_key","in":"query","required":true,"schema":{"type":"string","title":"Api Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Logs_request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Logs_request":{"properties":{"Fecha_desde":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Desde","description":"Fecha desde la cual se quiere obtener los logs (yyyyMMdd)","example":"20210101"},"Fecha_hasta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Hasta","description":"Fecha hasta la cual se quiere obtener los logs (yyyyMMdd)","example":"20210131"},"Cuit_representante":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cuit Representante","description":"CUIT del representante en ARCA/AFIP","example":"20345678901"},"Cuit_representado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cuit Representado","description":"CUIT del representado en ARCA/AFIP","example":"30987654321"}},"type":"object","title":"Logs_request","description":"Parámetros para filtrar los registros de auditoría generados por la API."},"UserCreate":{"properties":{"mail":{"type":"string","title":"Mail","description":"Dirección de correo utilizada para autenticarse en la API","example":"tu-mail@ejemplo.com.ar"}},"type":"object","required":["mail"],"title":"UserCreate","description":"Datos mínimos para registrar un usuario consumidor de la API."},"UserResetKey":{"properties":{"mail":{"type":"string","title":"Mail","description":"Dirección de correo registrada en la API","example":"tu-mail@ejemplo.com.ar"}},"type":"object","required":["mail"],"title":"UserResetKey","description":"Solicitud para regenerar la API Key enviada previamente."},"VEAuthRequest":{"properties":{"token":{"type":"string","title":"Token","description":"Token base64 emitido por WSAA (ver sección 2 del manual)","example":"base64token"},"sign":{"type":"string","title":"Sign","description":"Firma digital base64 emitida por WSAA","example":"base64sign"},"cuitRepresentada":{"type":"string","title":"Cuitrepresentada","description":"CUIT titular de la comunicación a consultar","example":"20269841575"},"testing":{"type":"boolean","title":"Testing","description":"Indica si la operación se ejecuta en ambiente de homologación","default":false,"example":false}},"type":"object","required":["token","sign","cuitRepresentada"],"title":"VEAuthRequest","description":"Credenciales WSAA requeridas por los métodos del servicio VE."},"VEConsultarComunicacionesFilter":{"properties":{"estado":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estado","description":"Estado de la comunicación (1=No leída, 2=Leída)","example":1},"fecha_desde":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Desde","description":"Fecha límite inferior (AAAA-MM-DD)","example":"2024-01-01"},"fecha_hasta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Hasta","description":"Fecha límite superior (AAAA-MM-DD)","example":"2024-12-31"},"comunicacion_id_desde":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Comunicacion Id Desde","description":"Identificador mínimo de comunicación","example":123456},"comunicacion_id_hasta":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Comunicacion Id Hasta","description":"Identificador máximo de comunicación","example":123999},"tiene_adjunto":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tiene Adjunto","description":"Filtra comunicaciones que incluyen adjuntos MTOM","example":false},"sistema_publicador_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sistema Publicador Id","description":"Identificador del sistema publicador informado por AFIP","example":19},"pagina":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pagina","description":"Número de página a recuperar (>=1)","example":1},"resultados_por_pagina":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Resultados Por Pagina","description":"Cantidad de resultados por página (1-100)","example":100},"referencia1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referencia1","description":"Primer dato de referencia definido por el organismo","example":"Aviso"},"referencia2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referencia2","description":"Segundo dato de referencia definido por el organismo","example":"Importante"}},"type":"object","title":"VEConsultarComunicacionesFilter","description":"Filtros opcionales para ``consultarComunicaciones``."},"VEConsultarComunicacionesRequest":{"properties":{"AuthRequest":{"$ref":"#/components/schemas/VEAuthRequest"},"Filter":{"anyOf":[{"$ref":"#/components/schemas/VEConsultarComunicacionesFilter"},{"type":"null"}],"description":"Conjunto de filtros opcionales definidos por AFIP"}},"type":"object","required":["AuthRequest"],"title":"VEConsultarComunicacionesRequest","description":"Payload requerido por ``consultarComunicaciones``."},"VEConsultarEstadosRequest":{"properties":{"AuthRequest":{"$ref":"#/components/schemas/VEAuthRequest"}},"type":"object","required":["AuthRequest"],"title":"VEConsultarEstadosRequest","description":"Solicitud mínima para ``consultarEstados``."},"VEConsultarSistemasRequest":{"properties":{"AuthRequest":{"$ref":"#/components/schemas/VEAuthRequest"},"idSistemaPublicador":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Idsistemapublicador","description":"Identificador del sistema publicador informado por AFIP","example":8}},"type":"object","required":["AuthRequest"],"title":"VEConsultarSistemasRequest","description":"Estructura de entrada para ``consultarSistemasPublicadores``."},"VEConsumirComunicacionRequest":{"properties":{"AuthRequest":{"$ref":"#/components/schemas/VEAuthRequest"},"idComunicacion":{"type":"integer","title":"Idcomunicacion","description":"Identificador numérico de la comunicación a consumir","example":123456},"incluirAdjuntos":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Incluiradjuntos","description":"Incluye adjuntos MTOM en la respuesta cuando es True","default":false,"example":false}},"type":"object","required":["AuthRequest","idComunicacion"],"title":"VEConsumirComunicacionRequest","description":"Parámetros admitidos por ``consumirComunicacion``."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}