Introducción

                 WEB SERVICE DE FIRMA VIRTUAL (API REST)
               
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@****#@@@@@@@@@@@@@@@@@@@@@@@@@@@%////@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@&***********@@@@@@@@@@@@@@@@@@@@@///////////@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@*****************@@@@@@@@@@@@@@@/////////////////@@@@@@@@@@@@@@@
@@@@@@@@@@@@@&////////////////*****@@@@@@@@@@@/////////////////////@@@@@@@@@@@@@
@@@@@@@@@@@///////////////////////////@@@@@///////////////////////////@@@@@@@@@@
@@@@@@@@@///////////////////////////////@///////////////////////////////@@@@@@@@
@@@@@@/////////////////////////////////%%%(////////////////////////////////@@@@@
@@@@((((((((((((((//////////////////%%%%%%%%%////////////////////////////////@@@
@(((((((((((((((((((((((((((((((/(%%%%%%%%%%%%%(////////////////////////////////
(((((((((((((((((((((((((((((((%%%%%%%%%%%%%%%%%%%//////////////////////////////
(((((((((((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%(///////////////////////////
##((((((((((((((((((((((((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/////////////////////////
################(((((((#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%////////////////////////
#####################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(//////////////////////////
###################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/////////////////////////////
################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(///////////////////////////////
@@%###########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%////////////////////////////////(@
@@@@@######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(////////////////////////////////@@@@
@@@@@@@##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%////////////////////////////////(@@@@@@
@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(////////////////////////////@@@@@@@@@
@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%///////////////////////(@@@@@@@@@@@
@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(//////////////////@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/////////////(@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(////////@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%///(@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                
            

Los Servicios Web de Firma Virtual, o WSFV para abreviar, es un conjunto de servicios web que permiten a los clientes interactuar con Firma Virtual para realizar operaciones tales como: registrarse en el sistema, iniciar sesion, crear contratos, gestionar documentos, firmar contratos con Firma Electornica Simple y pagar contratos o administrarlo. Nuestro WSFV esta orientado para todos aquellos clientes que quieran automatizar la firma de documentos con protocolización o certificación notarial según los servicios que disponga nuestra empresa.

Para usar esta API necesitas un Token Bearer que se obtiene luego de la autenticación que se realiza previamente en nuestro sistema de registro. Para más información, contactarse con: jose@firmavirtual.legal

Flujo de Proceso: A continuación se describe el flujo del proceso completo para el registro de un usuario, creación del contrato, obtener firma electrónica simple y certificar o protocolizar un documento.

Consideraciones

  • Este servicio tiene un límite de request para el envío de correos electrónicos a los participantes.
  • La notificación de entrega, revisión, pago y finalización de documentos se realiza vía correo electrónico.
  • Solo se puede crear máximo de 10 participantes por contrato.
  • Este servicio tiene un límite de request para la cantidad de archivos que se pueden unificar.
  • El peso máximo por archivo PDF a subir es de 50MB en modo QA.
  • La pasarela de pago que esta integrado a nuestro sistema actualmente es el ambiente en de prueba de webpay plus, los datos de las tarjeta de testing estan en la documentacion de transbank. ref: Transbank
  • Al momento de crear el contrato, se debe utilizar el siguiente RUT: 76795561-8 en el ambiente QA para completar el flujo de proceso.

UserDataLogin

               
Esctructura de UserDataLogin:
Tipo: RAW
Method: POST 
Header: Content-Type | application/json 
Body:
{
    "login": "userapp",
    "password": "OnePass"
}
                
            

Servicio para obtener el JWT Token Authorization Bearer para utilizar el API.
Endpoint QA: qa.firmavirtual.legal/logindata


            
Response :
{
   "code": 200,
    "status": "success",
    "message": {
        "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
    }
}
            
        

Parámetros Request

Nombre Tipo de Datos Descripción
login String Usuario para consumir el servicio.
password String Clave para consumir el servicio.

Parámetros Response

Nombre Tipo de Datos Descripción
message String JWT Token Bearer.

Catálogo de errores y mensajes fallidos

Message Descripción status
Login failed: Email or password incorrect. Credenciales incorrectas. 400.

GetAllUser

               
Esctructura de GetAllUser:
Tipo: -
Method: GET 
Query Params: IDUser
Header: Content-Type | application/json , Authorization | Token JWT
                
            

Servicio para obtener los datos de un usuario en específico registrado en sistema a través de su ID.
Endpoint QA: qa.firmavirtual.legal/api/v1/userapp/1


            
Response :
{
    "code": 200,
    "status": "success",
    "message": {
        "iUserID": 1,
        "iProfileID": 0,
        "sRUT": "323231035",
        "sEmail": "andri.marin@gmail.com",
        "sPhone": "584127957852",
        "sFirstName": "ANDRI",
        "sLastName": "MARIN",
        "sLogin": "andrimarin",
        "sPassword": "df011cb798c582ddf0760c1fb7...",
        "sStatus": "ENABLE",
        "sComments": "NA"
    }
}
            
        

Parámetros Request

Nombre Tipo de Datos Descripción
Autorization String Token Bearer obtenido al invocar el método “Login Data”.

Query Params

Nombre Tipo de Datos Descripción
IDUser integer Identificador único del usuario registrado en el sistemas

Parámetros Response

Nombre Tipo de Datos Descripción
iUserID integer Id del usuario generado por el sistema al momento de la creacion
iProfileID integer Id del perfil de usuario generado por el sistema al momento de la creación
sRUT string RUT del usuario registrado
sEmail string Correo electrónico registrado por el usuario
sPhone string Teléfono registrado por el usuario
sFirstName string Nombres registrado por el usuario
sLastName string Apellidos registrado por el usuario
sLogin string Usuario creado por el usuario que sirve para iniciar sesión en el sistema.
sPassword string Contraseña creada por el usuario
sStatus string Estatus del usuario, los valores posibles son ENABLE y DISABLE
sComments string Comentarios adicionales sobre este usuario.
sUserType string Valores posibles: NATURAL o LEGAL (LEGAL si consideras que el usuario es de tipo empresa, NATURAL si consideras que el usuario no es de tipo empresa.

Catálogo de errores y mensajes fallidos

Message Descripción status
Login failed: Email or password incorrect. Credenciales incorrectas. 400.

CreateUserApp

               
Esctructura de CreateUserApp:
Tipo: RAW
Method: POST 
Headers: Content-Type | application/json
Body:    
{
  "iProfileID": 0,
  "sRUT": "11111111-1",
  "sFirstName": "Jose",
  "sLastName": "Cortesia",
  "sEmail": "contacto@josecortesia.cl",
  "sPhone": "+56978570242",
  "sLogin": "cortesia",
  "sPassword": "1234567890*",
  "sComments": "Inversión y Propiedades",
  "sUserType": "LEGAL"
}
                
            

Servicio que permite crear un usuario nuevo en el sistema.
Endpoint QA: qa.firmavirtual.legal/api/v1/userapp


            
Response :
{
   "code": 201,
   "status": "success",
   "message": {
       "iUserID": 4,
       "iProfileID": 0,
       "sRUT": "32.256.125-Y",
       "sEmail": "jhondoe5@gmail.com",
       "sPhone": "0586544554",
       "sFirstName": "JOHN",
       "sLastName": "DOE",
       "sLogin": "andrimarin5",
       "sPassword": "!--SECRET--!",
       "sStatus": "ENABLE",
       "sComments": "Este usuario fue actualizado"
   }
}
            
        

Parámetros Request

Nombre Tipo de Datos Descripción
iProfileID integer Id del perfil de usuario generado por el sistema al momento de la creación
sRUT string RUT del usuario a registrar
sEmail string Correo electrónico del usuario a registrar
sPhone string Teléfono del usuario a registrar
sFirstName string Nombres del usuario a registrar
sLastName string Apellidos del usuario a registrar
sLogin string Usuario a registrar que sirve para iniciar sesión en el sistema.
sPassword string Contraseña del usuario a registrar
sComments string Comentarios adicionales sobre este usuario.

Parámetros Response

Nombre Tipo de Datos Descripción
iUserID integer Id del usuario generado por el sistema al momento de la creacion
iProfileID integer Id del perfil de usuario generado por el sistema al momento de la creación
sRUT string RUT del usuario registrado
sEmail string Correo electrónico registrado por el usuario
sPhone string Teléfono registrado por el usuario
sFirstName string Nombres registrado por el usuario
sLastName string Apellidos registrado por el usuario
sLogin string Usuario creado por el usuario que sirve para iniciar sesión en el sistema.
sPassword string Contraseña creada por el usuario
sStatus string Estatus del usuario
sComments string Comentarios adicionales sobre este usuario.

Catálogo de errores y mensajes fallidos

Message Descripción status
Email exists El correo electrónico utilizado para registrar el usuario ya existe en el sistema. 200.
THIS Login already exists El nombre de usuario utilizado para registrar el usuario ya existe en el sistema. 200.
Invalid Login must be alphanumeric whit 6 to 16 length La contraseña utilizada para registrar el usuario no cumplen con las políticas de seguridad del sistema. 200.

UpdateUserApp

               
Esctructura de UpdateUserApp:
Tipo: RAW
Method: PUT
Headers: Content-Type | application/json , Authorization | Token JWT
Body:

{
    "sFirstName": "oriana aas",
    "sLastName": "arteaga aae",
    "sPhone":"584267957852"
}
*Solo se puede actualizar nombre, apellido, teléfono.
                
            

Servicio para actualizar los datos del usuario registrado se requiere el “Bearer Token” del método login data.
Endpoint QA: qa.firmavirtual.legal/api/v1/userapp/4


            
Response :
{
    "code": 200,
    "status": "success",
    "message": {
        "iUserID": 52,
        "iProfileID": 0,
        "sRUT": "11111111-9",
        "sEmail": "11.11.111@gmail.com",
        "sPhone": "584267957852",
        "sFirstName": "oriana aas",
        "sLastName": "arteaga aae",
        "sLogin": "orianaescobar51",
        "sPassword": "ac72267c6b859875f7249972a2c...",
        "sStatus": "ENABLE",
        "sComments": "cualquier comentarios"
    }
}
            
        

Parámetros Request

Nombre Tipo de Datos Descripción
Authorization string Token Bearer obtenido al invocar el método “Login Data”
sFirstName String Nombre a modificar
sLastName String Apellido a modificar
sPhone String Teléfono a modificar

Parámetros Response

Nombre Tipo de Datos Descripción
iUserID integer Id del usuario generado por el sistema al momento de la creacion
iProfileID integer Id del perfil de usuario generado por el sistema al momento de la creación
sRUT string RUT del usuario registrado
sEmail string Correo electrónico registrado por el usuario
sPhone string Teléfono registrado por el usuario
sFirstName string Nombres registrado por el usuario
sLastName string Apellidos registrado por el usuario
sLogin string Usuario creado por el usuario que sirve para iniciar sesión en el sistema.
sPassword string Contraseña creada por el usuario
sStatus string Estatus del usuario (ENABLE – DISABLE)
sComments string Comentarios adicionales sobre este usuario.

Catálogo de errores y mensajes fallidos

Message Descripción status
JWT Token invalid Token Bearer erróneo. 200.

PasswordReset

               
Esctructura de PasswordReset:
Tipo: RAW
Method: POST
Headers:  Content-Type | application/json 
Body: {"login":"11.11.111@gmail.com"}
                
            

Servicio que permite recuperar la contraseña de un usuario registrado en el sistema, este método enviará un código de recuperación para luego usar en el método “NewPassword” y crear una nueva contraseña.
Endpoint QA: qa.firmavirtual.legal/pwd/reset


            
Response :
{

    "code": 200,
    "status": "success",
    "message": {
        "info": "Fue enviado a su email la clave temporal,  la misma solo es util para ser actualizada inmediatamente "
    }
}
            
        

Parámetros Request

Nombre Tipo de Datos Descripción
login string Correo electrónico del usuario registrado en el sistema

Parámetros Response

Nombre Tipo de Datos Descripción
info string Mensaje que indica el status del request.

Catálogo de errores y mensajes fallidos

Message Descripción status
Login / usuario desconocido..! Mensaje que indica que el usuario no está registrado en el sistema. 200.

NewPassword

               
Esctructura de NewPassword:
Tipo: RAW
Method: POST
Headers: Content-Type | application/json 
Body:
{ 
   "login":"11.11.111@gmail.com",
   "password": "18024303",
   "new_password":"121111234"
}
                
            

Servicio que permite recuperar la contraseña de un usuario registrado en el sistema, a partir del código obtenido del método “PasswordReset”, se necesita el código enviado al correo del usuario.
Endpoint QA: qa.firmavirtual.legal/pwd/reset


            
Response :
{
{
    "code": 200,
    "status": "success",
    "message": "Password updated"
}
}
            
        

Parámetros Request

Nombre Tipo de Datos Descripción
login string Correo electrónico del usuario registrado.
password integer Código enviado al correo del usuario.
new_password string Nueva contraseña

Parámetros Response

Nombre Tipo de Datos Descripción
message string Mensaje que indica que la contraseña fue actualizada con éxito.

Catálogo de errores y mensajes fallidos

Message Descripción status
Wrong login or password ..! código incorrecto 200.

GetOneContract

               
Esctructura de GetOneContract:
Tipo: -
Method: GET
Headers: Content-Type | application/json, Authorization | Token JWT
Query Params: IDContract
                
            

Servicio que permite mostrar información sobre un contrato en específico por medio del ID del contrato.
Endpoint QA: qa.firmavirtual.legal/api/v1/contract/307c1f32-bbb5-4cbe-a4f4-ecf20616510a


            
Response :
    "code": 200,
    "status": "success",
    "message": {
        "sContractID": "307c1f32-bbb5-4cbe-a4f4-ecf20616510a",
        "sOwnerType": "NATURAL",
        "iContractTypeFeeID": 41,
        "sStatus": "SIGNED_PENDING",
        "sPaymentStatus": "PENDING",
        "iPaymentService": 0,
        "dContractDT": "2021-12-10 05:28:54",
        "iSignedCount": 1,
        "iContractOwner": 4
    }
}
            
        

Query Params

Nombre Tipo de Datos Descripción
IDContract integer Identificador único del trámite registrado en el sistema.

Parámetros Response

Nombre Tipo de Datos Descripción
sContractID string Identificador único del trámite registrado en el sistema
sOwnerType string Tipo de usuario registrado en el sistema, los valores posibles son: 'NATURAL' y 'LEGAL'.
iContractTypeFeeID integer ID del costo del contrato
sStatus string Estatus del trámite, los valores posibles son los siguientes: 'CREATED','REVIEW', 'APPROVED','REJECTED','IN_NOTARY', 'SIGNED_PENDING', 'DELIVERED','FINISHED'  y 'OTHER'
sPaymentStatus string Estatus del pago del trámite, los valores res posibles son 'PAIDOUT' y  'PENDING'
iPaymentService integer Muestra el tipo de pago seleccionado para este trámite. Los valores posibles son "0:WEBPAY (Por los momentos solo tenemos habilitado Webpay)
iContractOwner integer ID del usuario registrado en el sistema que creo el contrato.
dContractDT date Fecha de creación del contrato
iSignedCount integer Cantidad de participantes registrados en el sistema.

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

CreateContract

               
Esctructura de CreateContract:
Tipo: RAW
Method: POST
Headers: Content-Type | application/json, Authorization | Token JWT
Query Params : IDContract
Body: 
{
    "sOwnerType": "NATURAL",
    "sPaymentStatus": "PENDING",
    "iPaymentService": 1,
    "iContractTypeFeeID": 28,
    "iSignedCount": 1,
    "callback":"https://ejemplo.com/webhook",
    "signers":
    [
        {
            "full_name": "Jose Cortesia",
            "email": "jose@firmavirtual.com",
            "rutId": "11111111-1",
            "phone": "873320311",
            "type":"NATURAL",
            "portion":"100",
            "payment":"0.00"
        }
    ]
}
                
            

Servicio que permite crear un contrato (trámite) con la cantidad y los datos de los participantes que van a firmar el documento.
Endpoint QA: https://qa.firmaviertual.legal/api/v1/contract/create-contract


            
Response :
{
    "code": 201,
    "status": "success",
    "message": [
        {
            "sContractID": "daa84a29-e800-4115-abad-066971118ccf",
            "sOwnerType": "NATURAL",
            "iContractTypeFeeID": 28,
            "sStatus": "CREATED",
            "sPaymentStatus": "PENDING",
            "iPaymentService": 0,
            "dContractDT": {
                "date": "2022-08-04 03:56:20.594852",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "iSignedCount": 1,
            "iContractOwner": 20
        },
        [
            {
                "full_name": "Jose Cortesia",
                "phone": "873320311",
                "rutId": "11111111-1",
                "email": "jose@firmavirtual.com",
                "type": "NATURAL",
                "portion": 100,
                "payment": "8815.00",
                "iva": "1675.00",
                "notary": "4000.00",
                "total": "14490.00"
            }
        ]
    ]
}
            
        

Parámetros Request

Nombre Tipo de Datos Descripción
sOwnerType string Tipo de usuario registrado en el sistema, los valores posibles son: 'NATURAL' y 'LEGAL'.
sPaymentStatus string Estatus del pago del trámite, los valores posibles son 'PAIDOUT' y  'PENDING' (Valor asignado por default)
iPaymentService integer Muestra el tipo de pago seleccionado para este trámite. Los valores posibles son "0:WEBPAY" (Por los momentos tenemos activo WEBPAY)
iContractTypeFeeID integer ID del costo del contrato (ver GETCONTRACTTYPE para obtener los IDs)
iSignedCount integer Cantidad de participantes que firman el documento.
Callback string Este dato es opcional, sirve para informar sobre el cambio de status del contrato en tiempo real.
signers object Objeto que contiene los participantes del contrato.
fullName string Nombres y apellidos del o los participantes
email string Correo electrónico del o los participantes
rutId string RUT del o los participantes. Al momento de crear el contrato utilizar el siguiente RUT: 76795561-8 en el ambiente QA.
phone string Número telefónico del o los participantes
type string Valores posibles NATURAL | LEGAL. Natural para personas naturales y LEGAL para firmantes de tipo empresa.
portion integer Valores posibles 100 | 50. Determina que firmante va a pagar por el servicio y que porcentaje, 50 significa que va a pagar el cincuenta por ciento del costo total del servicio y 100 significa que va a pagar el cien por ciento del costo total del servicio. Pueden Pagar máximo dos personas mínimo una.
payment float Este campo debe ir con 0.00 para todos los casos (campo obsoleto).

Parámetros Response

Nombre Tipo de Datos Descripción
sContractID string Identificador único del trámite registrado en el sistema.
sOwnerType string Tipo de usuario registrado en el sistema, los valores posibles son: 'NATURAL' y 'LEGAL'.
iContractTypeFeeID integer ID del costo del contrato
sStatus string Estatus del trámite, los valores posibles son los siguientes: 'CREATED','REVIEW', 'APPROVED','REJECTED','IN_NOTARY', 'SIGNED_PENDING', 'DELIVERED','FINISHED'  y 'OTHER'
sPaymentStatus string Estatus del pago del trámite, los valores res posibles son 'PAIDOUT' y  'PENDING'
iPaymentService string Muestra el tipo de pago seleccionado para este trámite. Los valores posibles son "0:WEBPAY",
dContractDT string Fecha de creación del contrato
date object Objeto que guarda más detalles del contrato
timezone_type integer Tipo del UTC
timezone string Timezone definido como UTC.
iSignedCount integer Cantidad de participantes registrados en el sistema.
iContractOwner integer ID del usuario registrado en el sistema que creo el contrato.
fullName string Nombre de los participantes a registrar
email string Correo de los participantes a registrar
rutId string Rut de los participantes a registrar
phoneNumber string Teléfono de los participantes a registrar

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400
VALIDATION-FAIL Indica error en el tipo de dato enviado en el request. 400

GetContractType

               
Esctructura de GetContractType:
Tipo: -
Method: GET
Headers:  Content-Type | application/json, Authorization | Token JWT
Query Params: QTYPE, QVALUE
                
            

Servicio que permite listar los tipos de contrato o trámites que ofrece la empresa. Cada uno de estos contratos permite la Firma Electrónica Simple y dependiendo del tipo y cantidad de firmantes permitirá o no la firma electrónica con protocolización o certificación notarial.
Endpoint QA: qa.firmavirtual.legal/api/v1/contract-type/{QTYPE}/{QVALUE}


            
Response :
{
    "code": 200,
    "status": "success",
    "message": [
        {
            "iContractTypeID": 1,
            "sContractType": "REAL_ESTATE",
            "sContractTypeName": "CONTRATO DE ARIENDO",
            "iContractTypeFeeID": 1,
            "sModal": "SIGNATURE",
            "iSignCount": 1,
            "fAmount": "1990.00"
        },…
            
        

Query Params

Nombre Tipo de Datos Descripción
QTYPE string Tipo de dato a consultar. Los posibles valores son: {CONTRACT-TYPE/ /ID/FEE/MODAL/ALL}
QVALUE String / integer ALL :: / 0 - Obtienes un listado con la información de los tipos de contratos.
TYPE :: / {REAL_ESTATE/LABOR/PERSONAL/POWER/COMPANY/SOCIETY/VEHICLE} - Obtienes la información de los tipos de contratos con más detalle.
MODAL:: / {SIGNATURE/SIGNATURE_CERT_NOTARIAL/SIGNATURE_PROT_NOTARIAL} - Obtienes la información de los tipos de contratos por tipo de firma.
ID ::/{1..26} - Obtiene la información de los tipos de contratos por ID.
FEE::/{1..117}  - Obtienes el precio de los contratos por ID del FEE.

Parámetros Response

Nombre Tipo de Datos Descripción
iContractTypeID integer Identificado único del tipo de contrato
sContractType string Nombre del tipo de trámite. Los posibles valores son: 'REAL_ESTATE', 'LABOR', 'PERSONAL','POWER','COMPANY', 'SOCIETY' y 'VEHICLE'.
sContractTypeName string Nombre del tipo de contrato, El tipo de contrato está asociado al tipo de trámite. (Ver tabla 1)
iContractTypeFeeID integer ID del costo del contrato
sModal string Define el tipo de firma a registrar en el sistema. Los valores posibles son los siguientes: 'SIGNATURE', 'SIGNATURE_CERT_NOTARIAL', 'SIGNATURE_PROT_NOTARIAL'
iSignCount integer Cantidad firmantes
fAmount float Costo del tramite

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

Tipos de trámites y sus contratos asociados

Inmobiliario Contrato de arriendo
Promesa de compraventa
Prórroga de promesa de compraventa
Mandato de administración
Orden de arriendo
Orden de visita
Orden de venta
Carta de oferta
Carta de contra oferta
Resciliación de contrato de arriendo
Resciliación de promesa de compraventa
Laboral Certificado laboral con chileno
Contrato laboral con extranjero
Carta de renuncia
Poderes Poder simple
Personales Salvoconducto
Permiso mudanza
Certificación domicilio
Uso de domicilio
Legalización copia cédula de identidad
Declaración jurada
Certificado de estado civil
Sociedades Comercial
Finiquito Empresarial
Cesión de Contrato
Vehículo Promesa de compraventa de vehículo

ContractOwner

               
Esctructura de ContractOwner:
Tipo: -
Method: GET
Headers:  Content-Type | application/json, Authorization | Token JWT
Query Params: IDOwner
                
            

Servicio que permite listar los contratos o trámites por usuario.
Endpoint QA: qa.firmavirtual.legal /api/v1/contract/owner/1


            
Response :
{
    "code": 200,
    "status": "success",
    "message": [
        {
            "sContractID": "257c3419-f15a-489f-bd4b-580109ee58c9",
            "sOwnerType": "NATURAL",
            "iContractTypeFeeID": 53,
            "sStatus": "CREATED",
            "sPaymentStatus": "PENDING",
            "iPaymentService": 0,
            "iContractOwner": 1,
            "dContractDT": "2021-12-10 05:29:11",
            "iSignedCount": 2,
            "NumeroFirmantes": 0,
            "withDocument": 1,
            "sTipoFirma": "FIRMA CON PROTOCOLIZACION NOTARIAL",
            "sClaseContrato": "INMOBILIARIO",
            "sTipoContrato": "CONTRATO DE ARIENDO",
            "Monto": "19980.00"
        },…

            
        

Query Params

Nombre Tipo de Datos Descripción
IDOwner integer Identificador único del usuario registrado en el sisitema

Parámetros Response

Nombre Tipo de Datos Descripción
sContractID string Identificador único del trámite registrado en el sistema.
sOwnerType string Tipo de usuario registrado en el sistema, los valores posibles son: 'NATURAL' y 'LEGAL'.
iContractTypeFeeID integer ID del costo del contrato
sStatus string Estatus del usuario
sPaymentStatus string Estatus del pago del trámite, los valores res posibles son 'PAIDOUT' y  'PENDING'
iPaymentService integer Muestra el tipo de pago seleccionado para este trámite. Los valores posibles son "0:WEBPAY",
iContractOwner integer ID del usuario registrado en el sistema que creo el contrato.
dContractDT date Fecha de creación del contrato
iSignedCount integer Cantidad de participantes registrados en el sistema.
NumeroFirmantes integer Cantidad de participantes o firmantes asignados al contrato.
withDocument integer Muestra si el contrato registrado tiene documentos adjuntos
sTipoFirma string Contiene el tipo de firma
sClaseContrato string Nombre del tipo de trámite. Los posibles valores son: 'REAL_ESTATE', 'LABOR', 'PERSONAL','POWER','COMPANY', 'SOCIETY' y 'VEHICLE'.
sTipoContrato string Nombre del tipo de contrato, El tipo de contrato está asociado al tipo de trámite. (Ver tabla 1)
Monto float Costo del contrato.

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

ContratcDetail

               
Esctructura de ContratcDetail:
Tipo: -
Method: GET
Headers:  Content-Type | application/json, Authorization | Token JWT
Query Params: ContractID
                
            

Servicio que permite visualizar los detalles de un contrato o trámite por usuario.
Endpoint QA: qa.firmavirtual.legal/api/v1/contract/detail/391b2edf-e23e-4d6a-b4f0-31f6713da010


            
Response :
{
    "code": 200,
    "status": "success",
    "message": {
        "contrato": [
            {
                "sContractID": "54431056-8e90-40b3-97ae-de029cc4b138",
                "sOwnerType": "NATURAL",
                "iContractTypeFeeID": 28,
                "sStatus": "APPROVED",
                "sPaymentStatus": "PAIDOUT",
                "iPaymentService": 0,
                "iContractOwner": 20,
                "dContractDT": "2022-07-28 23:09:23",
                "iSignedCount": 1,
                "NumeroFirmantes": 1,
                "withDocument": 1,
                "sTipoFirma": "FIRMA CON CERTIFICACION NOTARIAL",
                "sClaseContrato": "INMOBILIARIO",
                "sTipoContrato": "PROMESA DE COMPRAVENTA",
                "modal": "SIGNATURE_CERT_NOTARIAL",
                "Repertorio": null,
                "autoId": "AP211",
                "Monto": "8815.00"
            }
        ],
        "firmantes": [
            {
                "num": 523,
                "RUT": "11111111-1",
                "email": "jose@firmavirtual.com",
                "full_name": "Jose Cortesia",
                "phone": "873320311",
                "portion": "50.00",
                "amount": "8815.00",
                "iva": "1675.00",
                "notaryPay": "4000.00",
                "totalPay": "14490.00",
                "payment": "PAYOUT",
                "download_draft": "SUCCESS",
                "agree_draft": "SUCCESS",
                "disagree_draft": "DISABLE",
                "sign_status": "NOTHING"
            },
            {
                "num": 524,
                "RUT": "22222222-1",
                "email": "jose2@firmavirtual.com",
                "full_name": "Jose Cortesia",
                "phone": "873320311",
                "portion": "50.00",
                "amount": "8815.00",
                "iva": "1675.00",
                "notaryPay": "4000.00",
                "totalPay": "14490.00",
                "payment": "PAYOUT",
                "download_draft": "SUCCESS",
                "agree_draft": "SUCCESS",
                "disagree_draft": "DISABLE",
                "sign_status": "NOTHING"
            }
        ],
        "archivos": [
            {
                "file_name": "54431056-8e90-40b3-97ae-de029cc4b138.pdf",
                "orden": 0
            }
        ]
    }
}

* La notificación de creación de contrato realizada por el usuario se le enviará a cada firmante con el documento que se subió al sistema para que pueda ser revisado y aceptado por ellos desde el mismo correo. Este procedimiento informará al api que firmante aceptó o rechazó el documento. Adicionalmente luego que todos los firmantes acepten o esten de acuerdo con el documento enviado, automanticamente el sistema le enviará un correo con la notificación de pago del trámite según la porción definida via api para ese firmante.
            
        

Query Params

Nombre Tipo de Datos Descripción
ContractID integer Identificador único del trámite registrado en el sistema.

Parámetros Response

Nombre Tipo de Datos Descripción
sContractID string Identificador único del trámite registrado en el sistema.
sOwnerType string Tipo de usuario registrado en el sistema, los valores posibles son: 'NATURAL' y 'LEGAL'.
iContractTypeFeeID integer ID del costo del contrato
sStatus string Estatus del contrato
sPaymentStatus string Estatus del pago del trámite, los valores res posibles son 'PAIDOUT' y 'PENDING'
iPaymentService integer Muestra el tipo de pago seleccionado para este trámite. Los valores posibles son "0:WEBPAY",
iContractOwner integer ID del usuario registrado en el sistema que creo el contrato.
dContractDT date Fecha de creación del contrato
iSignedCount integer Cantidad de participantes registrados en el sistema
NumeroFirmantes integer Cantidad de participantes o firmantes asignados al contrato.
withDocument integer Muestra si el contrato registrado tiene documentos adjuntos
sTipoFirma string Contiene el tipo de firma
sClaseContrato string Nombre del tipo de trámite. Los posibles valores son: 'REAL_ESTATE', 'LABOR', 'PERSONAL','POWER','COMPANY', 'SOCIETY' y 'VEHICLE'.
sTipoContrato string Nombre del tipo de contrato, El tipo de contrato está asociado al tipo de trámite. (Ver tabla 1)
modal string Indica el tipo de firma escogido por el usuario (FIRMA ELECTRONICA, FIRMA ELECTRONICA AVANZADA, FIRMA ELECTRONICA + PROTOCOLIZACIÓN NOTARIAL, FIRMA ELECTRONICA + CERTIFICACIÓN NOTARIAL)
repertorio string Este dato solo aplica para los contratos con tipo de firma con certificación notarial o con protocolización notarial. Este dato hace referencia al número de repertorio o número de folio entregado por las notarías.
autoId string ID para uso interno del equipo de firma virtual.
Monto float Costo del contrato.
firmantes object Objeto que contiene un arreglo de los datos de los firmantes asociados al contrato.
Num int
RUT string RUT de los participantes.
email string Correo electrónico de los participantes
full_name string Nombres y apellidos de los participantes
Phone string Teléfonos de los participantes
portion float Indica la porción en porcentaje que debe pagar el firmante con respecto al monto total, puede ser 50 o 100 representado 50% o 100% respectivamente.
amount float Monto a pagar por el firmante según la porción asignada.
iva float Indica el monto del IVA 19%.
notaryPay float Costo de la notaría, para el caso de los tramites con notaria (Firma con protocolización y Firma con certificación)
totalPay float Total a pagar por el firmante.
payment string Estatus del pago del trámite, los valores posibles son 'PAIDOUT' y 'PENDING'
download_draft string Este valor indica si el usuario descargó el documento o contrato enviado via correo al momento de crear el trámite. ENABLE indica que el documento está habilitado para su descarga, en el caso contrario (DISABLE) que el documento no se encuentra disponible.
agree_draft string Este valor indica que el documento enviado al correo del firmante fue descargado y aceptado.
disagree_draft string Este valor indica que el documento fue rechazado por el usuario.
sign_status string Informa sobre el estatus de la firma del participante. NOTHING:NO HA FIRMADO, ENABLE: FIRMÓ.
archivos object Objeto que contiene un arreglo con los archivos cargados al contrato
file_name string Nombre del o los archivos asociados al contrato.
orden string Orden del o los archivos asociados al contrato.

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

DeleteContract

               
Esctructura de DeleteContract:
Tipo: -
Method: POST
Headers: Content-Type | application/json, Authorization | Token JWT
Query Params: IDContract
                
            

Servicio que permite eliminar un contrato en específico por medio del ID del contrato.
Endpoint QA: qa.firmavirtual.legal/api/v1/contract/307c1f32-bbb5-4cbe-a4f4-ecf20616510a


            
Response :
{
    "code": 204,
    "status": "success",
    "message": {}
}


            
        

Query Params

Nombre Tipo de Datos Descripción
IDContract integer Identificador único del trámite registrado en el sistema.

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

SubirDocumentos

               
Esctructura de SubirDocumentos:
Tipo: HTML
Method: GET
Headers: Authorization | Token JWT
                
            

Servicio que permite subir los documentos (Solo PDF) a firmar.
Endpoint QA: qa.firmavirtual.legal/api/v1/up-file


            
Response :
{
    "code": 200,
    "status": "success",
    "message": {}
}


            
        

Durante la subida del archivo, para que se pueda relacionar con el contrato que has creado, el documento debe tener como nombre el ID del contrato, esto permitirá relacionar el documento al contrato.
Hemos habilitado una url para que puedas asignar el documento al id del contrato.
URL para la subida y asignación de documentos QA: qa.firmavirtual.legal/api/v1/upfile

Ejemplo de implementación con REACT y Axios.

FileList

               
Esctructura de FileList :
Tipo: -
Method: GET
Headers: Content-Type | application/json, Authorization | Token JWT
Query Params : ContractID
                
            

Servicio que permite listar los documentos asociados a un contrato creado en el sistema.
Endpoint QA: qa.firmavirtual.legal/api/v1/filelist/391b2edf-e23e-4d6a-b4f0-31f6713da010


            
Response :
{
    "code": 200,
    "status": "success",
    "message": [
        {
            "contractID": "391b2edf-e23e-4d6a-b4f0-31f6713da010",
            "document": "391b2edf-e23e-4d6a-b4f0-31f6713da010_767036093.pdf",
            "url": "391b2edf-e23e-4d6a-b4f0-31f6713da010_767036093.pdf",
            "description": "NA",
            "orden": 0
        },…

            
        

Query Params

Nombre Tipo de Datos Descripción
ContractID integer Identificador único del trámite registrado en el sistema.

Parámetros Response

Nombre Tipo de Datos Descripción
contractID integer Identificador único del trámite registrado en el sistema.
document string Nombre del documento asociado al contrato.
url string url generado para la descarga del documento
description string Comentarios adicionales sobre los documentos
orden integer Posición del documento, número que se utilizará para establecer la posición de cada documento durante la unificación del mismo.

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

SortFiles

               
Esctructura de SortFiles :
Tipo: RAW
Method: POST
Headers: Content-Type | application/json, Authorization | Token JWT
Body: 

{  
   "contractID": "391b2edf-e23e-4d6a-b4f0-31f6713da010",
   "file_order":[
    {
        "document": "02c47a6d-ee0e-4074-82b2-0d6dabf74e12_untitled_0.pdf",
        "ind": 2, 
        "action":"CHANGE"
    },
    {
        "document": "02c47a6d-ee0e-4074-82b2-0d6dabf74e12_FICHATÉCNICAValentinaMarin.pdf",
          "ind":3,
        "action":"CHANGE"
    },
    {
        "document": "02c47a6d-ee0e-4074-82b2-0d6dabf74e12_alcance.docx_0.pdf",
        "ind":1,
        "action":"REMOVE"
    }
   ]
}
                
            

Servicio que permite reordenar los archivos PDF subidos al sistema, es útil cuando el usuario quiere mover de posición o número de hoja un documento que quiere unificar.
Endpoint QA: qa.firmavirtual.legal/api/v1/sortfiles


            
Response :
{
    "code": 207,
    "status": "success",
    "message": [
        {
            "contractID": "391b2edf-e23e-4d6a-b4f0-31f6713da010",
            "document": "391b2edf-e23e-4d6a-b4f0-31f6713da010_767036093.pdf",
            "url": "391b2edf-e23e-4d6a-b4f0-31f6713da010_767036093.pdf",
            "description": "NA",
            "orden": 0
        },…
            
        

Parámetros Request

Nombre Tipo de Datos Descripción
contractID string Identificador único del trámite registrado en el sistema.
file_order object Arreglo que contiene la información sobre el orden de los documentos. Este orden se establece para luego unificar todos los documentos en uno subidos al sistema asociados a un contrato.
ind integer Índice del documento que establece el orden o posición del archivo
action string Muestra la acción a realizar sobre el documento. Estos valores pueden ser: REMOVE, CHANGE.

Parámetros Response

Nombre Tipo de Datos Descripción
contractID integer Identificador único del trámite registrado en el sistema.
document string Nombre del documento asociado al contrato.
url string url generado para la descarga del documento
description string Comentarios adicionales sobre los documentos
orden integer Posición del documento, número que se utilizará para establecer la posición de cada documento durante la unificación del mismo.

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

MergedFile

               
Esctructura de MergedFile :
Tipo: RAW
Method: POST
Headers: Content-Type | application/json, Authorization | Token JWT
Query Params: ContractID
                
            

Servicio que permite unir documentos cargados al sistema y hacerlo uno solo, se recomienda unificar los documentos luego de reordenarlos con los servicios sortfile.
Endpoint QA: qa.firmavirtual.legal/api/v1/contract/merge/391b2edf-e23e-4d6a-b4f0-31f6713da010


            
Response :
{
    "code": 207,
    "status": "success",
    "message": {}
}
            
        

Query Params

Nombre Tipo de Datos Descripción
contractID string Identificador único del trámite registrado en el sistema.

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

SendContract

               
Esctructura de SendContract :
Tipo: RAW
Method: POST
Headers: Content-Type | application/json, Authorization | Token JWT
Query Params: IDContract
                
            

Servicio que permite enviar notificaciones, por medio de correos electrónicos, a todos los participantes (firmantes) de que tienen un documento pendiente para su revisión. El response de este end point informa los tokens creados para aprobar, rechazar y descarga de documentos.
Endpoint QA: qa.firmavirtual.legal/api/v1/contract/send/draft/391b2edf-e23e-4d6a-b4f0-31f6713da010


            
Response :
{
    "code": 207,
    "status": "success",
    "message": {
        "msg": "email-doc: 391b2edf-e23e-4d6a-b4f0-31f6713da010",
        "ok_count": 2,
        "fail_count": 0,
        "info_detail": [
            {
                "full_name": "Jose Cortesia",
                "email": "contacto@algo.cl",
                "status_mail": "success",
                "info_mail": {
                    "info": "Correo de Jose Cortesia fue enviado satisfactoriamente",
                    "result": {},
                    "tok": {
                        "download": "0031a25e7fc91...",
                        "agree": "97ac7ce3dedc73...",
                        "disagree": "ea6ed3ae5d0...",
                        "st_down": {
                            "status": "sucess",
                            "result": null
                        },
                        "st_ag": {
                            "status": "sucess",
                            "result": null
                        },
                        "st_disag": {
                            "status": "sucess",
                            "result": null
                        }
                    }
                }
            },...

            
        

Parámetros Response

Nombre Tipo de Datos Descripción
msg string
ok_count string
fail_count integer
info_detail integer
full_name integer
email string
status_mail string
info_mail array
info string
result array
tok array
download string
agree string
disagree string
st_down array
status string
result string
st_ag array
status string
result string
st_disag array
status string
result string

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

CreateSigner

               
Esctructura de CreateSigner :
Tipo: RAW
Method: POST
Headers: Content-Type | application/json, Authorization | Token JWT
Body: 

 {
    "contractID":"d415760d-350d-4c8f-854d-8dca946d0233",
    "full_name": "Andri Marin",
    "email": "andri.marin@gmail.com",
    "rutId": "14666666-1",
    "phone": "961420311"
 }
                
            

Servicio que permite crear firmantes para un contrato previamente creado.
Endpoint QA: qa.firmavirtual.legal/api/v1/signer/new


            
Response :
{
    "code": 207,
    "status": "success",
    "message": { }
}

            
        

Parámetros Request

Nombre Tipo de Datos Descripción
sContractID string Identificador único del trámite registrado en el sistema.
RUT string RUT de los participantes
email string Correo electrónico de los participantes
full_name string Nombres y apellidos de los participantes
Phone string Teléfonos de los participantes

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

UpdateSigner

               
Esctructura de UpdateSigner :
Tipo: RAW
Method: POST
Headers: Content-Type | application/json, Authorization | Token JWT
Body: 

 {
    "contractID":"d415760d-350d-4c8f-854d-8dca946d0233",
    "full_name": "Jose G. Cortesia R.",
    "email": "contacto@gmail.com",
    "rutId": "14123123-6",
    "phone": "930139020"
 }
                
            

Servicio que permite actualizar los datos de los firmantes asignados a un contrato previamente creado.
Endpoint QA: qa.firmavirtual.legal/api/v1/signer/upd


            
Response :
{
    "code": 207,
    "status": "success",
    "message": { }
}

            
        

Parámetros Request

Nombre Tipo de Datos Descripción
sContractID string Identificador único del trámite registrado en el sistema.
RUT string RUT de los participantes
email string Correo electrónico de los participantes
full_name string Nombres y apellidos de los participantes
Phone string Teléfonos de los participantes

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400

DeleteSigner

               
Esctructura de DeleteSigner :
Tipo: RAW
Method: POST
Headers: Content-Type | application/json, Authorization | Token JWT
Body: 
{
    "contractID":"d415760d-350d-4c8f-854d-8dca946d0233",
    "rutId": "14123123-1"
}
                
            

Servicio que permite eliminar firmantes que se hayan asignados a un contrato previamente creado.
Endpoint QA: qa.firmavirtual.legal/api/v1/signer/del


            
Response :
{
    "code": 207,
    "status": "success",
    "message": { }
}

            
        

Parámetros Request

Nombre Tipo de Datos Descripción
sContractID string Identificador único del trámite registrado en el sistema.
RUT string RUT de los participantes

Catálogo de errores y mensajes fallidos

Message Descripción status
error Token Bearer erróneo 400