카탈로그
카탈로그 항목 일괄 삭제
한 번의 요청으로 최대 1,000개 항목을 삭제하며, 각 항목은 DELETE /catalogs/{catalog_id}와 같은 방식으로 삭제됩니다.
각 항목은 개별적으로 성공하거나 실패하고 응답은 어느 경우든 200이므로, 항상 failed를 확인하세요. 존재하지 않는 id는 failed에 담기고 나머지 항목은 삭제됩니다.
요청 스키마 검증에 실패하면 항목을 처리하기 전에 요청 전체가 422로 거부됩니다. 예를 들어 ids 필드가 빠졌거나, ID가 1,000개를 넘거나, ID가 문자열이 아닌 경우입니다. 이 검증을 통과한 뒤 발생하는 항목별 실패는 failed에 담깁니다.
POST
/
api
/
manager
/
catalogs
/
batch-delete
카탈로그 항목 일괄 삭제
curl --request POST \
--url https://your_a2_service/api/manager/catalogs/batch-delete \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ids": [
"1001",
"1002"
]
}
'import requests
url = "https://your_a2_service/api/manager/catalogs/batch-delete"
payload = { "ids": ["1001", "1002"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({ids: ['1001', '1002']})
};
fetch('https://your_a2_service/api/manager/catalogs/batch-delete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://your_a2_service/api/manager/catalogs/batch-delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ids' => [
'1001',
'1002'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your_a2_service/api/manager/catalogs/batch-delete"
payload := strings.NewReader("{\n \"ids\": [\n \"1001\",\n \"1002\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://your_a2_service/api/manager/catalogs/batch-delete")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"1001\",\n \"1002\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://your_a2_service/api/manager/catalogs/batch-delete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ids\": [\n \"1001\",\n \"1002\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"failed": [
{
"id": "1002",
"reason": "Not found."
}
],
"succeeded": [
"1001"
]
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}인증
Bearer 인증. 액세스 토큰을 Authorization: Bearer <token> 헤더로 전달합니다.
본문
application/json
삭제할 항목의 ID 목록(문자열). 최대 1,000개입니다.
Maximum array length:
1000이 페이지가 도움이 되었나요?
⌘I
카탈로그 항목 일괄 삭제
curl --request POST \
--url https://your_a2_service/api/manager/catalogs/batch-delete \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ids": [
"1001",
"1002"
]
}
'import requests
url = "https://your_a2_service/api/manager/catalogs/batch-delete"
payload = { "ids": ["1001", "1002"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({ids: ['1001', '1002']})
};
fetch('https://your_a2_service/api/manager/catalogs/batch-delete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://your_a2_service/api/manager/catalogs/batch-delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ids' => [
'1001',
'1002'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your_a2_service/api/manager/catalogs/batch-delete"
payload := strings.NewReader("{\n \"ids\": [\n \"1001\",\n \"1002\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://your_a2_service/api/manager/catalogs/batch-delete")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"1001\",\n \"1002\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://your_a2_service/api/manager/catalogs/batch-delete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ids\": [\n \"1001\",\n \"1002\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"failed": [
{
"id": "1002",
"reason": "Not found."
}
],
"succeeded": [
"1001"
]
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}