Airtable API 레코드 생성
Airtable API 레코드 생성
Airtable Web API에서 POST /v0/{baseId}/{tableId} 호출로 한 번에 여러 개의 레코드를 생성하는 방법을 소개할게요. 테이블 이름과 테이블 ID를 모두 사용할 수 있는데, 실무에서는 테이블 이름이 바뀌어도 요청을 고칠 필요 없도록 테이블 ID를 쓰는 걸 권장해요.
출처: 문서
본문
기본 개념
- POST /v0/{baseId}/{tableId} 라는 엔드포인트로 레코드를 생성해요.
- 요청 본문에는 record 객체 배열(
records) 을 담아요. 각 객체는 하나의 키(fields)를 갖고, 그 값에 필드 이름(field name)이나 필드 ID(field id) 를 키로 한 셀 값(cell value) 객체를 넣어요. - 호출에 성공하면 새로 생성된 레코드 ID들의 유일한 배열(unique array) 을 돌려줘요.
- 요청 본문 최상위에 단일 record 객체 하나만 두면 레코드를 하나만 생성할 수도 있어요.
다중 레코드 생성 (Multiple records)
여러 레코드를 한 요청으로 만들려면 records 배열 안에 각각의 fields 객체를 넣으면 돼요. 아래는 Address, Name, Visited 필드를 가진 레코드 두 개를 만드는 예시예요.
{
"records": [
{
"fields": {
"Address": "333 Post St",
"Name": "Union Square",
"Visited": true
}
},
{
"fields": {
"Address": "1 Ferry Building",
"Name": "Ferry Building"
}
}
]
}
단일 레코드 생성 (Single record)
레코드를 하나만 만들 땐 요청 본문 최상위에 fields 객체를 바로 두면 돼요.
{
"fields": {
"Address": "333 Post St",
"Name": "Union Square",
"Visited": true
}
}
성공 응답 (200 Response)
성공 시, 생성된 각 레코드에 대해 id, createdTime, fields를 돌려줘요. 다중 생성이면 records 배열로, 단일 생성이면 객체 하나로 응답이 옵니다.
{
"records": [
{
"id": "rec560UJdUtocSouk",
"createdTime": "2022-09-12T21:03:48.000Z",
"fields": {
"Address": "333 Post St",
"Name": "Union Square",
"Visited": true
}
},
{
"id": "rec3lbPRG4aVqkeOQ",
"createdTime": "2022-09-12T21:03:48.000Z",
"fields": {
"Address": "1 Ferry Building",
"Name": "Ferry Building"
}
}
]
}
typecast 파라미터
typecast 파라미터를 넘기면 Airtable API가 문자열(string) 값에서 최선의 방식(best-effort)으로 자동 데이터 변환을 수행해요. 자동 변환은 데이터 무결성을 지키기 위해 기본적으로 꺼져 있는데, 서드파티 데이터 소스와 연동할 때 유용할 수 있어요.
- 기본값(Default): 자동 변환 비활성화
- 용도: 외부 데이터를 그대로 넣을 때 타입 변환 없이 문자열로 들어오는 값을 알맞은 필드 타입으로 맞춰줄 때
returnFieldsByFieldId 파라미터
선택적인 불리언 값으로, 응답의 필드 객체 키를 필드 ID(field id)로 반환할지 정해요. 기본값은 false라서 필드 이름을 키로 반환하고, true로 설정하면 필드 ID를 키로 반환해요.