Ir al contenido

Integración paso a paso

Para comenzar el proceso de integración, consulte las instrucciones detalladas paso a paso proporcionadas aquí.

El diagrama adjunto ilustra el flujo de trabajo y destaca los pasos esenciales necesarios para completar con éxito su integración, para los cuales necesitará utilizar nuestra API SIGN PT.

SIGN PT integration workflowEleven-step SIGN PT integration workflow with tiles linking to the matching setup steps below.Register on HUBHUBCreate Account &Organization GROUPHUBCreate API KeyHUBCreate TokenSIGN PT APICreate OrganizationUNITSIGN PT APICreate SubjectAPI_KEYSIGN PT APICreate TokenSIGN PT APICreate TaxpayerCOMPANY orINDIVIDUALSIGN PT APICreate LocationBRANCHSIGN PT APICreate SystemFISCAL_DEVICESIGN PT APICreate RecordSIGN PT API
  1. Registrarse en HUB

    Comience registrándose en el fiskaly HUB. Para más orientación sobre cómo empezar, diríjase a nuestra sección HUB - Primeros pasos.

    Register on HUB
  2. Crear Cuenta y Organización GROUP

    Crear una Cuenta fiskaly es el primer paso, tras el cual puede proceder a configurar la primera estructura organizativa para su negocio y generar su Clave de API.

    La Cuenta representa al proveedor de TPV o a un minorista que opera su propio sistema TPV. Es la organización de nivel superior en la estructura.

    Después de crear su Cuenta fiskaly, accederá al Selector de Organización donde podrá crear su Grupo.

    Un Grupo es un nivel intermedio dentro de una Cuenta que le ayuda a organizar múltiples Units en grupos lógicos.

  3. Crear Clave de API

    El siguiente paso es generar una Clave de API para su organización a través del HUB. Este par de Clave de API y Secret es necesario para crear su primera Organización de tipo UNIT (Paso 5).

  1. Crear Token

    A partir de este paso, utilizará la API SIGN PT.

    Llame al endpoint createToken con la Clave de API y el Secret del paso 3 para obtener un token bearer. Incluya este token en el encabezado Authorization de los pasos 5 y 6.

    Los tokens son JWT de corta duración que autentican cada llamada SIGN PT posterior. Se obtienen por ámbito de Cuenta u Organización.

  2. Crear Organización UNIT

    Cree una Organización de tipo UNIT a través del endpoint createOrganization. Una UNIT representa una única entidad legal (comerciante). Deberá crear una Organización UNIT para cada representación de contribuyente que gestione.

    El uso del token bearer generado en el Paso 4 con la Clave de API y el Secret creados para su Grupo garantiza que la UNIT quede correctamente anidada bajo ese Grupo en la jerarquía.

  3. Crear Subject (Clave de API)

    Cree un Subject de tipo API_KEY para la Organización UNIT a través del endpoint createSubject.

    Para asociar el Subject (Clave de API) con su UNIT, incluya el encabezado X-Scope-Identifier con el id de la Organización UNIT en su solicitud.

  4. Crear nuevo Token

    Cree un token usando la Clave de API Subject y el Secret que acaba de generar. Este token bearer se utilizará para todos los pasos posteriores para crear recursos dentro de la Organización UNIT correspondiente.

  1. Crear Contribuyente

    Ahora está listo para empezar a crear las partes operativas requeridas para la fiscalización en Portugal.

    Utilice el endpoint createTaxpayer de la API SIGN PT para crear la representación de un contribuyente de la siguiente manera:

    • Establezca el contribuyente como tipo Company (persona jurídica) o Individual (persona física). En ambos casos, se debe proporcionar el nombre y la dirección.
    • Dentro de la información de fiscalización portuguesa, se deben proporcionar al menos los siguientes datos del contribuyente:
      • tax_id_number: el NIF (Número de Identificação Fiscal) portugués del contribuyente. 9 dígitos, sin espacios ni separadores (p. ej. 501234567).
      • credentials: las credenciales de subusuario AT que SIGN PT utilizará para llamar a los servicios web AT en nombre de este contribuyente:
        • Nombre de usuario: el identificador del subusuario en formato <NIF>/<subuser-id> (p. ej. 501234567/5), tal como lo emite el Portal das Finanças.
        • Contraseña: la contraseña establecida para ese subusuario.

    Estas no son las credenciales principales del Portal das Finanças del comerciante. Deben ser un subusuario dedicado creado específicamente para el acceso al servicio web — vea la nota Importante a continuación.

    Para instrucciones paso a paso sobre cómo crear el subusuario, consulte Crear el subusuario en el Portal das Finanças.

    Una vez que crea un Taxpayer, ya sea de tipo Company o Individual, su estado se establece en ACQUIRED de forma predeterminada. Para hacerlo completamente funcional, actualice el estado a COMMISSIONED usando el endpoint updateTaxpayer.

  2. Crear Ubicación

    Para cada ubicación comercial operativa, cree una Ubicación de tipo BRANCH a través del endpoint createLocation.

    Una vez creada una Ubicación, su estado se establece en ACQUIRED de forma predeterminada. Actualice el estado a COMMISSIONED usando el endpoint updateLocation antes de continuar.

  3. Crear Sistema

    El endpoint createSystem le permite crear una abstracción de cada Sistema de Registro Electrónico (ERS) utilizado para operaciones fiscales. Cada caja registradora o punto de venta debe proporcionarse como un nuevo Sistema de tipo FISCAL_DEVICE.

    • Un Sistema se conectará a una Ubicación específica de tipo BRANCH, creada previamente.

    Una vez creado un Sistema, su estado se establece en ACQUIRED de forma predeterminada. Para crear Registros, su estado debe actualizarse a COMMISSIONED usando el endpoint updateSystem.

  4. Crear Registro

    Para cada operación comercial realizada en el Sistema, el endpoint createRecord debe llamarse dos veces en secuencia: primero para registrar la intención de iniciar una transacción, y luego para proporcionar los datos de la transacción.

    Parte A) Intention

    Un Record de tipo INTENTION contiene la asociación con el Sistema que llevará a cabo la transacción y una Operation de tipo TRANSACTION, que representa la intención del Sistema de registrar una transacción.

    Parte B) Transaction

    Un Record de tipo TRANSACTION está asociado con la INTENTION creada previamente y puede realizar una de las siguientes operaciones:

    • INVOICE/RECEIPT: Representa la venta de un bien o servicio, incluyendo detalles del documento (número de documento, código de actividad, fecha de transacción, importes totales incl. y excl. IVA) y líneas de artículos (cada línea tiene un entries[].type como SALE, descripción, si es un GOOD o SERVICE, etc.).
    • CORRECTION: Emite un documento correctivo (NC para crédito / ND para débito) haciendo referencia a un INVOICE/RECEIPT creado previamente. Contiene las líneas corregidas y una reference_id al documento original.
    • CANCELLATION: Se utiliza para invalidar una transacción completa. Requiere el id de un record creado previamente.

    Tras enviar el Record TRANSACTION, SIGN PT realiza los pasos de emisión conforme para la operación seleccionada: asigna el siguiente número secuencial de la serie (los números no se preasignan), firma y encadena el documento, y genera los datos necesarios para la representación final orientada al cliente.

    Según la configuración de comunicación del Contribuyente, los mismos datos de transacción se incluyen entonces:

    • en la comunicación/exportación SAF-T (PT) (para envío mensual), y/o
    • comunicados a AT a través de servicios web (p. ej., facturas a través de WFA; documentos de transporte a través de WDT, si corresponde y se otorgaron permisos).

    Una vez finalizado el procesamiento, SIGN PT devuelve (a través de la respuesta del Record y/o artefactos recuperables del Record):

    • el payload de cumplimiento requerido para la impresión (p. ej., ATCUD, contenido del código QR, el fragmento hash y el número de certificado del software)
    • los datos del documento firmado/encadenado necesarios para construir la representación final del recibo/factura, y
    • información de estado de procesamiento del Record (éxito/fallo y detalles de error relevantes).

Was this page helpful?