В этой статье блога мы рассмотрим различные методы удаления записей в Salesforce с использованием REST API Salesforce PHP. Удаление записей — важнейшая операция при управлении данными в Salesforce, и понимание различных доступных методов поможет вам эффективно удалять ненужную или устаревшую информацию из базы данных Salesforce. Мы предоставим примеры кода для каждого метода, чтобы проиллюстрировать их использование.
Метод 1. Удаление одной записи по идентификатору
Чтобы удалить одну запись в Salesforce, вам необходимо знать ее уникальный идентификатор. Следующий код демонстрирует, как удалить запись с помощью REST API Salesforce PHP:
<?php
$recordId = '001XXXXXXXXXXXX'; // Replace with the ID of the record you want to delete
$url = 'https://your-instance.salesforce.com/services/data/vXX.X/sobjects/ObjectName/' . $recordId;
$headers = array(
'Authorization: Bearer ' . $accessToken,
'Content-Type: application/json',
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo "Record deleted successfully.";
?>
Метод 2. Удаление нескольких записей по запросу
Вы можете удалить несколько записей на основе определенных критериев с помощью запроса SOQL (язык запросов объектов Salesforce). Следующий код демонстрирует, как удалять записи с помощью запроса:
<?php
$query = "DELETE FROM ObjectName WHERE FieldName = 'Value'";
$url = 'https://your-instance.salesforce.com/services/data/vXX.X/query?q=' . urlencode($query);
$headers = array(
'Authorization: Bearer ' . $accessToken,
'Content-Type: application/json',
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo "Records deleted successfully.";
?>
Метод 3: массовое удаление записей
При работе с большим количеством записей более эффективно выполнять массовое удаление, а не отдельные запросы. Для этой цели Salesforce предоставляет Bulk API. Следующий код демонстрирует, как выполнить массовое удаление с помощью REST API PHP Salesforce:
<?php
$recordIds = ['001XXXXXXXXXXXX', '002XXXXXXXXXXXX', '003XXXXXXXXXXXX']; // Replace with the IDs of the records you want to delete
$url = 'https://your-instance.salesforce.com/services/data/vXX.X/composite/sobjects';
$headers = array(
'Authorization: Bearer ' . $accessToken,
'Content-Type: application/json',
);
$requests = [];
foreach ($recordIds as $recordId) {
$request = [
'method' => 'DELETE',
'url' => '/services/data/vXX.X/sobjects/ObjectName/' . $recordId,
];
$requests[] = $request;
}
$data = json_encode(['batchRequests' => $requests]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo "Records deleted successfully.";
?>
В этой статье мы рассмотрели различные методы удаления записей в Salesforce с помощью REST API Salesforce PHP. Мы рассмотрели удаление одной записи по идентификатору, удаление нескольких записей по запросу и выполнение массового удаления записей. Используя эти методы, вы можете эффективно управлять и обслуживать свою базу данных Salesforce, удаляя ненужные данные.