تتيح لك واجهة برمجة تطبيقات LegallyMail إرسال رسائل بريد إلكتروني معتمدة من تطبيقك. يتم تسجيل جميع الإرسالات ويمكنك الحصول على شهادات قانونية للتسليم والقراءة.
تتطلب جميع طلبات واجهة برمجة التطبيقات المصادقة عبر رمز وصول. يمكنك الحصول على رمزك من لوحة المستخدم.
قم بتضمين الرمز في رأس التفويض:
Authorization: Bearer YOUR_TOKEN_HERE
قم بتضمين الرمز في JSON الجسم:
{
"token": "YOUR_TOKEN_HERE",
"recipient": "example@example.com",
...
}
للحصول على رمز API، يجب عليك أولاً إجراء عملية دفع واحدة على الأقل. ثم يمكنك إنشاء الرموز من لوحة المستخدم.
تسجيل الدخول/api/send
إرسال بريد إلكتروني معتمد.
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
Authorization |
string (header) | نعم | رمز المصادقة بتنسيق "Bearer {token}" أو الرمز فقط |
recipient / to |
string | نعم |
عنوان بريد المستلم
مستلمون متعددون:
يمكنك الإرسال إلى عدة مستلمين عن طريق فصل عناوين البريد الإلكتروني بفاصلات (مثال: "email1@example.com, email2@example.com, email3@example.com")
الحد الافتراضي: 10 مستلمين. يمكن زيادة هذا الحد عند الطلب من خلال التواصل مع الدعم. |
subject |
string | نعم | موضوع البريد الإلكتروني |
message / body / content |
string (HTML) | نعم | محتوى البريد الإلكتروني بتنسيق HTML |
reply_to |
string (email) | لا | عنوان البريد الإلكتروني للردود. يجب أن يكون مرسلًا مسجلاً ومتحققًا منه في حسابك (اختياري). |
reply_to_name |
string | لا | اسم الرد (اختياري) |
attachments |
array | لا | مصفوفة من ملفات المرفقات (اختياري). يجب أن يحتوي كل ملف على: filename, content (base64), mime_type |
curl -X POST https://legallymail.com/api/send \
-H "Authorization: Bearer YOUR_TOKEN_HERE" \
-H "Content-Type: application/json" \
-d '{
"recipient": "recipient1@example.com, recipient2@example.com, recipient3@example.com",
"subject": "Test Email with Multiple Recipients",
"message": "<h1>Hello World</h1><p>This email is sent to multiple recipients.</p>",
"attachments": [
{
"filename": "document.pdf",
"content": "base64_encoded_file_content_here",
"mime_type": "application/pdf"
}
]
}'
<?php
$token = 'YOUR_TOKEN_HERE';
$url = 'https://legallymail.com/api/send';
// Leer el archivo y codificarlo en base64
$filePath = '/path/to/document.pdf';
$fileContent = base64_encode(file_get_contents($filePath));
$data = [
'recipient' => 'recipient1@example.com, recipient2@example.com, recipient3@example.com',
'subject' => 'Test Email with Multiple Recipients',
'message' => '<h1>Hello World</h1><p>This email is sent to multiple recipients.</p>',
'attachments' => [
[
'filename' => 'document.pdf',
'content' => $fileContent,
'mime_type' => 'application/pdf'
]
]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token,
'Content-Type: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
?>
import requests
import base64
token = 'YOUR_TOKEN_HERE'
url = 'https://legallymail.com/api/send'
# Leer el archivo y codificarlo en base64
with open('/path/to/document.pdf', 'rb') as file:
file_content = base64.b64encode(file.read()).decode('utf-8')
data = {
'recipient': 'recipient1@example.com, recipient2@example.com, recipient3@example.com',
'subject': 'Test Email with Multiple Recipients',
'message': '<h1>Hello World</h1><p>This email is sent to multiple recipients.</p>',
'attachments': [
{
'filename': 'document.pdf',
'content': file_content,
'mime_type': 'application/pdf'
}
]
}
headers = {
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
}
response = requests.post(url, json=data, headers=headers)
result = response.json()
const token = 'YOUR_TOKEN_HERE';
const url = 'https://legallymail.com/api/send';
// Leer el archivo y codificarlo en base64 (Node.js)
const fs = require('fs');
const filePath = '/path/to/document.pdf';
const fileContent = fs.readFileSync(filePath).toString('base64');
const data = {
recipient: 'recipient1@example.com, recipient2@example.com, recipient3@example.com',
subject: 'Test Email with Multiple Recipients',
message: '<h1>Hello World</h1><p>This email is sent to multiple recipients.</p>',
attachments: [
{
filename: 'document.pdf',
content: fileContent,
mime_type: 'application/pdf'
}
]
};
fetch(url, {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.error('Error:', error));
package main
import (
'bytes'
'encoding/base64'
'encoding/json'
'io/ioutil'
'net/http'
)
func main() {
token := 'YOUR_TOKEN_HERE'
url := 'https://legallymail.com/api/send'
// Leer el archivo y codificarlo en base64
filePath := '/path/to/document.pdf'
fileContent, _ := ioutil.ReadFile(filePath)
fileBase64 := base64.StdEncoding.EncodeToString(fileContent)
data := map[string]interface{}{
'recipient': 'recipient1@example.com, recipient2@example.com, recipient3@example.com',
'subject': 'Test Email with Multiple Recipients',
'message': '<h1>Hello World</h1><p>This email is sent to multiple recipients.</p>',
'attachments': []map[string]string{
{
'filename': 'document.pdf',
'content': fileBase64,
'mime_type': 'application/pdf',
},
},
}
jsonData, _ := json.Marshal(data)
req, _ := http.NewRequest('POST', url, bytes.NewBuffer(jsonData))
req.Header.Set('Authorization', 'Bearer '+token)
req.Header.Set('Content-Type', 'application/json')
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
}
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Base64;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.google.gson.Gson;
public class SendEmail {
public static void main(String[] args) throws IOException, InterruptedException {
String token = 'YOUR_TOKEN_HERE';
String url = 'https://legallymail.com/api/send';
// Leer el archivo y codificarlo en base64
String filePath = '/path/to/document.pdf';
byte[] fileBytes = Files.readAllBytes(Paths.get(filePath));
String fileBase64 = Base64.getEncoder().encodeToString(fileBytes);
Map<String, Object> attachment = new HashMap<>();
attachment.put('filename', 'document.pdf');
attachment.put('content', fileBase64);
attachment.put('mime_type', 'application/pdf');
Map<String, Object> data = new HashMap<>();
data.put('recipient', 'example@example.com');
data.put('subject', 'Test Email with Attachment');
data.put('message', '<h1>Hello World</h1><p>This email contains an attachment.</p>');
data.put('attachments', Arrays.asList(attachment));
Gson gson = new Gson();
String jsonData = gson.toJson(data);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header('Authorization', 'Bearer ' + token)
.header('Content-Type', 'application/json')
.POST(HttpRequest.BodyPublishers.ofString(jsonData))
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
}
}
const https = require('https');
const fs = require('fs');
const token = 'YOUR_TOKEN_HERE';
const url = 'https://legallymail.com/api/send';
// Leer el archivo y codificarlo en base64
const filePath = '/path/to/document.pdf';
const fileContent = fs.readFileSync(filePath).toString('base64');
const data = {
recipient: 'example@example.com',
subject: 'Test Email with Attachment',
message: '<h1>Hello World</h1><p>This email contains an attachment.</p>',
attachments: [
{
filename: 'document.pdf',
content: fileContent,
mime_type: 'application/pdf'
}
]
};
const options = {
hostname: 'legallymail.com',
path: '/api/send',
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}
};
const req = https.request(options, (res) => {
let responseData = '';
res.on('data', (chunk) => {
responseData += chunk;
});
res.on('end', () => {
const result = JSON.parse(responseData);
console.log(result);
});
});
req.on('error', (error) => {
console.error('Error:', error);
});
req.write(JSON.stringify(data));
req.end();
using System;
using System.Net.Http;
using System.Text;
using System.IO;
using Newtonsoft.Json;
class Program
{
static async System.Threading.Tasks.Task Main()
{
string token = 'YOUR_TOKEN_HERE';
string url = 'https://legallymail.com/api/send';
// Leer el archivo y codificarlo en base64
string filePath = '/path/to/document.pdf';
byte[] fileBytes = File.ReadAllBytes(filePath);
string fileBase64 = Convert.ToBase64String(fileBytes);
var attachment = new
{
filename = 'document.pdf',
content = fileBase64,
mime_type = 'application/pdf'
};
var data = new
{
recipient = 'recipient1@example.com, recipient2@example.com, recipient3@example.com',
subject = 'Test Email with Multiple Recipients',
message = '<h1>Hello World</h1><p>This email is sent to multiple recipients.</p>',
attachments = new[] { attachment }
};
string jsonData = JsonConvert.SerializeObject(data);
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add('Authorization', 'Bearer ' + token);
var content = new StringContent(jsonData, Encoding.UTF8, 'application/json');
var response = await client.PostAsync(url, content);
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
{
"success": true,
"message": "Email sent to 2 of 2 recipients",
"data": {
"tracking_id": "cm_parent_abc123",
"recipients": [
{
"email": "recipient1@example.com",
"status": "sent",
"tracking_id": "cm_rec1_xyz",
"error_details": null
},
{
"email": "recipient2@example.com",
"status": "sent",
"tracking_id": "cm_rec2_abc",
"error_details": null
}
],
"subject": "Test Email",
"sent_at": "2024-01-15 10:30:00",
"success_count": 2,
"fail_count": 0,
"error_status": null
}
}
/api/info
الحصول على معلومات واجهة برمجة التطبيقات والمستخدم المصادق عليه
إرجاع معلومات حول واجهة برمجة التطبيقات والمستخدم المصادق عليه، بما في ذلك البريد الإلكتروني وخطة الاشتراك ورسائل البريد الإلكتروني المتبقية.
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
Authorization |
string (header) | نعم | رمز المصادقة بتنسيق "Bearer {token}" أو الرمز فقط |
curl -X GET https://legallymail.com/api/info \
-H "Authorization: Bearer YOUR_TOKEN_HERE"
<?php
$token = 'YOUR_TOKEN_HERE';
$url = 'https://legallymail.com/api/info';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
?>
import requests
token = 'YOUR_TOKEN_HERE'
url = 'https://legallymail.com/api/info'
headers = {
'Authorization': f'Bearer {token}'
}
response = requests.get(url, headers=headers)
result = response.json()
const token = 'YOUR_TOKEN_HERE';
const url = 'https://legallymail.com/api/info';
fetch(url, {
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`
}
})
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.error('Error:', error));
package main
import (
'net/http'
'io/ioutil'
)
func main() {
token := 'YOUR_TOKEN_HERE'
url := 'https://legallymail.com/api/info'
req, _ := http.NewRequest('GET', url, nil)
req.Header.Set('Authorization', 'Bearer '+token)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class GetInfo {
public static void main(String[] args) throws Exception {
String token = 'YOUR_TOKEN_HERE';
String url = 'https://legallymail.com/api/info';
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header('Authorization', 'Bearer ' + token)
.GET()
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
String result = response.body();
}
}
const https = require('https');
const token = 'YOUR_TOKEN_HERE';
const url = 'https://legallymail.com/api/info';
const options = {
hostname: 'legallymail.com',
path: '/api/info',
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`
}
};
const req = https.request(options, (res) => {
let responseData = '';
res.on('data', (chunk) => {
responseData += chunk;
});
res.on('end', () => {
const result = JSON.parse(responseData);
console.log(result);
});
});
req.on('error', (error) => {
console.error('Error:', error);
});
req.end();
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string token = 'YOUR_TOKEN_HERE';
string url = 'https://legallymail.com/api/info';
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add('Authorization', 'Bearer ' + token);
var response = await client.GetAsync(url);
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
{
"name": "LegallyMail API",
"version": "1.0.0",
"user": {
"email": "usuario@example.com",
"name": "Nombre Usuario",
"plan": "professional",
"plan_name": "Profesional",
"plan_limit": 100,
"extra_emails": 0,
"remaining_emails": 75
}
}
/api/emails
الحصول على آخر رسائل البريد الإلكتروني المرسلة
إرجاع قائمة بآخر رسائل البريد الإلكتروني المرسلة من قبل المستخدم المصادق عليه، بما في ذلك حالتها (sent, read, failed). الحد الأقصى 25 نتيجة.
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
Authorization |
string (header) | نعم | رمز المصادقة بتنسيق "Bearer {token}" أو الرمز فقط |
limit |
integer (query) | نعم | عدد رسائل البريد الإلكتروني المراد إرجاعها (بين 1 و 25). مطلوب. |
curl -X GET "https://legallymail.com/api/emails?limit=10" \
-H "Authorization: Bearer YOUR_TOKEN_HERE"
<?php
$token = 'YOUR_TOKEN_HERE';
$url = 'https://legallymail.com/api/emails?limit=10';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
?>
import requests
token = 'YOUR_TOKEN_HERE'
url = 'https://legallymail.com/api/emails'
params = {'limit': 10}
headers = {
'Authorization': f'Bearer {token}'
}
response = requests.get(url, params=params, headers=headers)
result = response.json()
const token = 'YOUR_TOKEN_HERE';
const url = 'https://legallymail.com/api/emails?limit=10';
fetch(url, {
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`
}
})
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.error('Error:', error));
package main
import (
'net/http'
'io/ioutil'
)
func main() {
token := 'YOUR_TOKEN_HERE'
url := 'https://legallymail.com/api/emails?limit=10'
req, _ := http.NewRequest('GET', url, nil)
req.Header.Set('Authorization', 'Bearer '+token)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class GetEmails {
public static void main(String[] args) throws Exception {
String token = 'YOUR_TOKEN_HERE';
String url = 'https://legallymail.com/api/emails?limit=10';
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header('Authorization', 'Bearer ' + token)
.GET()
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
String result = response.body();
}
}
const https = require('https');
const token = 'YOUR_TOKEN_HERE';
const url = 'https://legallymail.com/api/emails?limit=10';
const options = {
hostname: 'legallymail.com',
path: '/api/emails?limit=10',
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`
}
};
const req = https.request(options, (res) => {
let responseData = '';
res.on('data', (chunk) => {
responseData += chunk;
});
res.on('end', () => {
const result = JSON.parse(responseData);
console.log(result);
});
});
req.on('error', (error) => {
console.error('Error:', error);
});
req.end();
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string token = 'YOUR_TOKEN_HERE';
string url = 'https://legallymail.com/api/emails?limit=10';
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add('Authorization', 'Bearer ' + token);
var response = await client.GetAsync(url);
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
{
"success": true,
"count": 2,
"limit": 10,
"max_limit": 25,
"emails": [
{
"id": 123,
"tracking_id": "cm_abc123",
"recipient": "example@example.com",
"subject": "Test Email",
"status": "read",
"sent_at": "2024-01-15 10:30:00",
"read_at": "2024-01-15 11:00:00",
"created_at": "2024-01-15 10:30:00",
"mailsender_id": "mail_xyz789",
"is_multi_recipient": false,
"recipient_count": 1,
"error_status": null
},
{
"id": 122,
"tracking_id": "cm_def456",
"recipient": "Multiple Recipients",
"subject": "Group Email",
"status": "pending",
"sent_at": "2024-01-14 15:20:00",
"read_at": null,
"created_at": "2024-01-14 15:20:00",
"mailsender_id": "mail_uvw012",
"is_multi_recipient": true,
"recipient_count": 5,
"error_status": "Soft Bounce"
}
]
}
/api/email
الحصول على حالة بريد إلكتروني محدد
إرجاع معلومات مفصلة عن بريد إلكتروني محدد يتم التعرف عليه من خلال tracking_id الخاص به، بما في ذلك حالته الحالية (sent, read, failed) وتواريخ الإرسال والقراءة، وشهادات الطابع الزمني (TSQ/TSR) إذا كانت موجودة.
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
Authorization |
string (header) | نعم | رمز المصادقة بتنسيق "Bearer {token}" أو الرمز فقط |
tracking_id |
string (query) | نعم | معرف التتبع الفريد لرسالة البريد الإلكتروني (tracking_id) الذي يتم إرجاعه عند إرسال البريد الإلكتروني. |
curl -X GET "https://legallymail.com/api/email?tracking_id=cm_abc123" \
-H "Authorization: Bearer YOUR_TOKEN_HERE"
<?php
$token = 'YOUR_TOKEN_HERE';
$trackingId = 'cm_abc123';
$url = 'https://legallymail.com/api/email?tracking_id=' . urlencode($trackingId);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
?>
import requests
token = 'YOUR_TOKEN_HERE'
url = 'https://legallymail.com/api/email'
params = {'tracking_id': 'cm_abc123'}
headers = {
'Authorization': f'Bearer {token}'
}
response = requests.get(url, params=params, headers=headers)
result = response.json()
const token = 'YOUR_TOKEN_HERE';
const trackingId = 'cm_abc123';
const url = `https://legallymail.com/api/email?tracking_id=${trackingId}`;
fetch(url, {
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`
}
})
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.error('Error:', error));
package main
import (
'net/http'
'io/ioutil'
'net/url'
)
func main() {
token := 'YOUR_TOKEN_HERE'
trackingId := 'cm_abc123'
baseUrl := 'https://legallymail.com/api/email'
params := url.Values{}
params.Add('tracking_id', trackingId)
fullUrl := baseUrl + '?' + params.Encode()
req, _ := http.NewRequest('GET', fullUrl, nil)
req.Header.Set('Authorization', 'Bearer '+token)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class GetEmail {
public static void main(String[] args) throws Exception {
String token = 'YOUR_TOKEN_HERE';
String trackingId = 'cm_abc123';
String url = 'https://legallymail.com/api/email?tracking_id=' + trackingId;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header('Authorization', 'Bearer ' + token)
.GET()
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
String result = response.body();
}
}
const https = require('https');
const token = 'YOUR_TOKEN_HERE';
const trackingId = 'cm_abc123';
const url = `https://legallymail.com/api/email?tracking_id=${trackingId}`;
const options = {
hostname: 'legallymail.com',
path: `/api/email?tracking_id=${trackingId}`,
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`
}
};
const req = https.request(options, (res) => {
let responseData = '';
res.on('data', (chunk) => {
responseData += chunk;
});
res.on('end', () => {
const result = JSON.parse(responseData);
console.log(result);
});
});
req.on('error', (error) => {
console.error('Error:', error);
});
req.end();
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string token = 'YOUR_TOKEN_HERE';
string trackingId = 'cm_abc123';
string url = $"https://legallymail.com/api/email?tracking_id={trackingId}";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add('Authorization', 'Bearer ' + token);
var response = await client.GetAsync(url);
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
{
"success": true,
"email": {
"id": 123,
"tracking_id": "cm_abc123",
"recipient": "Multiple Recipients",
"subject": "Group Email",
"status": "pending",
"sent_at": "2024-01-15 10:30:00",
"read_at": null,
"created_at": "2024-01-15 10:30:00",
"mailsender_id": "mail_xyz789",
"is_multi_recipient": true,
"recipient_count": 2,
"error_status": null,
"certificates": [],
"recipients": [
{
"email": "recipient1@example.com",
"name": "Recipient One",
"status": "read",
"tracking_id": "cm_rec1_xyz",
"sent_at": "2024-01-15 10:30:05",
"delivered_at": "2024-01-15 10:30:10",
"read_at": "2024-01-15 11:00:00",
"error_details": null,
"certificates": [
{
"certificate_type": "read",
"file_hash": "sha256_hash_read_1",
"confirmed_at": "2024-01-15 11:00:00",
"has_tsr": true,
"has_tsq": true,
"pdf_download_url": "https://legallymail.com/emails/download-certificate?id=cm_rec1_xyz&status=read"
}
]
},
{
"email": "recipient2@example.com",
"name": "Recipient Two",
"status": "delivered",
"tracking_id": "cm_rec2_abc",
"sent_at": "2024-01-15 10:30:05",
"delivered_at": "2024-01-15 10:30:12",
"read_at": null,
"error_details": "Recipient inbox full",
"certificates": [
{
"certificate_type": "delivered",
"file_hash": "sha256_hash_del_2",
"confirmed_at": "2024-01-15 10:30:12",
"has_tsr": true,
"has_tsq": true,
"pdf_download_url": "https://legallymail.com/emails/download-certificate?id=cm_rec2_abc&status=delivered"
}
]
}
]
}
}
| الرمز | الرسالة | الوصف |
|---|---|---|
400 |
Bad Request | البيانات الم provided غير صالحة |
401 |
Unauthorized | رمز غير صالح أو مفقود |
403 |
Forbidden |
ليس لديك إذن لأداء هذا الإجراء يُعاد أيضًا عندما لا يمتلك المستخدم رصيدًا/رسائل بريد إلكتروني متبقية متاحة. |
404 |
Not Found | الموارد غير موجودة. تحقق من وجود المورد المطلوب (على سبيل المثال، بريد إلكتروني مع tracking_id المحدد). |
405 |
Method Not Allowed | طريقة HTTP غير مسموحة |
429 |
Too Many Requests | طلبات كثيرة جدًا. تم تجاوز حد المعدل. |
500 |
Internal Server Error | خطأ داخلي في الخادم |
لدي واجهة برمجة التطبيقات القيود التالية: