-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathagentmail_pkh.sql
More file actions
73 lines (60 loc) · 2.35 KB
/
Copy pathagentmail_pkh.sql
File metadata and controls
73 lines (60 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
Agentmail package specification.
Run after agentmail_schema.sql.
*/
set define off;
CREATE OR REPLACE PACKAGE agentmail AS
last_inbox_id VARCHAR2(4000);
last_response_json clob;
last_status_code number;
last_response_message clob;
FUNCTION get_default_token RETURN VARCHAR2;
PROCEDURE send_message (
p_inbox_id IN VARCHAR2,
p_email IN VARCHAR2,
p_subject IN VARCHAR2,
p_body IN VARCHAR2,
p_to_email IN VARCHAR2,
p_labels IN label_array DEFAULT NULL
);
PROCEDURE reply_to_message (
p_inbox_id IN VARCHAR2,
p_message_id IN VARCHAR2,
p_text IN CLOB,
p_html IN CLOB DEFAULT NULL,
p_reply_all IN VARCHAR2 DEFAULT 'Y', -- Y/N/NULL, controls reply_all flag
p_labels IN label_array DEFAULT NULL,
p_to IN label_array DEFAULT NULL,
p_cc IN label_array DEFAULT NULL,
p_bcc IN label_array DEFAULT NULL
);
PROCEDURE parse_list_messages_response (p_response IN CLOB);
PROCEDURE list_messages (
p_inbox_id IN VARCHAR2,
p_limit IN NUMBER DEFAULT 50, -- reasonable default
p_page_token IN VARCHAR2 DEFAULT NULL, -- for next page
p_labels IN VARCHAR2 DEFAULT NULL, -- optional: comma-separated labels filter (can extend to array later)
p_after IN TIMESTAMP WITH TIME ZONE DEFAULT NULL -- optional: filter messages after this timestamp
);
PROCEDURE get_message (
p_inbox_id IN VARCHAR2,
p_message_id IN VARCHAR2
);
PROCEDURE get_attachment (
p_inbox_id IN VARCHAR2,
p_message_id IN VARCHAR2,
p_attachment_id IN VARCHAR2
);
PROCEDURE parse_list_inboxes_response (p_response IN CLOB);
PROCEDURE list_inboxes (
p_limit IN NUMBER DEFAULT NULL -- limit of items returned
);
-- Create Inbox: https://docs.agentmail.to/api-reference/inboxes/create
PROCEDURE create_inbox (
p_username IN VARCHAR2 DEFAULT NULL, -- username of address; random if omitted
p_domain IN VARCHAR2 DEFAULT NULL, -- domain (must be verified); default agentmail.to
p_display_name IN VARCHAR2 DEFAULT NULL, -- e.g. "Display Name <user@domain.com>"
p_client_id IN VARCHAR2 DEFAULT NULL -- client id for the inbox
);
END agentmail;
/