Berryproof

Berryproof API v1

분야를 가리지 않습니다. 웹사이트·상세 페이지·계약서·번역·이미지·영상 등 결과물을 보내면 그 분야 전문가가 직접 검수하고 서명합니다. 바로 검수를 시작하거나, quote_only 로 견적을 먼저 받고 시작할 수 있습니다.

인증

콘솔의 포인트 · API 설정에서 API 키를 받습니다. API로 요청한 것은 콘솔 검수 내역의 'API 연동' 탭에서 내 서비스 요청 번호(external_ref)와 함께 볼 수 있습니다. 모든 요청에 헤더를 붙입니다.

Authorization: Bearer bp_live_xxxxxxxx

로컬 데모 키: bp_test_demo_agency_key

POST /api/v1/reviews — 검수 요청

필드설명
template검수 정책 템플릿 id (기본 general 범용 검수). 템플릿이 곧 검수 범위입니다.
custom_checks템플릿에 없는 기준을 문장으로 더합니다 (문자열 배열, 최대 10개). 더한 기준도 검수 범위에 들어갑니다.
locale결과 설명 언어 (ko 기본, en 등). 원문 발췌는 원문 언어 그대로입니다.
text검수할 텍스트·코드
image_url / image_base64 + image_media_type이미지 (png·jpeg·webp·gif, 5MB 이하)
media_url영상 등 기타 결과물 URL (전문가 검수에서 확인)
context정황·목적·읽는 사람·사이트 정보. 문자열이나 { purpose, audience, site_url, brand, notes }. 전문가가 이 맥락으로 결과물 전체를 종합해 판단합니다.
quote_onlytrue 면 견적만 받습니다(status: "quoted", 포인트 차감 없음). 응답의 quote 를 보고 POST /reviews/{id}/start 로 시작하세요. 생략하면 바로 검수가 시작됩니다.
guarantee_tiernone(기본, 빠르게 확인: 전문가가 핵심을 확인하고 서명, 1시간) · basic(표준 검수: 전문가가 직접 검수하고 수정본, 의견 보내기 2회 포함) · plus(L3 정밀 검수 +15,000원, 의견 보내기 3회 포함). premium은 별도 계약이라 지금은 422
sla빠르게 확인은 무시(1시간). 직접 검수는 standard(기본, 24시간) · urgent(2시간)
ai_generated생성형 AI로 만든 결과물인지 (기본 true, AI 표시가 필요한 템플릿에서 사용)
external_ref고객 쪽 식별자
curl -X POST https://berryproof.com/api/v1/reviews \
  -H "Authorization: Bearer bp_test_demo_agency_key" \
  -H "Content-Type: application/json" \
  -d '{"template":"ai_code_security","text":"db.query(\"SELECT * FROM users WHERE id = \" + id)","guarantee_tier":"plus","sla":"standard","external_ref":"pr-482"}'

# 템플릿 없이 범용 검수 + 우리 기준
curl -X POST https://berryproof.com/api/v1/reviews -H "Authorization: Bearer ..." -H "Content-Type: application/json" \
  -d '{"text":"Dear customer, ...","locale":"en","custom_checks":["Formal tone only","Never mention competitors"]}'

# 웹사이트 검수 + 맥락
curl -X POST https://berryproof.com/api/v1/reviews -H "Authorization: Bearer ..." -H "Content-Type: application/json" \
  -d '{"template":"website_copy","media_url":"https://example.com","text":"(첫 화면 문구)",
       "context":{"purpose":"샐러드 구독 첫 화면","audience":"40대 직장인","brand":"친근한 말투"}}'

응답은 두 가지입니다.

  • 바로 검수 (status: "queued"): 전문가에게 배정됐어요. 끝나면 웹훅 review.completed 의 result 가 결과입니다.
  • 견적 (quote_only: true → status: "quoted"): quote 에 검수 방식별 포인트가 옵니다.
"quote": [
  { "guarantee_tier": "none",  "label": "빠르게 확인",  "hours": 1,  "price": 4400 },
  { "guarantee_tier": "basic", "label": "꼼꼼하게 검수", "hours": 24, "price": 26000 }
]

포인트(1P = 1원): 요청마다 검수 종류와 분량에 따라 포인트가 빠집니다. 결제 방식은 포인트 충전 · 월 구독 · 쓴 만큼 정산(월 한도) 중 하나예요. 쓸 수 있는 포인트나 월 한도가 모자라면 402 를 돌려주고 요청을 받지 않습니다. 가입하면 테스트 포인트 20,000P를 드리고, 콘솔 포인트 · API 설정에서 충전·변경합니다. 콘솔에서 직접 맡긴 검수도 같은 포인트에서 빠집니다. 검수 오류로 환불되면 포인트로 돌아옵니다.

API로 받는 건 표준 검수만이에요. 웹사이트·앱 인수 검수, 논문처럼 고객 의도를 먼저 맞춰야 하는 프로젝트 검수(GET /api/v1/templates 의 track: "project", api_available: false)는 요구사항 기준표를 확정해야 해서 콘솔(/app/projects/new)에서만 받고, API로 요청하면 422를 돌려줘요.

POST /api/v1/reviews/{id}/start — 견적 보고 검수 시작

curl -X POST https://berryproof.com/api/v1/reviews/rv_xxx/start -H "Authorization: Bearer ..." -H "Content-Type: application/json" \
  -d '{"guarantee_tier":"basic","sla":"standard"}'

quoted 상태에서만 됩니다. 이때 포인트가 빠지고 queued 로 바뀝니다.

GET /api/v1/reviews/{id}

상태(quoted 견적 → queued 배정 → in_review 전문가 검수 중 → completed)와 결과를 조회합니다. 목록은 GET /api/v1/reviews?limit=20.

웹훅 review.completed

검수가 끝나면 등록한 주소로 POST 합니다. 본문은 { type: "review.completed", data: <review> } 이고 최종 판정(result.verdict: pass·needs_fix·reject), 수정안, 근거 조항, 검수자 자격, 인증서 링크가 들어 있습니다.

서명 헤더 X-Berryproof-Signature: sha256=HMAC_SHA256(webhook_secret, raw_body) 로 진위를 확인하세요.

import crypto from "node:crypto";
const expected = "sha256=" + crypto.createHmac("sha256", WEBHOOK_SECRET).update(rawBody).digest("hex");
if (req.headers["x-berryproof-signature"] !== expected) return res.status(401).end();

GET /api/v1/certificates/{id}

검수 인증서, 검수 범위, 콘텐츠 해시, 배지 링크(badge_url, badge_html), 감사 로그를 돌려줍니다. 공개 검증 페이지는 https://berryproof.com/verify/{id}.

POST /api/v1/claims — 이의 제기

curl -X POST https://berryproof.com/api/v1/claims -H "Authorization: Bearer ..." -H "Content-Type: application/json" \
  -d '{"certificate_id":"BP-2026-XXXXXXXX","description":"'AI 생성 표시' 항목이 통과됐는데 실제로는 표시가 빠져 있었어요"}'

원 검수자가 아닌 L3 검수자가 원래 판단을 보지 않고 72시간 안에 다시 판정하고, 그 판정이 곧 결과입니다. 검수 오류면 그 건 검수료를 포인트로 돌려드립니다. 결과물 사용으로 생긴 손해는 보상하지 않습니다. 보낼 것: certificate_id, description, evidence(선택). 그 전에 콘솔에서 검수 결과에 대한 의견을 같은 전문가에게 먼저 보낼 수 있어요(등급별 포함 횟수). 조건은 검수 정책.

템플릿 — GET /api/v1/templates?domain=

분야(domain)와 기준 국가(region)별 체크리스트 묶음입니다. 맞는 템플릿이 없으면 general + custom_checks 로 시작하세요.

id이름분야 · 국가항목전문가 검수료
general범용 검수 (모든 분야)범용 · 국가 무관525,000원
health_functional_food_ad건강기능식품 광고 (한국)광고·마케팅 · 한국925,000원
general_food_ad일반식품 광고 (한국)광고·마케팅 · 한국825,000원
cosmetics_ad화장품 광고 (한국)광고·마케팅 · 한국825,000원
finance_copy금융상품 안내 문구 (한국)광고·마케팅 · 한국925,000원
shopping_detail쇼핑몰 상세페이지 (한국)광고·마케팅 · 한국725,000원
us_marketing_ftcMarketing copy (US · FTC)광고·마케팅 · 미국335,000원
image_creativeAI 생성 이미지이미지·영상 · 국가 무관525,000원
video_contentAI 생성 영상이미지·영상 · 국가 무관545,000원
website_copy웹사이트 검수웹사이트·앱 · 국가 무관935,000원
security_diagnosis웹 서비스 보안 진단소프트웨어·코드 · 국가 무관849,000원
ai_search_optimizationAI 검색 최적화웹사이트·앱 · 국가 무관835,000원
website_app웹사이트·앱 인수 검수 (요구사항 대비)웹사이트·앱 · 국가 무관589,000원
chatbot_answerAI 챗봇·상담 답변고객 응대·챗봇 · 국가 무관435,000원
ai_code_securityAI 생성 코드 — 보안·라이선스소프트웨어·코드 · 국가 무관649,000원
research_paper논문·연구 원고논문·연구 · 국가 무관559,000원
business_report보고서·업무 문서보고서·업무 문서 · 국가 무관535,000원
contract_check계약서 확인보고서·업무 문서 · 한국640,000원
translation번역 검수번역 · 국가 무관435,000원

과금 (포인트 · 1P = 1원)

작업량에 비례합니다. 예상 작업 시간 × 분야별 전문가 시급 ÷ 50%(전문가 몫). 작업 시간은 글자 수·페이지·사이트·이미지 수에 비례하고, 응답의 price 에 이번 건 포인트가 옵니다. 아래는 기준 분량일 때예요.

id기준 · 전문가 시급빠르게 확인꼼꼼하게 검수분량이 늘면
general2,000자 기준 · 5만 원4,400P26,000P1,000자마다 +4,200P
health_functional_food_ad2,000자 기준 · 6만 원5,200P37,000P1,000자마다 +6,000P
general_food_ad2,000자 기준 · 6만 원5,200P37,000P1,000자마다 +6,000P
cosmetics_ad2,000자 기준 · 6만 원5,200P37,000P1,000자마다 +6,000P
finance_copy2,000자 기준 · 6만 원5,200P37,000P1,000자마다 +6,000P
shopping_detail2,000자 기준 · 6만 원5,200P37,000P1,000자마다 +6,000P
us_marketing_ftc2,000자 기준 · 7만 원6,100P43,000P1,000자마다 +7,000P
image_creative이미지 1개 기준 · 5만 원2,700P21,000P이미지 하나 더 +20,000P
video_content영상 1개 기준 · 6만 원8,200P41,000P영상 하나 더 +40,000P
website_copy페이지 1개 기준 · 6만 원7,300P55,000P페이지 하나 더 +50,000P
security_diagnosis사이트 1개 기준 · 10만 원17,000P101,000P사이트 하나 더 +100,000P
ai_search_optimization페이지 1개 기준 · 6만 원7,300P45,000P페이지 하나 더 +40,000P
chatbot_answer2,000자 기준 · 5만 원4,400P31,000P1,000자마다 +5,000P
ai_code_security2,000자 기준 · 10만 원10,200P67,000P1,000자마다 +13,400P
business_report2,000자 기준 · 6만 원5,200P41,000P1,000자마다 +8,000P
contract_check2,000자 기준 · 6만 원5,200P47,000P1,000자마다 +8,000P
translation2,000자 기준 · 6만 원7,200P35,000P1,000자마다 +12,000P
  • 빠르게 확인은 none, 꼼꼼하게 검수는 basic·plus 등급일 때예요. 모두 전문가가 직접 확인해요.
  • basic: 표준 검수 · 의견 보내기 2회 포함 — +0P
  • plus: L3 정밀 검수 · 의견 보내기 3회 포함 — +15,000P
  • premium: 엔터프라이즈 (별도 계약) — API 신청 불가
  • 긴급(urgent, 2시간): +20,000P
  • 결제 방식: 포인트 충전(자동 충전 가능) · 월 구독(라이트 월 50,000원 → 55,000P, 프로 월 200,000원 → 230,000P, 비즈니스 월 500,000원 → 600,000P, 이월 안 됨) · 쓴 만큼 정산(월 한도).