EnvelopeCreator API

This commit is contained in:
Developer01 2025-04-10 18:00:16 +02:00
parent a60d5a6f9d
commit 69dfe197b8
3 changed files with 206 additions and 0 deletions

View File

@ -0,0 +1,132 @@
select * From TBSIG_ENVELOPE where ENVELOPE_UUID = '69FA2F69-0616-4324-A804-AFF8F828BACE'
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
ALTER PROCEDURE [dbo].[PRSIG_API_CREATE_ENVELOPE] @USER_ID INTEGER,
@TITLE VARCHAR(128),
@TFAEnabled BIT,
@MESSAGE VARCHAR(250),
@OUT_UID VARCHAR(36) OUTPUT
AS
BEGIN
DECLARE @UID VARCHAR(36)
SET @OUT_UID = ''
SELECT @UID = NEWID()
INSERT INTO TBSIG_ENVELOPE
(USER_ID,STATUS,ENVELOPE_UUID,MESSAGE,TITLE,TFA_ENABLED)
VALUES
(@USER_ID,1002,@UID,@MESSAGE,@TITLE,CONVERT(BIT,@TFAEnabled));
IF EXISTS(SELECT GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @UID)
SET @OUT_UID = @UID
END
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
ALTER PROCEDURE [dbo].[PRSIG_API_CREATE_RECEIVER] @ENV_UID VARCHAR(36),
@EMAIL_ADRESS VARCHAR(250),
@SALUTATION VARCHAR(100),
@PHONE VARCHAR(20),
@OUT_RECEIVER_ID INTEGER OUTPUT
AS
BEGIN
DECLARE
@RECEIVER_ID INTEGER,
@ENV_ID INTEGER,
@SIGNATUREID VARCHAR(64),
@SEQUENCE INTEGER,
@ACCESS_CODE VARCHAR(5)
IF LEN(@PHONE) < 9
SET @PHONE = ''
SELECT @ENV_ID = GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @ENV_UID;
SET @OUT_RECEIVER_ID = 0
IF NOT EXISTS(SELECT GUID FROM TBSIG_RECEIVER WHERE EMAIL_ADDRESS = @EMAIL_ADRESS)
BEGIN
SELECT @SIGNATUREID = CONVERT(VARCHAR(40), HASHBYTES('SHA1', UPPER(@EMAIL_ADRESS)), 2);
INSERT INTO TBSIG_RECEIVER(EMAIL_ADDRESS,[SIGNATURE]) VALUES (@EMAIL_ADRESS,@SIGNATUREID);
END
SELECT @RECEIVER_ID = GUID FROM TBSIG_RECEIVER WHERE EMAIL_ADDRESS = @EMAIL_ADRESS;
SELECT @SEQUENCE = COALESCE(MAX(SEQUENCE),0) FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID;
SELECT @ACCESS_CODE = [dbo].[FNDD_Generate5DigitRandomCode] ();
INSERT INTO TBSIG_ENVELOPE_RECEIVER (ENVELOPE_ID,RECEIVER_ID,SEQUENCE,NAME,ACCESS_CODE,PHONE_NUMBER )
VALUES
(@ENV_ID,@RECEIVER_ID,@SEQUENCE,@SALUTATION,@ACCESS_CODE,@PHONE);
SELECT @OUT_RECEIVER_ID = GUID FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID AND RECEIVER_ID = @RECEIVER_ID;
END
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
ALTER PROCEDURE [dbo].[PRSIG_API_ADD_DOC] @ENV_UID VARCHAR(36),
@BYTE_DATA VARBINARY(MAX),
@OUT_DOCID INTEGER OUTPUT
AS
BEGIN
DECLARE
@ENV_ID INTEGER
SELECT @ENV_ID = GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @ENV_UID;
SET @OUT_DOCID = 0
IF NOT EXISTS(SELECT GUID FROM TBSIG_ENVELOPE_DOCUMENT WHERE ENVELOPE_ID = @ENV_ID)
INSERT INTO TBSIG_ENVELOPE_DOCUMENT (ENVELOPE_ID,BYTE_DATA,FILENAME,FILEPATH)
VALUES(@ENV_ID,@BYTE_DATA,'API ADD','API BASED');
ELSE
PRINT 'THERE IS ALREADY A DOC FOR THIS ENVELOPE'
SELECT @OUT_DOCID = GUID FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID;
END
GO
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
ALTER PROCEDURE [dbo].[PRSIG_API_ADD_DOC_RECEIVER_ELEM] @DOC_ID INTEGER,
@RECEIVER_ID INTEGER,
@POSITION_X FLOAT,
@POSITION_Y FLOAT,
@PAGE INTEGER,
@OUT_SUCCESS BIT OUTPUT
AS
BEGIN
SET @OUT_SUCCESS = 0
IF NOT EXISTS(SELECT GUID FROM TBSIG_DOCUMENT_RECEIVER_ELEMENT WHERE DOCUMENT_ID = @DOC_ID and RECEIVER_ID = @RECEIVER_ID)
BEGIN
INSERT INTO TBSIG_DOCUMENT_RECEIVER_ELEMENT (DOCUMENT_ID,RECEIVER_ID,ELEMENT_TYPE,POSITION_X,POSITION_Y)
VALUES(@DOC_ID,@RECEIVER_ID,1,@POSITION_X,@POSITION_Y);
SET @OUT_SUCCESS = 1;
END
END
GO
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
CREATE PROCEDURE [dbo].[PRSIG_API_ADD_HISTORY_STATE] @ENV_UID VARCHAR(36),
@STATUS_ID INTEGER,
@USER_ID INTEGER,
@OUT_SUCCESS BIT OUTPUT
AS
BEGIN
DECLARE
@ENV_ID INTEGER,@USERREF VARCHAR(250)
SELECT @ENV_ID = GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @ENV_UID;
SELECT @USERREF = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID;
SET @OUT_SUCCESS = 0
BEGIN
INSERT INTO [dbo].[TBSIG_ENVELOPE_HISTORY] ([ENVELOPE_ID],[USER_REFERENCE],[STATUS],[ACTION_DATE])
VALUES(@ENV_ID,@USERREF,@STATUS_ID,GETDATE());
SET @OUT_SUCCESS = 1;
END
END

View File

@ -0,0 +1,74 @@
USE [DD_ECM]
GO
--Einen Envelope anlegen
DECLARE @OUT_UID varchar(36)
EXEC [dbo].[PRSIG_API_CREATE_ENVELOPE]
@USER_ID = 1,
@TITLE = N'Anlage über Procedure',
@TFAEnabled = 0, --or TFA
@MESSAGE = N'Hallo aus dem Off',
@OUT_UID = @OUT_UID OUTPUT
SELECT @OUT_UID as N'@OUT_UID';
--Einen Receiver anlegen
DECLARE @OUT_RECEIVER_ID int
EXEC [dbo].[PRSIG_API_CREATE_RECEIVER]
@ENV_UID = @OUT_UID,
@EMAIL_ADRESS = N'h.tek@digitaldata.works',
@SALUTATION = N'Hakan Tek',
@PHONE = N'54909',
@OUT_RECEIVER_ID = @OUT_RECEIVER_ID OUTPUT
SELECT @OUT_RECEIVER_ID as N'@OUT_RECEIVER_ID'
GO
--Document erstellen
DECLARE @BYTE_DATA1 as VARBINARY(MAX)
SET @BYTE_DATA1 = CONVERT(VARBINARY(MAX),'YOURVARBINARYVALUES')
DECLARE @OUT_DOCID int
EXEC [dbo].[PRSIG_API_ADD_DOC]
@ENV_UID = @OUT_UID,
@BYTE_DATA = @BYTE_DATA1,
@OUT_DOCID = @OUT_DOCID OUTPUT
SELECT @OUT_DOCID as N'@OUT_DOCID'
GO
--RECEIVER ELEMENT anlegen
DECLARE @OUT_SUCCESS bit
EXEC [dbo].[PRSIG_API_ADD_DOC_RECEIVER_ELEM]
@DOC_ID = 1353,
@RECEIVER_ID = 4, --@OUT_UID
@POSITION_X = '2.474479675293',
@POSITION_Y = '4.36164665222168',
@PAGE = 1,
@OUT_SUCCESS = @OUT_SUCCESS OUTPUT
SELECT @OUT_SUCCESS as N'@OUT_SUCCESS'
GO
--Status Queuing
DECLARE @OUT_SUCCESS bit
EXEC [dbo].[PRSIG_API_ADD_HISTORY_STATE]
@ENV_UID = N'69FA2F69-0616-4324-A804-AFF8F828BACE',
@STATUS_ID = 1003,
@USER_ID = 1,
@OUT_SUCCESS = @OUT_SUCCESS OUTPUT
SELECT @OUT_SUCCESS as N'@OUT_SUCCESS'
GO
--Dann die Emails versenden: hier muss die API einen eigenen Aufruf starten.
Wahrscheinl
Create API Logic to send emails: EnvelopeGenerator.Common\Services\Emailservice.vb
SendDocumentReceivedEmail