openapi: 3.0.3 info: title: PortOne B2b API version: 1.16.0 servers: - url: https://api.portone.io description: 운영환경 서버 tags: - name: B2b paths: /b2b/bulk-tax-invoices/{bulkTaxInvoiceId}: get: summary: 일괄 세금계산서 조회 description: '일괄 세금계산서 조회 등록된 일괄 세금계산서를 일괄 세금계산서 아이디로 조회합니다.' operationId: getB2bBulkTaxInvoice parameters: - name: bulkTaxInvoiceId in: path description: 일괄 세금계산서 아이디 required: true schema: type: string x-portone-title: 일괄 세금계산서 아이디 - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/B2bBulkTaxInvoice' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError' '404': description: '* `B2bBulkTaxInvoiceNotFoundError`: 일괄 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 일괄 세금계산서 조회 x-portone-description: 등록된 일괄 세금계산서를 일괄 세금계산서 아이디로 조회합니다. x-portone-error: $ref: '#/components/schemas/GetB2bBulkTaxInvoiceError' tags: - B2b /b2b/companies/business-info: post: summary: 사업자등록 정보 조회 description: '사업자등록 정보 조회 요청된 사업자등록번호 리스트에 해당하는 사업자등록 정보를 조회합니다. 해당 API 사용을 위해서는 별도 문의가 필요합니다.' operationId: getB2bBusinessInfos parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/GetB2bBusinessInfosBody' required: true responses: '200': description: 성공 응답으로 사업자등록 정보조회 결과 리스트를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/GetB2bBusinessInfosResponse' x-portone-description: 성공 응답으로 사업자등록 정보조회 결과 리스트를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bBusinessInfosError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bBusinessInfosError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bBusinessInfosError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bBusinessInfosError' security: - bearerJwt: [] - portOne: [] x-portone-category: platform.company x-portone-title: 사업자등록 정보 조회 x-portone-description: '요청된 사업자등록번호 리스트에 해당하는 사업자등록 정보를 조회합니다. 해당 API 사용을 위해서는 별도 문의가 필요합니다.' x-portone-error: $ref: '#/components/schemas/GetB2bBusinessInfosError' tags: - B2b /b2b/counterparties/{brn}/certificate/registration-url: get: summary: 사업자 인증서 등록 URL 조회 description: '사업자 인증서 등록 URL 조회 연동 사업자의 인증서를 등록하기 위한 URL을 조회합니다.' operationId: getB2bCounterpartyCertificateRegistrationUrl parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. - name: brn in: path description: 사업자등록번호 required: true schema: type: string x-portone-title: 사업자등록번호 responses: '200': description: 성공 응답으로 URL을 반환합니다. content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlResponse' x-portone-description: 성공 응답으로 URL을 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError' '404': description: '* `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.counterparty x-portone-title: 사업자 인증서 등록 URL 조회 x-portone-description: 연동 사업자의 인증서를 등록하기 위한 URL을 조회합니다. x-portone-error: $ref: '#/components/schemas/GetB2bCounterpartyCertificateRegistrationUrlError' tags: - B2b /b2b/counterparties/{brn}/certificate/validate: post: summary: 사업자 인증서 유효성 검증 description: '사업자 인증서 유효성 검증 연동 사업자가 등록한 인증서의 유효성을 검증합니다.' operationId: validateB2bCounterpartyCertificate parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. - name: brn in: path description: 사업자등록번호 required: true schema: type: string x-portone-title: 사업자등록번호 responses: '200': description: 성공 응답으로 유효성 검증 결과를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateResponse' x-portone-description: 성공 응답으로 유효성 검증 결과를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError' '404': description: '* `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우 * `B2bCertificateUnregisteredError`: 인증서가 등록되어 있지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.counterparty x-portone-title: 사업자 인증서 유효성 검증 x-portone-description: 연동 사업자가 등록한 인증서의 유효성을 검증합니다. x-portone-error: $ref: '#/components/schemas/ValidateB2bCounterpartyCertificateError' tags: - B2b /b2b/counterparties/{brn}/certificate: get: summary: 인증서 조회 description: '인증서 조회 연동 사업자의 인증서를 조회합니다.' operationId: getB2bCounterpartyCertificate parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. - name: brn in: path description: 사업자등록번호 required: true schema: type: string x-portone-title: 사업자등록번호 responses: '200': description: 성공 응답으로 인증서 객체를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/B2bCertificate' x-portone-description: 성공 응답으로 인증서 객체를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateError' '404': description: '* `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우 * `B2bCertificateUnregisteredError`: 인증서가 등록되어 있지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyCertificateError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.counterparty x-portone-title: 인증서 조회 x-portone-description: 연동 사업자의 인증서를 조회합니다. x-portone-error: $ref: '#/components/schemas/GetB2bCounterpartyCertificateError' tags: - B2b /b2b/counterparties/{counterpartyId}: get: summary: 거래처 조회 description: '거래처 조회 거래처를 조회합니다.' operationId: getB2bCounterparty parameters: - name: counterpartyId in: path description: 거래처 ID required: true schema: type: string x-portone-title: 거래처 ID - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: 성공 응답으로 거래처 객체를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/B2bCounterparty' x-portone-description: 성공 응답으로 거래처 객체를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyError' '404': description: '* `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartyError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.counterparty x-portone-title: 거래처 조회 x-portone-description: 거래처를 조회합니다. x-portone-error: $ref: '#/components/schemas/GetB2bCounterpartyError' tags: - B2b delete: summary: 거래처 삭제 description: '거래처 삭제 거래처를 삭제합니다.' operationId: deleteB2bCounterparty parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. - name: counterpartyId in: path description: 거래처 ID required: true schema: type: string x-portone-title: 거래처 ID requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteB2bCounterpartyBody' required: false responses: '200': description: 성공 응답 content: application/json: schema: $ref: '#/components/schemas/DeleteB2bCounterpartyResponse' x-portone-title: 성공 응답 '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bCounterpartyError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bCounterpartyError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우 * `B2bCounterpartyPartnerNotDeletableError`: 파트너 연동 거래처는 삭제할 수 없는 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bCounterpartyError' '404': description: '* `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bCounterpartyError' '409': description: '* `B2bCounterpartyOngoingTaxInvoiceExistsError`: 진행 중인 세금계산서가 존재하여 거래처를 삭제할 수 없는 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bCounterpartyError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bCounterpartyError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.counterparty x-portone-title: 거래처 삭제 x-portone-description: 거래처를 삭제합니다. x-portone-error: $ref: '#/components/schemas/DeleteB2bCounterpartyError' tags: - B2b patch: summary: 거래처 정보 수정 description: '거래처 정보 수정 거래처 정보를 수정합니다.' operationId: updateB2bCounterparty parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. - name: counterpartyId in: path description: 거래처 ID required: true schema: type: string x-portone-title: 거래처 ID requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateB2bCounterpartyBody' required: true responses: '200': description: 성공 응답 content: application/json: schema: $ref: '#/components/schemas/UpdateB2bCounterpartyResponse' x-portone-title: 성공 응답 '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bCounterpartyBrnModificationNotAllowedError`: 사업자등록번호 수정이 허용되지 않는 경우 * `B2bCounterpartyTooManyAdditionalContactsError`: 추가 담당자가 너무 많은 경우 * `B2bCounterpartyMissingRequiredFieldsError`: 필수 입력 항목이 누락된 경우 * `B2bCounterpartyVerificationBrnMismatchError`: 검증 결과의 사업자등록번호가 일치하지 않는 경우 * `B2bCounterpartyVerificationTypeMismatchError`: 검증 유형이 일치하지 않는 경우 * `B2bCounterpartyVerificationInvalidError`: 검증 결과가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bCounterpartyError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bCounterpartyError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우 * `B2bCounterpartyPartnerNotUpdatableError`: 파트너 연동 거래처는 수정할 수 없는 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bCounterpartyError' '404': description: '* `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우 * `B2bCounterpartyVerificationNotFoundError`: 검증 결과를 찾을 수 없는 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bCounterpartyError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bCounterpartyError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.counterparty x-portone-title: 거래처 정보 수정 x-portone-description: 거래처 정보를 수정합니다. x-portone-error: $ref: '#/components/schemas/UpdateB2bCounterpartyError' tags: - B2b /b2b/counterparties: get: summary: 거래처 검색 description: '거래처 검색 거래처를 검색합니다.' operationId: getB2bCounterparties parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. - name: requestBody in: query required: false content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartiesBody' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartiesResponse' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartiesError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartiesError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartiesError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bCounterpartiesError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.counterparty x-portone-title: 거래처 검색 x-portone-description: 거래처를 검색합니다. x-portone-error: $ref: '#/components/schemas/GetB2bCounterpartiesError' tags: - B2b post: summary: 거래처 생성 description: '거래처 생성 거래처를 생성합니다.' operationId: createB2bCounterparty parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateB2bCounterpartyBody' required: true responses: '200': description: 성공 응답 content: application/json: schema: $ref: '#/components/schemas/CreateB2bCounterpartyResponse' x-portone-title: 성공 응답 '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bCounterpartyBrnInvalidError`: 사업자등록번호가 유효하지 않은 경우 * `B2bCounterpartySelfOriginBrnMismatchError`: 자사 사업자등록번호와 동일한 거래처를 생성할 수 없는 경우 * `B2bCounterpartyTooManyAdditionalContactsError`: 추가 담당자가 너무 많은 경우 * `B2bCounterpartyMissingRequiredFieldsError`: 필수 입력 항목이 누락된 경우 * `B2bCounterpartyVerificationBrnMismatchError`: 검증 결과의 사업자등록번호가 일치하지 않는 경우 * `B2bCounterpartyVerificationTypeMismatchError`: 검증 유형이 일치하지 않는 경우 * `B2bCounterpartyVerificationInvalidError`: 검증 결과가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/CreateB2bCounterpartyError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/CreateB2bCounterpartyError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우 * `B2bCounterpartyPartnerNotConnectableError`: 파트너 연동 거래처는 국세청 연동이 허용되지 않는 경우' content: application/json: schema: $ref: '#/components/schemas/CreateB2bCounterpartyError' '404': description: '* `B2bCounterpartyVerificationNotFoundError`: 검증 결과를 찾을 수 없는 경우' content: application/json: schema: $ref: '#/components/schemas/CreateB2bCounterpartyError' '409': description: '* `B2bCounterpartyIdAlreadyExistsError`: 거래처 ID가 이미 사용중인 경우 * `B2bCounterpartyIdAlreadyExistsByPartnerError`: 파트너 연동으로 생성된 거래처 ID가 이미 사용중인 경우' content: application/json: schema: $ref: '#/components/schemas/CreateB2bCounterpartyError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우 * `B2bCounterpartyNtsConnectionFailedError`: 국세청 연동에 실패한 경우' content: application/json: schema: $ref: '#/components/schemas/CreateB2bCounterpartyError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.counterparty x-portone-title: 거래처 생성 x-portone-description: 거래처를 생성합니다. x-portone-error: $ref: '#/components/schemas/CreateB2bCounterpartyError' tags: - B2b /b2b/file-upload-url: post: summary: 파일 업로드 URL 생성 description: '파일 업로드 URL 생성 S3 파일 업로드를 위한 URL을 생성합니다.' operationId: createB2bFileUploadUrl parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateB2bFileUploadUrlBody' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CreateB2bFileUploadUrlPayload' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/CreateB2bFileUploadUrlError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/CreateB2bFileUploadUrlError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/CreateB2bFileUploadUrlError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/CreateB2bFileUploadUrlError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 파일 업로드 URL 생성 x-portone-description: S3 파일 업로드를 위한 URL을 생성합니다. x-portone-error: $ref: '#/components/schemas/CreateB2bFileUploadUrlError' tags: - B2b /b2b/tax-invoices-sheet: get: summary: 세금계산서 엑셀 파일(csv) 다운로드 description: '세금계산서 엑셀 파일(csv) 다운로드 세금계산서를 엑셀 파일(csv)로 다운로드합니다.' operationId: downloadB2bTaxInvoicesSheet parameters: - name: requestBody in: query required: true content: application/json: schema: $ref: '#/components/schemas/DownloadB2bTaxInvoicesSheetBody' responses: '200': description: '' content: text/csv: schema: type: string format: binary '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/DownloadB2bTaxInvoicesSheetError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/DownloadB2bTaxInvoicesSheetError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 엑셀 파일(csv) 다운로드 x-portone-description: 세금계산서를 엑셀 파일(csv)로 다운로드합니다. x-portone-error: $ref: '#/components/schemas/DownloadB2bTaxInvoicesSheetError' tags: - B2b /b2b/tax-invoices/draft: put: summary: 세금계산서 임시저장 수정 description: '세금계산서 임시저장 수정 임시 저장된 세금계산서를 수정합니다.' operationId: updateB2bTaxInvoiceDraft parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftBody' required: true responses: '200': description: 성공 응답으로 세금계산서를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftResponse' x-portone-description: 성공 응답으로 세금계산서를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError`: 세금계산서에 공급자 문서 번호가 이미 사용 중인 경우 * `B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError`: 세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우 * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우 * `B2bModificationNotProvidedError`: 세금계산서 수정 입력 정보를 찾을 수 없는 경우 * `B2BCannotChangeTaxTypeError`: 세금계산서 과세 유형을 수정할 수 없는 경우 * `B2BTaxInvoiceStatusNotSendingCompletedError`: 원본 세금계산서가 전송완료 상태가 아닌 경우 * `B2bTaxInvoiceNotDraftedStatusError`: 세금계산서가 임시저장 완료 상태가 아닌 경우 * `B2bDocumentKeyCannotBeChangedError`: 문서번호 수정이 요청된 경우 * `B2bIssuanceTypeMismatchError`: 세금계산서 발행 유형이 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError' '404': description: '* `B2bSupplierNotFoundError`: 공급자가 존재하지 않은 경우 * `B2bRecipientNotFoundError`: 공급받는자가 존재하지 않은 경우 * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우 * `B2bOriginalTaxInvoiceNotFoundError`: 원본 세금계산서가 존재하지 않은 경우 * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError' '409': description: '* `B2bIdAlreadyExistsError`: ID가 이미 사용중인 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 임시저장 수정 x-portone-description: 임시 저장된 세금계산서를 수정합니다. x-portone-error: $ref: '#/components/schemas/UpdateB2bTaxInvoiceDraftError' tags: - B2b post: summary: 세금계산서 임시 저장 description: '세금계산서 임시 저장 세금계산서 임시 저장을 요청합니다.' operationId: draftB2bTaxInvoice parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/DraftB2bTaxInvoiceBody' required: true responses: '200': description: 성공 응답으로 세금계산서를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/DraftB2bTaxInvoiceResponse' x-portone-description: 성공 응답으로 세금계산서를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError`: 세금계산서에 공급자 문서 번호가 이미 사용 중인 경우 * `B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError`: 세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우 * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우 * `B2bModificationNotProvidedError`: 세금계산서 수정 입력 정보를 찾을 수 없는 경우 * `B2BCannotChangeTaxTypeError`: 세금계산서 과세 유형을 수정할 수 없는 경우 * `B2BTaxInvoiceStatusNotSendingCompletedError`: 원본 세금계산서가 전송완료 상태가 아닌 경우 * `B2bIssuanceTypeMismatchError`: 세금계산서 발행 유형이 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/DraftB2bTaxInvoiceError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/DraftB2bTaxInvoiceError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/DraftB2bTaxInvoiceError' '404': description: '* `B2bSupplierNotFoundError`: 공급자가 존재하지 않은 경우 * `B2bRecipientNotFoundError`: 공급받는자가 존재하지 않은 경우 * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우 * `B2bOriginalTaxInvoiceNotFoundError`: 원본 세금계산서가 존재하지 않은 경우 * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/DraftB2bTaxInvoiceError' '409': description: '* `B2bIdAlreadyExistsError`: ID가 이미 사용중인 경우' content: application/json: schema: $ref: '#/components/schemas/DraftB2bTaxInvoiceError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/DraftB2bTaxInvoiceError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 임시 저장 x-portone-description: 세금계산서 임시 저장을 요청합니다. x-portone-error: $ref: '#/components/schemas/DraftB2bTaxInvoiceError' tags: - B2b /b2b/tax-invoices/issue-immediately: post: summary: 세금계산서 즉시 정발행 description: '세금계산서 즉시 정발행 세금계산서를 즉시 정발행합니다. 임시저장 API와 정발행 API 기능을 한 번의 프로세스로 처리합니다.' operationId: issueB2bTaxInvoiceImmediately parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyBody' required: true responses: '200': description: 성공 응답으로 세금계산서를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyResponse' x-portone-description: 성공 응답으로 세금계산서를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError`: 세금계산서에 공급자 문서 번호가 이미 사용 중인 경우 * `B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError`: 세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우 * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우 * `B2bModificationNotProvidedError`: 세금계산서 수정 입력 정보를 찾을 수 없는 경우 * `B2BCannotChangeTaxTypeError`: 세금계산서 과세 유형을 수정할 수 없는 경우 * `B2BTaxInvoiceStatusNotSendingCompletedError`: 원본 세금계산서가 전송완료 상태가 아닌 경우 * `B2bIssuanceTypeMismatchError`: 세금계산서 발행 유형이 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError' '404': description: '* `B2bSupplierNotFoundError`: 공급자가 존재하지 않은 경우 * `B2bRecipientNotFoundError`: 공급받는자가 존재하지 않은 경우 * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우 * `B2bOriginalTaxInvoiceNotFoundError`: 원본 세금계산서가 존재하지 않은 경우 * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError' '409': description: '* `B2bIdAlreadyExistsError`: ID가 이미 사용중인 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 즉시 정발행 x-portone-description: 세금계산서를 즉시 정발행합니다. 임시저장 API와 정발행 API 기능을 한 번의 프로세스로 처리합니다. x-portone-error: $ref: '#/components/schemas/IssueB2bTaxInvoiceImmediatelyError' tags: - B2b /b2b/tax-invoices/request-reverse-issuance: post: summary: 세금계산서 역발행 즉시 요청 description: '세금계산서 역발행 즉시 요청 공급자에게 세금계산서 역발행을 즉시 요청합니다. 임시저장 API와 역발행 요청 API 기능을 한 번의 프로세스로 처리합니다.' operationId: requestB2bTaxInvoiceReverseIssuance parameters: - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceBody' required: true responses: '200': description: 성공 응답으로 세금계산서를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceResponse' x-portone-description: 성공 응답으로 세금계산서를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError`: 세금계산서에 공급자 문서 번호가 이미 사용 중인 경우 * `B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError`: 세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우 * `B2bCounterpartyNtsNotConnectedError`: 국세청에 연동되어 있지 않은 경우 * `B2bModificationNotProvidedError`: 세금계산서 수정 입력 정보를 찾을 수 없는 경우 * `B2BCannotChangeTaxTypeError`: 세금계산서 과세 유형을 수정할 수 없는 경우 * `B2BTaxInvoiceStatusNotSendingCompletedError`: 원본 세금계산서가 전송완료 상태가 아닌 경우 * `B2bIssuanceTypeMismatchError`: 세금계산서 발행 유형이 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError' '404': description: '* `B2bSupplierNotFoundError`: 공급자가 존재하지 않은 경우 * `B2bRecipientNotFoundError`: 공급받는자가 존재하지 않은 경우 * `B2bCounterpartyNotFoundError`: 거래처가 존재하지 않는 경우 * `B2bOriginalTaxInvoiceNotFoundError`: 원본 세금계산서가 존재하지 않은 경우 * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError' '409': description: '* `B2bIdAlreadyExistsError`: ID가 이미 사용중인 경우' content: application/json: schema: $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 역발행 즉시 요청 x-portone-description: 공급자에게 세금계산서 역발행을 즉시 요청합니다. 임시저장 API와 역발행 요청 API 기능을 한 번의 프로세스로 처리합니다. x-portone-error: $ref: '#/components/schemas/RequestB2bTaxInvoiceReverseIssuanceError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/attach-file: post: summary: 세금계산서 파일 첨부 description: '세금계산서 파일 첨부 세금계산서에 파일을 첨부합니다.' operationId: attachB2bTaxInvoiceFile parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/AttachB2bTaxInvoiceFileBody' required: true responses: '200': description: '' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceNotDraftedStatusError`: 세금계산서가 임시저장 완료 상태가 아닌 경우' content: application/json: schema: $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우 * `B2bFileNotFoundError`: 업로드한 파일을 찾을 수 없는 경우' content: application/json: schema: $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 파일 첨부 x-portone-description: 세금계산서에 파일을 첨부합니다. x-portone-error: $ref: '#/components/schemas/AttachB2bTaxInvoiceFileError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/attachments/{attachmentId}: delete: summary: 세금계산서 첨부파일 삭제 description: '세금계산서 첨부파일 삭제 세금계산서 첨부파일을 삭제합니다.' operationId: deleteB2bTaxInvoiceAttachment parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: attachmentId in: path description: 첨부파일 아이디 required: true schema: type: string x-portone-title: 첨부파일 아이디 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: '' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceNotDraftedStatusError`: 세금계산서가 임시저장 완료 상태가 아닌 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우 * `B2bTaxInvoiceAttachmentNotFoundError`: 세금계산서의 첨부파일을 찾을 수 없는 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 첨부파일 삭제 x-portone-description: 세금계산서 첨부파일을 삭제합니다. x-portone-error: $ref: '#/components/schemas/DeleteB2bTaxInvoiceAttachmentError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/attachments: get: summary: 세금계산서 첨부파일 목록 조회 description: '세금계산서 첨부파일 목록 조회 세금계산서에 첨부된 파일 목록을 조회합니다.' operationId: getB2bTaxInvoiceAttachments parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsResponse' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 첨부파일 목록 조회 x-portone-description: 세금계산서에 첨부된 파일 목록을 조회합니다. x-portone-error: $ref: '#/components/schemas/GetB2bTaxInvoiceAttachmentsError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/cancel-issuance: post: summary: 세금계산서 취소 (공급자에 의한 취소) description: '세금계산서 취소 (공급자에 의한 취소) 발행 완료된 세금계산서를 공급자가 국세청 전송 전에 취소합니다.' operationId: cancelB2bTaxInvoiceIssuance parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceBody' required: true responses: '200': description: 성공 응답으로 세금계산서를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceResponse' x-portone-description: 성공 응답으로 세금계산서를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceNotIssuedStatusError`: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우' content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 취소 (공급자에 의한 취소) x-portone-description: 발행 완료된 세금계산서를 공급자가 국세청 전송 전에 취소합니다. x-portone-error: $ref: '#/components/schemas/CancelB2bTaxInvoiceIssuanceError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/cancel-request: post: summary: 세금계산서 역발행 요청 취소 (공급받는자에 의한 취소) description: '세금계산서 역발행 요청 취소 (공급받는자에 의한 취소) 공급자가 세금계산서 발행을 승인하기 전에 공급받는자가 해당 역발행 요청을 취소합니다.' operationId: cancelB2bTaxInvoiceRequest parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestBody' required: true responses: '200': description: 성공 응답으로 세금계산서를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestResponse' x-portone-description: 성공 응답으로 세금계산서를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceNotRequestedStatusError`: 세금계산서가 역발행 대기 상태가 아닌 경우 * `B2bTaxInvoiceNoRecipientDocumentKeyError`: 세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 역발행 요청 취소 (공급받는자에 의한 취소) x-portone-description: 공급자가 세금계산서 발행을 승인하기 전에 공급받는자가 해당 역발행 요청을 취소합니다. x-portone-error: $ref: '#/components/schemas/CancelB2bTaxInvoiceRequestError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/issue: post: summary: 세금계산서 발행 승인 description: '세금계산서 발행 승인 역발행의 경우 역발행요청(REQUESTED) 상태, 정발행의 경우 임시저장(DRAFTED) 상태의 세금계산서에 대해 발행을 승인합니다.' operationId: issueB2bTaxInvoice parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceBody' required: true responses: '200': description: 성공 응답으로 세금계산서를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceResponse' x-portone-description: 성공 응답으로 세금계산서를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceNotRequestedStatusError`: 세금계산서가 역발행 대기 상태가 아닌 경우 * `B2bTaxInvoiceNotDraftedStatusError`: 세금계산서가 임시저장 완료 상태가 아닌 경우 * `B2bTaxInvoiceNoSupplierDocumentKeyError`: 세금계산서에 공급자 문서 번호가 기입되지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/IssueB2bTaxInvoiceError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 발행 승인 x-portone-description: 역발행의 경우 역발행요청(REQUESTED) 상태, 정발행의 경우 임시저장(DRAFTED) 상태의 세금계산서에 대해 발행을 승인합니다. x-portone-error: $ref: '#/components/schemas/IssueB2bTaxInvoiceError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/pdf-download-url: get: summary: 세금 계산서 PDF 다운로드 URL 조회 description: '세금 계산서 PDF 다운로드 URL 조회 등록된 세금 계산서 PDF 다운로드 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.' operationId: getB2bTaxInvoicePdfDownloadUrl parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlResponse' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금 계산서 PDF 다운로드 URL 조회 x-portone-description: 등록된 세금 계산서 PDF 다운로드 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다. x-portone-error: $ref: '#/components/schemas/GetB2bTaxInvoicePdfDownloadUrlError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/popup-url: get: summary: 세금 계산서 팝업 URL 조회 description: '세금 계산서 팝업 URL 조회 등록된 세금 계산서 팝업 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.' operationId: getB2bTaxInvoicePopupUrl parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: includeMenu in: query description: '메뉴 포함 여부 팝업 URL에 메뉴 레이아웃을 포함 여부를 결정합니다. 기본 값은 true입니다.' required: false schema: type: boolean x-portone-title: 메뉴 포함 여부 x-portone-description: 팝업 URL에 메뉴 레이아웃을 포함 여부를 결정합니다. 기본 값은 true입니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlResponse' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금 계산서 팝업 URL 조회 x-portone-description: 등록된 세금 계산서 팝업 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다. x-portone-error: $ref: '#/components/schemas/GetB2bTaxInvoicePopupUrlError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/print-url: get: summary: 세금 계산서 프린트 URL 조회 description: '세금 계산서 프린트 URL 조회 등록된 세금 계산서 프린트 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.' operationId: getB2bTaxInvoicePrintUrl parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlResponse' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금 계산서 프린트 URL 조회 x-portone-description: 등록된 세금 계산서 프린트 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다. x-portone-error: $ref: '#/components/schemas/GetB2bTaxInvoicePrintUrlError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/refuse-request: post: summary: 세금계산서 역발행 요청 거부 description: '세금계산서 역발행 요청 거부 공급자가 공급받는자로부터 요청받은 세금계산서 역발행 건을 거부합니다.' operationId: refuseB2bTaxInvoiceRequest parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. requestBody: content: application/json: schema: $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestBody' required: true responses: '200': description: 성공 응답으로 세금계산서를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestResponse' x-portone-description: 성공 응답으로 세금계산서를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceNotRequestedStatusError`: 세금계산서가 역발행 대기 상태가 아닌 경우 * `B2bTaxInvoiceNoSupplierDocumentKeyError`: 세금계산서에 공급자 문서 번호가 기입되지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 역발행 요청 거부 x-portone-description: 공급자가 공급받는자로부터 요청받은 세금계산서 역발행 건을 거부합니다. x-portone-error: $ref: '#/components/schemas/RefuseB2bTaxInvoiceRequestError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/request: post: summary: 세금계산서 역발행 요청 description: '세금계산서 역발행 요청 임시저장(REGISTERED) 상태의 역발행 세금계산서를 공급자에게 발행 요청합니다. 요청이 완료되면 (역)발행대기 상태로 전환됩니다.' operationId: requestB2bTaxInvoice parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: 성공 응답으로 세금계산서를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/RequestB2bTaxInvoiceResponse' x-portone-description: 성공 응답으로 세금계산서를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bModificationNotProvidedError`: 세금계산서 수정 입력 정보를 찾을 수 없는 경우 * `B2BCannotChangeTaxTypeError`: 세금계산서 과세 유형을 수정할 수 없는 경우 * `B2BTaxInvoiceStatusNotSendingCompletedError`: 원본 세금계산서가 전송완료 상태가 아닌 경우 * `B2bTaxInvoiceNotDraftedStatusError`: 세금계산서가 임시저장 완료 상태가 아닌 경우 * `B2bIssuanceTypeMismatchError`: 세금계산서 발행 유형이 올바르지 않은 경우 * `B2bTaxInvoiceNoRecipientDocumentKeyError`: 세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/requestB2bTaxInvoiceError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/requestB2bTaxInvoiceError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/requestB2bTaxInvoiceError' '404': description: '* `B2bOriginalTaxInvoiceNotFoundError`: 원본 세금계산서가 존재하지 않은 경우 * `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/requestB2bTaxInvoiceError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/requestB2bTaxInvoiceError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 역발행 요청 x-portone-description: 임시저장(REGISTERED) 상태의 역발행 세금계산서를 공급자에게 발행 요청합니다. 요청이 완료되면 (역)발행대기 상태로 전환됩니다. x-portone-error: $ref: '#/components/schemas/requestB2bTaxInvoiceError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}/send-to-nts: post: summary: 세금계산서 국세청 즉시 전송 description: '세금계산서 국세청 즉시 전송 발행이 완료된 세금계산서를 국세청에 즉시 전송합니다.' operationId: sendToNtsB2bTaxInvoice parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceResponse' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceNotIssuedStatusError`: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우' content: application/json: schema: $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 국세청 즉시 전송 x-portone-description: 발행이 완료된 세금계산서를 국세청에 즉시 전송합니다. x-portone-error: $ref: '#/components/schemas/SendToNtsB2bTaxInvoiceError' tags: - B2b /b2b/tax-invoices/{taxInvoiceKey}: get: summary: 세금 계산서 조회 description: '세금 계산서 조회 등록된 세금 계산서를 세금계산서 아이디로 조회합니다.' operationId: getB2bTaxInvoice parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: 성공 응답으로 세금계산서를 반환합니다. content: application/json: schema: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-description: 성공 응답으로 세금계산서를 반환합니다. '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoiceError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금 계산서 조회 x-portone-description: 등록된 세금 계산서를 세금계산서 아이디로 조회합니다. x-portone-error: $ref: '#/components/schemas/GetB2bTaxInvoiceError' tags: - B2b delete: summary: 세금계산서 삭제 description: '세금계산서 삭제 세금계산서를 삭제합니다.' operationId: deleteB2bTaxInvoice parameters: - name: taxInvoiceKey in: path description: 세금계산서 문서 번호 required: true schema: type: string x-portone-title: 세금계산서 문서 번호 - name: brn in: query description: 사업자등록번호 required: false schema: type: string x-portone-title: 사업자등록번호 - name: taxInvoiceKeyType in: query description: '문서 번호 유형 query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.' required: false schema: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' x-portone-title: 문서 번호 유형 x-portone-description: query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다. - name: test in: query description: '테스트 모드 여부 true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.' required: false schema: type: boolean x-portone-title: 테스트 모드 여부 x-portone-description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceResponse' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우 * `B2bTaxInvoiceNonDeletableStatusError`: 세금계산서가 삭제 가능한 상태가 아닌 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우 * `B2bBulkTaxInvoiceNotFoundError`: 일괄 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/DeleteB2bTaxInvoiceError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금계산서 삭제 x-portone-description: 세금계산서를 삭제합니다. x-portone-error: $ref: '#/components/schemas/DeleteB2bTaxInvoiceError' tags: - B2b /b2b/tax-invoices: get: summary: 세금 계산서 다건조회 description: '세금 계산서 다건조회 조회 기간 내 등록된 세금 계산서를 다건 조회합니다.' operationId: getB2bTaxInvoices parameters: - name: requestBody in: query required: false content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicesBody' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicesResponse' '400': description: '* `InvalidRequestError`: 요청된 입력 정보가 유효하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicesError' '401': description: '* `UnauthorizedError`: 인증 정보가 올바르지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicesError' '403': description: '* `B2bNotEnabledError`: B2B 기능이 활성화되지 않은 경우 * `ForbiddenError`: 요청이 거절된 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicesError' '404': description: '* `B2bTaxInvoiceNotFoundError`: 세금계산서가 존재하지 않은 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicesError' '502': description: '* `B2bExternalServiceError`: 외부 서비스에서 에러가 발생한 경우' content: application/json: schema: $ref: '#/components/schemas/GetB2bTaxInvoicesError' security: - bearerJwt: [] - portOne: [] x-portone-category: b2b.taxInvoice x-portone-title: 세금 계산서 다건조회 x-portone-description: 조회 기간 내 등록된 세금 계산서를 다건 조회합니다. x-portone-error: $ref: '#/components/schemas/GetB2bTaxInvoicesError' tags: - B2b components: schemas: B2bTaxInvoiceModificationCreateBody: title: 수정 세금계산서 생성 입력 정보 description: 수정 세금계산서 생성 입력 정보 type: object required: - type - taxInvoiceKey properties: type: $ref: '#/components/schemas/B2bTaxInvoiceModificationType' title: 수정 사유 brn: type: string title: 사업자등록번호 description: taxInvoiceKeyType이 TAX_INVOICE_ID가 아닌 경우 필수 값입니다. taxInvoiceKey: type: string title: 세금계산서 문서 번호 taxInvoiceKeyType: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' title: 문서 번호 유형 description: 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다. x-portone-title: 수정 세금계산서 생성 입력 정보 B2bDocumentKeyCannotBeChangedError: title: 문서번호 수정이 요청된 경우 description: 문서번호 수정이 요청된 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 문서번호 수정이 요청된 경우 x-portone-status-code: 400 B2bCounterpartyVerificationBrnMismatchError: title: 검증 결과의 사업자등록번호가 일치하지 않는 경우 description: 검증 결과의 사업자등록번호가 일치하지 않는 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 검증 결과의 사업자등록번호가 일치하지 않는 경우 x-portone-status-code: 400 CreateB2bFileUploadUrlError: title: CreateB2bFileUploadUrlError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' B2bCounterpartyInput: title: 거래처 입력 정보 description: 거래처 입력 정보 type: object required: - brn properties: brn: type: string title: 사업자등록번호 description: '`-` 없이 숫자로만 구성됩니다.' name: type: string title: 거래처명 representativeName: type: string title: 대표자 성명 address: type: string title: 주소 businessType: type: string title: 업태 businessClass: type: string title: 업종 contact: $ref: '#/components/schemas/B2bCounterpartyContactInput' title: 담당자 정보 additionalContacts: title: 추가 담당자 목록 type: array items: $ref: '#/components/schemas/B2bCounterpartyContactInput' description: 최대 5명까지 등록할 수 있습니다. memo: type: string title: 메모 x-portone-title: 거래처 입력 정보 B2bCompanyStateBusinessStatus: title: 영업 상태 description: 영업 상태 type: string enum: - IN_BUSINESS - CLOSED - SUSPENDED x-portone-title: 영업 상태 x-portone-enum: IN_BUSINESS: title: 영업중 CLOSED: title: 폐업 SUSPENDED: title: 휴업 SendToNtsB2bTaxInvoiceResponse: title: 세금계산서 국세청 즉시 전송 응답 description: 세금계산서 국세청 즉시 전송 응답 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-title: 세금계산서 국세청 즉시 전송 응답 B2bCounterpartyVerificationTypeMismatchError: title: 검증 유형이 일치하지 않는 경우 description: 검증 유형이 일치하지 않는 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 검증 유형이 일치하지 않는 경우 x-portone-status-code: 400 GetB2bTaxInvoicesBodyDateFilter: title: 조회 기간 필터 description: 조회 기간 필터 type: object properties: dateType: $ref: '#/components/schemas/B2bSearchDateType' title: 조회 기간 기준 description: 미입력시 기본값은 등록일(`REGISTER`)로 설정됩니다. dateRange: type: array items: $ref: '#/components/schemas/DateRangeOption' title: 조회 기간 description: 미입력시 `dateRange.from`의 기본값은 한 달 이전, `dateRange.until`의 기본값은 현재 일자로 설정됩니다. x-portone-title: 조회 기간 필터 B2bTaxInvoiceNonDeletableStatusError: title: 세금계산서가 삭제 가능한 상태가 아닌 경우 description: '세금계산서가 삭제 가능한 상태가 아닌 경우 삭제 가능한 상태는 `DRAFTED`, `ISSUE_REFUSED`, `REQUEST_CANCELLED_BY_RECIPIENT`, `ISSUE_CANCELLED_BY_SUPPLIER`, `SENDING_FAILED` 입니다.' type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서가 삭제 가능한 상태가 아닌 경우 x-portone-description: 삭제 가능한 상태는 `DRAFTED`, `ISSUE_REFUSED`, `REQUEST_CANCELLED_BY_RECIPIENT`, `ISSUE_CANCELLED_BY_SUPPLIER`, `SENDING_FAILED` 입니다. x-portone-status-code: 400 B2bTaxInvoiceNoSupplierDocumentKeyError: title: 세금계산서에 공급자 문서 번호가 기입되지 않은 경우 description: 세금계산서에 공급자 문서 번호가 기입되지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서에 공급자 문서 번호가 기입되지 않은 경우 x-portone-status-code: 400 RefuseB2bTaxInvoiceRequestError: title: RefuseB2bTaxInvoiceRequestError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNoSupplierDocumentKeyError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' B2B_TAX_INVOICE_NOT_REQUESTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError' B2B_TAX_INVOICE_NO_SUPPLIER_DOCUMENT_KEY: '#/components/schemas/B2bTaxInvoiceNoSupplierDocumentKeyError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' B2bBulkTaxInvoice: title: B2bBulkTaxInvoice type: object required: - id - graphqlId - status - totalInvoiceCount - totalAmount - stats - createdAt - statusUpdatedAt - sourceType - issuanceType properties: id: type: string title: 일괄 세금계산서 고유 아이디 graphqlId: type: string name: type: string status: $ref: '#/components/schemas/B2bBulkTaxInvoiceStatus' totalInvoiceCount: type: integer format: int32 totalAmount: type: integer format: int64 stats: $ref: '#/components/schemas/Map_Stat' createdAt: type: string format: date-time scheduledAt: type: string format: date-time requestedAt: type: string format: date-time statusUpdatedAt: type: string format: date-time sourceType: $ref: '#/components/schemas/B2bBulkTaxInvoiceSourceType' issuanceType: $ref: '#/components/schemas/B2bTaxInvoiceIssuanceType' B2BCannotChangeTaxTypeError: title: 세금계산서 과세 유형을 수정할 수 없는 경우 description: 세금계산서 과세 유형을 수정할 수 없는 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서 과세 유형을 수정할 수 없는 경우 x-portone-status-code: 400 B2bBulkTaxInvoiceStat: title: 세금계산서 상태별 집계 정보 description: 세금계산서 상태별 집계 정보 type: object required: - count - amountSum properties: count: type: integer format: int32 amountSum: type: integer format: int64 x-portone-title: 세금계산서 상태별 집계 정보 CancelB2bTaxInvoiceRequestError: title: CancelB2bTaxInvoiceRequestError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' B2B_TAX_INVOICE_NOT_REQUESTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError' B2B_TAX_INVOICE_NO_RECIPIENT_DOCUMENT_KEY: '#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' B2bBusinessInfo: title: 사업자등록 정보 description: 사업자등록 정보 type: object required: - brn - name - ceoName - zipCode - address - businessEntityType - businessStatus - taxationType - openingDate - businessType - businessClass - businessCategoryCode properties: brn: type: string title: 사업자등록번호 name: type: string title: 상호 ceoName: type: string title: 대표자명 zipCode: type: string title: 우편번호 address: type: string title: 주소 businessEntityType: type: string title: 사업자 유형 businessStatus: type: string title: 사업 상태 taxationType: type: string title: 과세 유형 simplifiedTaxationTypeDate: type: string title: 간이과세-일반과세 전환일 closingDate: type: string title: 폐업일 openingDate: type: string title: 개업일 businessType: type: string title: 업태 businessClass: type: string title: 종목 businessCategoryCode: type: string title: 업종코드 corpRegNo: type: string title: 법인등록번호 phoneNumber: type: string title: 전화번호 taxOfficeCode: type: string title: 관할세무서코드 taxOfficeName: type: string title: 관할세무서명 x-portone-title: 사업자등록 정보 B2bTaxInvoiceNotIssuedStatusError: title: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우 description: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서가 발행된(ISSUED) 상태가 아닌 경우 x-portone-status-code: 400 GetB2bTaxInvoicePopupUrlError: title: GetB2bTaxInvoicePopupUrlError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' GetB2bBusinessInfosResponse: title: 사업자등록 정보 조회 성공 응답 description: 사업자등록 정보 조회 성공 응답 type: object required: - result properties: result: title: 사업자등록 정보 리스트 type: array items: $ref: '#/components/schemas/B2bBusinessInfoResult' x-portone-title: 사업자등록 정보 조회 성공 응답 B2bCounterpartyNotFoundError: title: 거래처가 존재하지 않는 경우 description: 거래처가 존재하지 않는 경우 type: object required: - type properties: type: type: string message: type: string counterpartyId: type: string x-portone-title: 거래처가 존재하지 않는 경우 x-portone-status-code: 404 PageInput: title: 다건 조회 API 에 사용되는 페이지 입력 정보 description: 다건 조회 API 에 사용되는 페이지 입력 정보 type: object properties: number: type: integer format: int32 title: 0부터 시작하는 페이지 번호 size: type: integer format: int32 title: 각 페이지 당 포함할 객체 수 x-portone-title: 다건 조회 API 에 사용되는 페이지 입력 정보 GetB2bBulkTaxInvoiceError: title: GetB2bBulkTaxInvoiceError oneOf: - $ref: '#/components/schemas/B2bBulkTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_BULK_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bBulkTaxInvoiceNotFoundError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' CreateB2bFileUploadUrlPayload: title: 파일 업로드 URL 생성 성공 응답 description: 파일 업로드 URL 생성 성공 응답 type: object required: - fileId - url properties: fileId: type: string title: 파일 아이디 url: type: string title: 파일 업로드 URL x-portone-title: 파일 업로드 URL 생성 성공 응답 GetB2bTaxInvoicesResponse: title: 세금계산서 다건 조회 성공 응답 description: 세금계산서 다건 조회 성공 응답 type: object required: - items - page properties: items: title: 조회된 세금계산서 목록 type: array items: $ref: '#/components/schemas/B2bTaxInvoiceSummary' page: $ref: '#/components/schemas/PageInfo' title: 조회된 페이지 정보 x-portone-title: 세금계산서 다건 조회 성공 응답 B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError: title: 세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우 description: 세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서에 공급 받는자 문서 번호가 이미 사용 중인 경우 x-portone-status-code: 400 UpdateB2bCounterpartyError: title: UpdateB2bCounterpartyError oneOf: - $ref: '#/components/schemas/B2bCounterpartyBrnModificationNotAllowedError' - $ref: '#/components/schemas/B2bCounterpartyMissingRequiredFieldsError' - $ref: '#/components/schemas/B2bCounterpartyNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyPartnerNotUpdatableError' - $ref: '#/components/schemas/B2bCounterpartyTooManyAdditionalContactsError' - $ref: '#/components/schemas/B2bCounterpartyVerificationBrnMismatchError' - $ref: '#/components/schemas/B2bCounterpartyVerificationInvalidError' - $ref: '#/components/schemas/B2bCounterpartyVerificationNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyVerificationTypeMismatchError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_COUNTERPARTY_BRN_MODIFICATION_NOT_ALLOWED: '#/components/schemas/B2bCounterpartyBrnModificationNotAllowedError' B2B_COUNTERPARTY_MISSING_REQUIRED_FIELDS: '#/components/schemas/B2bCounterpartyMissingRequiredFieldsError' B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError' B2B_COUNTERPARTY_PARTNER_NOT_UPDATABLE: '#/components/schemas/B2bCounterpartyPartnerNotUpdatableError' B2B_COUNTERPARTY_TOO_MANY_ADDITIONAL_CONTACTS: '#/components/schemas/B2bCounterpartyTooManyAdditionalContactsError' B2B_COUNTERPARTY_VERIFICATION_BRN_MISMATCH: '#/components/schemas/B2bCounterpartyVerificationBrnMismatchError' B2B_COUNTERPARTY_VERIFICATION_INVALID: '#/components/schemas/B2bCounterpartyVerificationInvalidError' B2B_COUNTERPARTY_VERIFICATION_NOT_FOUND: '#/components/schemas/B2bCounterpartyVerificationNotFoundError' B2B_COUNTERPARTY_VERIFICATION_TYPE_MISMATCH: '#/components/schemas/B2bCounterpartyVerificationTypeMismatchError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' ValidateB2bCounterpartyCertificateResponse: title: 인증서 유효성 검증 응답 정보 description: 인증서 유효성 검증 응답 정보 type: object required: - isValid properties: isValid: type: boolean title: 인증서 유효 여부 x-portone-title: 인증서 유효성 검증 응답 정보 B2bCounterpartyVerificationInvalidError: title: 검증 결과가 유효하지 않은 경우 description: 검증 결과가 유효하지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 검증 결과가 유효하지 않은 경우 x-portone-status-code: 400 B2bCounterpartyContactInput: title: 거래처 담당자 입력 정보 description: 거래처 담당자 입력 정보 type: object required: - name - email properties: name: type: string title: 담당자 성명 phoneNumber: type: string title: 담당자 전화번호 email: type: string title: 담당자 이메일 memo: type: string title: 담당자 메모 x-portone-title: 거래처 담당자 입력 정보 B2bTaxInvoiceNotDraftedStatusError: title: 세금계산서가 임시저장 완료 상태가 아닌 경우 description: 세금계산서가 임시저장 완료 상태가 아닌 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서가 임시저장 완료 상태가 아닌 경우 x-portone-status-code: 400 B2bTaxInvoiceCompany: title: B2bTaxInvoiceCompany type: object properties: brn: type: string title: 사업자등록번호 description: '`-`를 제외한 10자리' counterpartyId: type: string title: 거래처 ID taxRegistrationId: type: string title: 종사업자 식별 번호 description: 4자리 고정 name: type: string title: 상호명 description: 최대 200자 representativeName: type: string title: 대표자 성명 description: 최대 100자 address: type: string title: 주소 description: 최대 300자 businessType: type: string title: 업태 description: 최대 100자 businessClass: type: string title: 종목 description: 최대 100자 contact: $ref: '#/components/schemas/B2bTaxInvoiceContact' title: 담당자 TaxInvoicesSheetField: title: 다운로드 할 시트 컬럼 description: 다운로드 할 시트 컬럼 type: string enum: - STATUS - CANCEL_REASON - ISSUANCE_TYPE - DOCUMENT_MODIFICATION_TYPE - IS_DELAYED - WRITE_DATE - ISSUANCE_DUE_DATE - TAXATION_TYPE - PURPOSE_TYPE - SUPPLIER_COMPANY_NAME - SUPPLIER_BRN - SUPPLIER_REPRESENTATIVE_NAME - TOTAL_AMOUNT - TOTAL_SUPPLY_AMOUNT - TOTAL_TAX_AMOUNT - MEMO - REQUESTED_AT - ISSUED_AT - NTS_SENT_AT - STATUS_UPDATED_AT - BULK_TAX_INVOICE_ID - PLAIN_ID - SUPPLIER_DOCUMENT_KEY - RECIPIENT_DOCUMENT_KEY - RECIPIENT_COMPANY_NAME - RECIPIENT_BRN - RECIPIENT_REPRESENTATIVE_NAME - SUPPLIER_COUNTERPARTY_ID - RECIPIENT_COUNTERPARTY_ID - PAYOUT_ID - ITEMS x-portone-title: 다운로드 할 시트 컬럼 x-portone-enum: NTS_SENT_AT: title: 국세청 전송일시 TOTAL_SUPPLY_AMOUNT: title: 공급가액 STATUS_UPDATED_AT: title: 상태 업데이트 일시 RECIPIENT_COMPANY_NAME: title: 공급받는자 상호 DOCUMENT_MODIFICATION_TYPE: title: 문서형태 STATUS: title: 상태 MEMO: title: 관리용 메모 REQUESTED_AT: title: 발행요청일시 RECIPIENT_COUNTERPARTY_ID: title: 공급받는자 거래처 아이디 RECIPIENT_DOCUMENT_KEY: title: 공급받는자 문서번호 SUPPLIER_COMPANY_NAME: title: 공급자 상호 TAXATION_TYPE: title: 과세형태 ITEMS: title: 품목 WRITE_DATE: title: 작성일자 ISSUANCE_DUE_DATE: title: 발행마감일 IS_DELAYED: title: 지연발행 SUPPLIER_REPRESENTATIVE_NAME: title: 공급자 대표자명 ISSUANCE_TYPE: title: 발행유형 PAYOUT_ID: title: 지급 아이디 PURPOSE_TYPE: title: 영수/청구 SUPPLIER_DOCUMENT_KEY: title: 공급자 문서번호 SUPPLIER_BRN: title: 공급자 사업자등록번호 PLAIN_ID: title: 세금계산서 아이디 RECIPIENT_BRN: title: 공급받는자 사업자등록번호 ISSUED_AT: title: 발행완료일시 RECIPIENT_REPRESENTATIVE_NAME: title: 공급받는자 대표자명 TOTAL_TAX_AMOUNT: title: 세액 SUPPLIER_COUNTERPARTY_ID: title: 공급자 거래처 아이디 TOTAL_AMOUNT: title: 합계금액 CANCEL_REASON: title: 취소사유 BULK_TAX_INVOICE_ID: title: 일괄 세금계산서 아이디 IssueB2bTaxInvoiceBody: title: 세금계산서 발행 승인 정보 description: 세금계산서 발행 승인 정보 type: object properties: memo: type: string title: 메모 emailSubject: type: string title: 이메일 제목 x-portone-title: 세금계산서 발행 승인 정보 B2bCounterpartyIdAlreadyExistsByPartnerError: title: 파트너 연동으로 생성된 거래처 ID가 이미 사용중인 경우 description: '파트너 연동으로 생성된 거래처 ID가 이미 사용중인 경우 파트너 연동으로 생성된 거래처 ID는 재사용할 수 없습니다.' type: object required: - type properties: type: type: string message: type: string x-portone-title: 파트너 연동으로 생성된 거래처 ID가 이미 사용중인 경우 x-portone-description: 파트너 연동으로 생성된 거래처 ID는 재사용할 수 없습니다. x-portone-status-code: 409 B2bFileNotFoundError: title: 업로드한 파일을 찾을 수 없는 경우 description: 업로드한 파일을 찾을 수 없는 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 업로드한 파일을 찾을 수 없는 경우 x-portone-status-code: 404 B2bTaxInvoiceItem: title: 품목 description: 품목 type: object properties: purchaseDate: description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. type: string format: date x-portone-description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. title: 결제일 name: type: string title: 품명 description: 최대 100자 spec: type: string title: 규격 description: 최대 100자 quantity: $ref: '#/components/schemas/Decimal' title: 수량 description: '입력 범위 : -99999999.99 ~ 999999999.99 `quantity.scale`의 입력 범위 : 0 ~ 2 `quantity.value` * 10^-`quantity.scale` 단위로 치환됩니다.' unitCostAmount: $ref: '#/components/schemas/Decimal' title: 단가 description: '입력 범위 : -99999999999999.99 ~ 999999999999999.99 `unitCostAmount.scale`의 입력 범위 : 0 ~ 2 `unitCostAmount.value` * 10^-`unitCostAmount.scale` 단위로 치환됩니다.' supplyCostAmount: type: integer format: int64 title: 공급가액 taxAmount: type: integer format: int64 title: 세액 remark: type: string title: 비고 x-portone-title: 품목 GetB2bTaxInvoicePdfDownloadUrlResponse: title: 세금계산서 PDF 다운로드 URL 성공 응답 description: 세금계산서 PDF 다운로드 URL 성공 응답 type: object required: - url properties: url: type: string title: 세금계산서 PDF 다운로드 URL x-portone-title: 세금계산서 PDF 다운로드 URL 성공 응답 AttachB2bTaxInvoiceFileBody: title: 세금계산서 파일 첨부 정보 description: 세금계산서 파일 첨부 정보 type: object required: - fileId properties: fileId: type: string title: 파일 아이디 x-portone-title: 세금계산서 파일 첨부 정보 B2bTaxInvoiceDocumentModificationType: title: 세금계산서 문서 수정 발행 유형 description: 세금계산서 문서 수정 발행 유형 type: string enum: - NORMAL - MODIFICATION x-portone-title: 세금계산서 문서 수정 발행 유형 x-portone-enum: NORMAL: title: 정상발행 MODIFICATION: title: 수정발행 UpdateB2bTaxInvoiceDraftBody: title: 세금계산서 임시저장 수정 정보 description: 세금계산서 임시저장 수정 정보 type: object required: - taxInvoiceKey - taxInvoice properties: brn: type: string title: 사업자등록번호 description: taxInvoiceKeyType이 TAX_INVOICE_ID가 아닌 경우 필수 값입니다. taxInvoiceKey: type: string title: 세금계산서 문서 번호 taxInvoiceKeyType: $ref: '#/components/schemas/B2bTaxInvoiceKeyType' title: 문서 번호 유형 description: 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다. taxInvoice: $ref: '#/components/schemas/B2bTaxInvoiceInput' title: 세금계산서 임시저장 수정 정보 memo: type: string title: 메모 x-portone-title: 세금계산서 임시저장 수정 정보 B2bTaxInvoiceSortBy: title: 세금계산서 정렬 기준 description: 세금계산서 정렬 기준 type: string enum: - WRITE_DATE - ISSUANCE_DUE_DATE - TOTAL_AMOUNT - TOTAL_SUPPLY_AMOUNT - TOTAL_TAX_AMOUNT - REQUESTED_AT - ISSUED_AT - NTS_SENT_AT - STATUS_UPDATED_AT x-portone-title: 세금계산서 정렬 기준 x-portone-enum: NTS_SENT_AT: title: 국세청전송일시 TOTAL_SUPPLY_AMOUNT: title: 공급가액 STATUS_UPDATED_AT: title: 상태 업데이트 일시 REQUESTED_AT: title: 발행요청일시 ISSUED_AT: title: 발행완료일시 TOTAL_TAX_AMOUNT: title: 세액 TOTAL_AMOUNT: title: 합계금액 WRITE_DATE: title: 작성일자 ISSUANCE_DUE_DATE: title: 발행마감일 GetB2bCounterpartiesError: title: GetB2bCounterpartiesError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' DownloadB2bTaxInvoicesSheetBody: title: DownloadB2bTaxInvoicesSheetBody type: object properties: filter: $ref: '#/components/schemas/GetB2bTaxInvoicesBodyFilter' fields: title: 다운로드 할 시트 컬럼 type: array items: $ref: '#/components/schemas/TaxInvoicesSheetField' test: type: boolean sort: $ref: '#/components/schemas/B2bTaxInvoiceSortInput' title: 정렬 조건 description: 미입력 시 상태 업데이트 일시 내림차순 정렬됩니다. GetB2bTaxInvoiceAttachmentsError: title: GetB2bTaxInvoiceAttachmentsError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' RequestB2bTaxInvoiceReverseIssuanceBody: title: 세금계산서 역발행 즉시 요청 정보 description: 세금계산서 역발행 즉시 요청 정보 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoiceInput' title: 세금계산서 생성 요청 정보 memo: type: string title: 메모 modification: $ref: '#/components/schemas/B2bTaxInvoiceModificationCreateBody' title: 수정 세금계산서 입력 정보 x-portone-title: 세금계산서 역발행 즉시 요청 정보 DraftB2bTaxInvoiceError: title: DraftB2bTaxInvoiceError oneOf: - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError' - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError' - $ref: '#/components/schemas/B2bCounterpartyNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bIdAlreadyExistsError' - $ref: '#/components/schemas/B2bIssuanceTypeMismatchError' - $ref: '#/components/schemas/B2bModificationNotProvidedError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bRecipientNotFoundError' - $ref: '#/components/schemas/B2bSupplierNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError' - $ref: '#/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_CANNOT_CHANGE_TAX_TYPE: '#/components/schemas/B2BCannotChangeTaxTypeError' B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError' B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_ID_ALREADY_EXISTS: '#/components/schemas/B2bIdAlreadyExistsError' B2B_ISSUANCE_TYPE_MISMATCH: '#/components/schemas/B2bIssuanceTypeMismatchError' B2B_MODIFICATION_NOT_PROVIDED: '#/components/schemas/B2bModificationNotProvidedError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_ORIGINAL_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError' B2B_RECIPIENT_NOT_FOUND: '#/components/schemas/B2bRecipientNotFoundError' B2B_SUPPLIER_NOT_FOUND: '#/components/schemas/B2bSupplierNotFoundError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' B2B_TAX_INVOICE_RECIPIENT_DOCUMENT_KEY_ALREADY_USED: '#/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError' B2B_TAX_INVOICE_STATUS_NOT_SENDING_COMPLETED: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError' B2B_TAX_INVOICE_SUPPLIER_DOCUMENT_KEY_ALREADY_USED: '#/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' DraftB2bTaxInvoiceBody: title: 세금계산서 임시 저장 정보 description: 세금계산서 임시 저장 정보 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoiceInput' title: 세금계산서 생성 요청 정보 modification: $ref: '#/components/schemas/B2bTaxInvoiceModificationCreateBody' title: 수정 세금계산서 입력 정보 memo: type: string title: 메모 createRecipientCounterparty: type: boolean title: 공급받는자 거래처 생성 여부 description: true인 경우 공급받는자 정보로 거래처를 자동 생성합니다. x-portone-title: 세금계산서 임시 저장 정보 SendToNtsB2bTaxInvoiceError: title: SendToNtsB2bTaxInvoiceError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNotIssuedStatusError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' B2B_TAX_INVOICE_NOT_ISSUED_STATUS: '#/components/schemas/B2bTaxInvoiceNotIssuedStatusError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' IssueB2bTaxInvoiceResponse: title: 세금계산서 발행 승인 응답 description: 세금계산서 발행 승인 응답 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-title: 세금계산서 발행 승인 응답 DeleteB2bCounterpartyBody: title: 거래처 삭제 요청 description: 거래처 삭제 요청 type: object x-portone-title: 거래처 삭제 요청 RequestB2bTaxInvoiceResponse: title: 세금계산서 역발행 요청 응답 description: 세금계산서 역발행 요청 응답 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-title: 세금계산서 역발행 요청 응답 B2bCounterpartyBrnInvalidError: title: 사업자등록번호가 유효하지 않은 경우 description: 사업자등록번호가 유효하지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 사업자등록번호가 유효하지 않은 경우 x-portone-status-code: 400 CreateB2bCounterpartyResponse: title: 거래처 생성 응답 정보 description: 거래처 생성 응답 정보 type: object required: - counterparty properties: counterparty: $ref: '#/components/schemas/B2bCounterparty' title: 거래처 정보 x-portone-title: 거래처 생성 응답 정보 UpdateB2bTaxInvoiceDraftResponse: title: 세금계산서 임시저장 수정 응답 description: 세금계산서 임시저장 수정 응답 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-title: 세금계산서 임시저장 수정 응답 B2bCounterpartyIdAlreadyExistsError: title: 거래처 ID가 이미 사용중인 경우 description: 거래처 ID가 이미 사용중인 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 거래처 ID가 이미 사용중인 경우 x-portone-status-code: 409 DeleteB2bTaxInvoiceResponse: title: DeleteB2bTaxInvoiceResponse type: object B2bTaxInvoiceKeyType: title: 세금계산서 식별자 유형 description: 세금계산서 식별자 유형 type: string enum: - SUPPLIER - RECIPIENT - TAX_INVOICE_ID x-portone-title: 세금계산서 식별자 유형 x-portone-enum: SUPPLIER: title: 공급자용 문서 번호 RECIPIENT: title: 공급받는자용 문서 번호 TAX_INVOICE_ID: title: 세금계산서 아이디 B2bCounterpartyBrnModificationNotAllowedError: title: 사업자등록번호 수정이 허용되지 않는 경우 description: '사업자등록번호 수정이 허용되지 않는 경우 거래처의 사업자등록번호는 수정할 수 없습니다.' type: object required: - type properties: type: type: string message: type: string x-portone-title: 사업자등록번호 수정이 허용되지 않는 경우 x-portone-description: 거래처의 사업자등록번호는 수정할 수 없습니다. x-portone-status-code: 400 B2bBusinessInfoResult: title: 사업자등록 정보조회 결과 description: 사업자등록 정보조회 결과 type: object required: - brn properties: brn: type: string title: 사업자등록번호 businessInfo: $ref: '#/components/schemas/B2bBusinessInfo' title: 사업자등록 정보 error: type: string title: 조회 실패 시 에러 메시지 verificationId: type: string title: 조회 결과 ID description: 거래처 생성/수정 시 사업자 정보 조회 결과를 재사용하기 위한 ID입니다. 조회 성공 시에만 설정됩니다. x-portone-title: 사업자등록 정보조회 결과 requestB2bTaxInvoiceError: title: requestB2bTaxInvoiceError oneOf: - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError' - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bIssuanceTypeMismatchError' - $ref: '#/components/schemas/B2bModificationNotProvidedError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError' - $ref: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_CANNOT_CHANGE_TAX_TYPE: '#/components/schemas/B2BCannotChangeTaxTypeError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_ISSUANCE_TYPE_MISMATCH: '#/components/schemas/B2bIssuanceTypeMismatchError' B2B_MODIFICATION_NOT_PROVIDED: '#/components/schemas/B2bModificationNotProvidedError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_ORIGINAL_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError' B2B_TAX_INVOICE_NOT_DRAFTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' B2B_TAX_INVOICE_NO_RECIPIENT_DOCUMENT_KEY: '#/components/schemas/B2bTaxInvoiceNoRecipientDocumentKeyError' B2B_TAX_INVOICE_STATUS_NOT_SENDING_COMPLETED: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' PageInfo: title: 반환된 페이지 결과 정보 description: 반환된 페이지 결과 정보 type: object required: - number - size - totalCount properties: number: type: integer format: int32 title: 요청된 페이지 번호 size: type: integer format: int32 title: 요청된 페이지 당 객체 수 totalCount: type: integer format: int32 title: 실제 반환된 객체 수 x-portone-title: 반환된 페이지 결과 정보 CreateB2bCounterpartyBody: title: 거래처 생성 요청 정보 description: 거래처 생성 요청 정보 type: object required: - counterparty properties: counterpartyId: type: string title: 거래처 아이디 description: 입력하지 않으면 임의의 ID가 채번됩니다. counterparty: $ref: '#/components/schemas/B2bCounterpartyInput' title: 거래처 정보 options: $ref: '#/components/schemas/B2bCounterpartyCreateOptions' title: 거래처 생성 옵션 x-portone-title: 거래처 생성 요청 정보 B2bCounterpartyContact: title: 거래처 담당자 정보 description: 거래처 담당자 정보 type: object required: - name - email properties: name: type: string title: 담당자 성명 phoneNumber: type: string title: 담당자 전화번호 email: type: string title: 담당자 이메일 memo: type: string title: 담당자 메모 x-portone-title: 거래처 담당자 정보 AttachB2bTaxInvoiceFileError: title: AttachB2bTaxInvoiceFileError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bFileNotFoundError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_FILE_NOT_FOUND: '#/components/schemas/B2bFileNotFoundError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_DRAFTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' GetB2bCounterpartiesResponse: title: 거래처 검색 성공 응답 description: 거래처 검색 성공 응답 type: object required: - page - items properties: page: $ref: '#/components/schemas/PageInfo' title: 페이지 정보 items: title: 거래처 목록 type: array items: $ref: '#/components/schemas/B2bCounterparty' x-portone-title: 거래처 검색 성공 응답 GetB2bCounterpartyCertificateError: title: GetB2bCounterpartyCertificateError oneOf: - $ref: '#/components/schemas/B2bCertificateUnregisteredError' - $ref: '#/components/schemas/B2bCounterpartyNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_CERTIFICATE_UNREGISTERED: '#/components/schemas/B2bCertificateUnregisteredError' B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError' B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' DeleteB2bTaxInvoiceAttachmentError: title: DeleteB2bTaxInvoiceAttachmentError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceAttachmentNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_ATTACHMENT_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceAttachmentNotFoundError' B2B_TAX_INVOICE_NOT_DRAFTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' UpdateB2bCounterpartyBody: title: 거래처 정보 수정 요청 description: 거래처 정보 수정 요청 type: object required: - counterparty properties: counterparty: $ref: '#/components/schemas/B2bCounterpartyInput' title: 거래처 정보 options: $ref: '#/components/schemas/B2bCounterpartyCreateOptions' title: 확인 옵션 description: 사업자 정보 및 휴폐업 상태 조회 옵션입니다. x-portone-title: 거래처 정보 수정 요청 GetB2bCounterpartyCertificateRegistrationUrlResponse: title: 인증서 등록 URL 조회 응답 정보 description: 인증서 등록 URL 조회 응답 정보 type: object required: - url properties: url: type: string title: 인증서 등록 URL x-portone-title: 인증서 등록 URL 조회 응답 정보 IssueB2bTaxInvoiceImmediatelyError: title: IssueB2bTaxInvoiceImmediatelyError oneOf: - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError' - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError' - $ref: '#/components/schemas/B2bCounterpartyNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bIdAlreadyExistsError' - $ref: '#/components/schemas/B2bIssuanceTypeMismatchError' - $ref: '#/components/schemas/B2bModificationNotProvidedError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bRecipientNotFoundError' - $ref: '#/components/schemas/B2bSupplierNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError' - $ref: '#/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_CANNOT_CHANGE_TAX_TYPE: '#/components/schemas/B2BCannotChangeTaxTypeError' B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError' B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_ID_ALREADY_EXISTS: '#/components/schemas/B2bIdAlreadyExistsError' B2B_ISSUANCE_TYPE_MISMATCH: '#/components/schemas/B2bIssuanceTypeMismatchError' B2B_MODIFICATION_NOT_PROVIDED: '#/components/schemas/B2bModificationNotProvidedError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_ORIGINAL_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError' B2B_RECIPIENT_NOT_FOUND: '#/components/schemas/B2bRecipientNotFoundError' B2B_SUPPLIER_NOT_FOUND: '#/components/schemas/B2bSupplierNotFoundError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' B2B_TAX_INVOICE_RECIPIENT_DOCUMENT_KEY_ALREADY_USED: '#/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError' B2B_TAX_INVOICE_STATUS_NOT_SENDING_COMPLETED: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError' B2B_TAX_INVOICE_SUPPLIER_DOCUMENT_KEY_ALREADY_USED: '#/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' CancelB2bTaxInvoiceIssuanceBody: title: 세금계산서 취소 정보 description: 세금계산서 취소 정보 type: object properties: memo: type: string title: 메모 x-portone-title: 세금계산서 취소 정보 B2bCounterpartyPartnerNotUpdatableError: title: 파트너 연동 거래처는 수정할 수 없는 경우 description: '파트너 연동 거래처는 수정할 수 없는 경우 파트너와 연동된 거래처는 직접 수정할 수 없습니다.' type: object required: - type properties: type: type: string message: type: string x-portone-title: 파트너 연동 거래처는 수정할 수 없는 경우 x-portone-description: 파트너와 연동된 거래처는 직접 수정할 수 없습니다. x-portone-status-code: 403 B2bTaxInvoiceTaxationType: title: 과세 유형 description: 과세 유형 type: string enum: - TAXABLE - ZERO_RATED - FREE x-portone-title: 과세 유형 x-portone-enum: TAXABLE: title: 과세 ZERO_RATED: title: 영세 FREE: title: 면세 GetB2bBusinessInfosError: title: GetB2bBusinessInfosError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' SortOrder: title: 정렬 방식 description: 정렬 방식 type: string enum: - DESC - ASC x-portone-title: 정렬 방식 x-portone-enum: DESC: title: 내림차순 ASC: title: 오름차순 B2bCounterpartyVerificationNotFoundError: title: 검증 결과를 찾을 수 없는 경우 description: '검증 결과를 찾을 수 없는 경우 사업자 정보 검증 결과를 찾을 수 없습니다.' type: object required: - type properties: type: type: string message: type: string x-portone-title: 검증 결과를 찾을 수 없는 경우 x-portone-description: 사업자 정보 검증 결과를 찾을 수 없습니다. x-portone-status-code: 404 B2bCounterpartyFilter: title: 거래처 검색 필터 description: 거래처 검색 필터 type: object properties: id: type: string title: 거래처 ID description: prefix 검색 brn: type: string title: 사업자등록번호 companyName: type: string title: 거래처명 description: 포함 검색 representativeName: type: string title: 대표자명 contactName: type: string title: 담당자 이름 contactPhone: type: string title: 담당자 전화번호 contactEmail: type: string title: 담당자 이메일 businessStatuses: title: 휴폐업 상태 type: array items: $ref: '#/components/schemas/B2bCounterpartyBusinessStatus' ntsConnectionStatuses: title: 국세청 연동 상태 type: array items: $ref: '#/components/schemas/B2bNtsConnectionStatus' counterpartyIds: type: array items: type: string title: 거래처 ID 목록 description: 특정 ID 목록으로 필터링 x-portone-title: 거래처 검색 필터 RefuseB2bTaxInvoiceRequestBody: title: 세금계산서 역발행 요청 거부 정보 description: 세금계산서 역발행 요청 거부 정보 type: object properties: memo: type: string title: 메모 x-portone-title: 세금계산서 역발행 요청 거부 정보 GetB2bCounterpartyCertificateRegistrationUrlError: title: GetB2bCounterpartyCertificateRegistrationUrlError oneOf: - $ref: '#/components/schemas/B2bCounterpartyNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError' B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' Decimal: title: BigDecimal 타입 description: BigDecimal 타입 type: object required: - value properties: value: type: integer format: int64 title: 비정규화된 값 description: 소수점 숫자의 비정규화된(unscaled) 값을 정수로 저장합니다. 예를 들어, 123.45의 경우 12345가 저장됩니다. scale: type: integer format: int32 title: 소수점 이하 자릿수 description: 소수점 숫자의 소수점 이하 자릿수를 저장합니다. 기본값은 0입니다. 예를 들어, 123.45의 경우 2가 저장됩니다. x-portone-title: BigDecimal 타입 B2bTaxInvoiceStatus: title: B2bTaxInvoiceStatus type: string enum: - DRAFTED - DRAFT_PENDING - DRAFT_FAILED - REQUESTED - REQUEST_PENDING - REQUEST_FAILED - REQUEST_CANCELLED - ISSUED - ISSUE_PENDING - ISSUE_FAILED - BEFORE_SENDING - WAITING_SENDING - SENDING - SENDING_COMPLETED - SENDING_FAILED - REQUEST_REFUSED - ISSUANCE_CANCELLED - CANCEL_PENDING - SENDING_PENDING x-portone-enum: BEFORE_SENDING: title: 전송전 DRAFTED: title: 임시저장 REQUEST_CANCELLED: title: 공급받는자에 의한 발행취소 ISSUE_PENDING: title: 발행 대기 REQUEST_REFUSED: title: 공급자의 발행거부 SENDING_PENDING: title: 국세청 전송 대기 ISSUED: title: 발행완료 SENDING_COMPLETED: title: 전송완료 CANCEL_PENDING: title: 발행취소 대기 DRAFT_PENDING: title: 임시저장 대기 SENDING_FAILED: title: 전송실패 REQUEST_FAILED: title: 역발행 요청 실패 SENDING: title: 전송중 WAITING_SENDING: title: 전송대기 ISSUANCE_CANCELLED: title: 공급자에 의한 발행 취소 ISSUE_FAILED: title: 발행 실패 REQUESTED: title: 역발행 요청 완료 (전자 서명 요청됨) DRAFT_FAILED: title: 임시저장 실패 REQUEST_PENDING: title: 역발행 요청 대기 IssueB2bTaxInvoiceImmediatelyBody: title: 세금계산서 즉시 정발행 요청 정보 description: 세금계산서 즉시 정발행 요청 정보 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoiceInput' title: 세금계산서 생성 요청 정보 memo: type: string title: 메모 modification: $ref: '#/components/schemas/B2bTaxInvoiceModificationCreateBody' title: 수정 세금계산서 입력 정보 createRecipientCounterparty: type: boolean title: 공급받는자 거래처 생성 여부 description: true인 경우 공급받는자 정보로 거래처를 자동 생성합니다. x-portone-title: 세금계산서 즉시 정발행 요청 정보 B2bCounterpartyMissingRequiredFieldsError: title: 필수 입력 항목이 누락된 경우 description: '필수 입력 항목이 누락된 경우 거래처 생성/수정 시 필수 입력 항목이 누락되었습니다.' type: object required: - type properties: type: type: string message: type: string x-portone-title: 필수 입력 항목이 누락된 경우 x-portone-description: 거래처 생성/수정 시 필수 입력 항목이 누락되었습니다. x-portone-status-code: 400 B2bCounterpartyOngoingTaxInvoiceExistsError: title: 진행 중인 세금계산서가 존재하여 거래처를 삭제할 수 없는 경우 description: 진행 중인 세금계산서가 존재하여 거래처를 삭제할 수 없는 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 진행 중인 세금계산서가 존재하여 거래처를 삭제할 수 없는 경우 x-portone-status-code: 409 B2bRecipientNotFoundError: title: 공급받는자가 존재하지 않은 경우 description: 공급받는자가 존재하지 않은 경우 type: object required: - type properties: type: type: string message: type: string brn: type: string counterpartyId: type: string x-portone-title: 공급받는자가 존재하지 않은 경우 x-portone-status-code: 404 B2bTaxInvoiceInput: title: 세금계산서 생성 요청 정보 description: 세금계산서 생성 요청 정보 type: object required: - taxationType - writeDate - purposeType - totalSupplyAmount - totalTaxAmount - totalAmount - recipient properties: taxationType: $ref: '#/components/schemas/B2bTaxInvoiceTaxationType' title: 과세 유형 issuanceType: $ref: '#/components/schemas/B2bTaxInvoiceIssuanceType' title: 발행 유형 description: 기본값은 역발행(REVERSE)입니다. serialNumber: type: string title: 일련번호 bookVolume: type: integer format: int32 title: 권 bookIssue: type: integer format: int32 title: 호 writeDate: description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. type: string format: date x-portone-description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. title: 작성일 purposeType: $ref: '#/components/schemas/B2bTaxInvoicePurposeType' title: 영수/청구 totalSupplyAmount: type: integer format: int64 title: 공급가액 합계 totalTaxAmount: type: integer format: int64 title: 세액 합계 totalAmount: type: integer format: int64 title: 합계 금액 cashAmount: type: integer format: int64 title: 현금 checkAmount: type: integer format: int64 title: 수표 creditAmount: type: integer format: int64 title: 외상 noteAmount: type: integer format: int64 title: 어음 remarks: type: array items: type: string title: 비고 description: 최대 3개 supplierDocumentKey: type: string title: 공급자 문서번호 description: 영문 대소문자, 숫자, 특수문자('-','_')만 이용 가능 supplier: $ref: '#/components/schemas/B2bTaxInvoiceCompany' title: 공급자 recipientDocumentKey: type: string title: 공급받는자 문서번호 description: 영문 대소문자, 숫자, 특수문자('-','_')만 이용 가능 recipient: $ref: '#/components/schemas/B2bTaxInvoiceCompany' title: 공급받는자 sendSms: type: boolean title: 문자 전송 여부 description: 공급자 담당자 휴대폰번호 {supplier.contact.mobile_phone_number} 값으로 문자 전송 전송시 포인트 차감되며, 실패시 환불 처리 기본값은 false items: title: 품목 type: array items: $ref: '#/components/schemas/B2bTaxInvoiceItem' description: 최대 99개 additionalContacts: title: 추가 담당자 type: array items: $ref: '#/components/schemas/B2bTaxInvoiceAdditionalContact' description: 최대 5명 useCounterpartyAdditionalContacts: type: boolean title: 거래처 추가 담당자 사용 여부 description: true인 경우 거래처의 추가 담당자를 세금계산서 추가 담당자로 사용합니다. additional_contacts가 직접 지정된 경우 무시됩니다. x-portone-title: 세금계산서 생성 요청 정보 B2BTaxInvoiceStatusNotSendingCompletedError: title: 원본 세금계산서가 전송완료 상태가 아닌 경우 description: 원본 세금계산서가 전송완료 상태가 아닌 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 원본 세금계산서가 전송완료 상태가 아닌 경우 x-portone-status-code: 400 B2bBulkTaxInvoiceNotFoundError: title: 일괄 세금계산서가 존재하지 않은 경우 description: 일괄 세금계산서가 존재하지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 일괄 세금계산서가 존재하지 않은 경우 x-portone-status-code: 404 CancelB2bTaxInvoiceIssuanceError: title: CancelB2bTaxInvoiceIssuanceError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNotIssuedStatusError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' B2B_TAX_INVOICE_NOT_ISSUED_STATUS: '#/components/schemas/B2bTaxInvoiceNotIssuedStatusError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' B2bModificationNotProvidedError: title: 세금계산서 수정 입력 정보를 찾을 수 없는 경우 description: 세금계산서 수정 입력 정보를 찾을 수 없는 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서 수정 입력 정보를 찾을 수 없는 경우 x-portone-status-code: 400 B2bCounterpartyNtsNotConnectedError: title: 국세청에 연동되어 있지 않은 경우 description: 국세청에 연동되어 있지 않은 경우 type: object required: - type properties: type: type: string message: type: string brn: type: string counterpartyId: type: string x-portone-title: 국세청에 연동되어 있지 않은 경우 x-portone-status-code: 400 B2bTaxInvoiceModification: title: 세금 계산서 수정 description: 세금 계산서 수정 type: object required: - type - originalNtsApprovalNumber - originalTaxInvoiceId - rootTaxInvoiceId properties: type: $ref: '#/components/schemas/B2bTaxInvoiceModificationType' title: 수정 사유 originalNtsApprovalNumber: type: string title: 수정 대상 원본 세금계산서 국세청 승인 번호 originalTaxInvoiceId: type: string title: 원본 세금계산서 아이디 rootTaxInvoiceId: type: string title: 최초 원본 세금계산서 아이디 x-portone-title: 세금 계산서 수정 DeleteB2bCounterpartyResponse: title: 거래처 삭제 응답 description: 거래처 삭제 응답 type: object x-portone-title: 거래처 삭제 응답 B2bBulkTaxInvoiceSourceType: title: 그룹 생성 방식 description: 그룹 생성 방식 type: string enum: - SHEET - PLATFORM x-portone-title: 그룹 생성 방식 x-portone-enum: SHEET: title: 엑셀 업로드 PLATFORM: title: 지급 데이터 기반 생성 GetB2bTaxInvoicesError: title: GetB2bTaxInvoicesError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' GetB2bTaxInvoicesBodyPrimaryFilter: title: 상위 필터 description: '상위 필터 주어진 필드 중 한 개의 필드만 입력합니다.' type: object properties: dateFilter: $ref: '#/components/schemas/GetB2bTaxInvoicesBodyDateFilter' title: 조회 기간 taxInvoiceId: type: string title: 세금계산서 아이디 bulkTaxInvoiceId: type: string title: 일괄발행 아이디 ntsApprovalNumber: type: string title: 국세청 승인번호 supplierDocumentKey: type: string title: 공급자 문서번호 recipientDocumentKey: type: string title: 공급받는자 승인번호 taxInvoiceIds: type: array items: type: string title: 세금계산서 아이디 리스트 payoutId: type: string title: 지급 아이디 x-portone-title: 상위 필터 x-portone-description: 주어진 필드 중 한 개의 필드만 입력합니다. CancelB2bTaxInvoiceRequestResponse: title: 세금계산서 역발행 요청 취소 응답 description: 세금계산서 역발행 요청 취소 응답 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-title: 세금계산서 역발행 요청 취소 응답 B2bTaxInvoiceNoRecipientDocumentKeyError: title: 세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우 description: 세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서에 공급받는자 문서 번호가 기입되지 않은 경우 x-portone-status-code: 400 B2bTaxInvoiceNotRequestedStatusError: title: 세금계산서가 역발행 대기 상태가 아닌 경우 description: 세금계산서가 역발행 대기 상태가 아닌 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서가 역발행 대기 상태가 아닌 경우 x-portone-status-code: 400 B2bCertificateUnregisteredError: title: 인증서가 등록되어 있지 않은 경우 description: 인증서가 등록되어 있지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 인증서가 등록되어 있지 않은 경우 x-portone-status-code: 404 B2bTaxInvoiceAttachmentNotFoundError: title: 세금계산서의 첨부파일을 찾을 수 없는 경우 description: 세금계산서의 첨부파일을 찾을 수 없는 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서의 첨부파일을 찾을 수 없는 경우 x-portone-status-code: 404 B2bTaxInvoiceContact: title: 세금계산서 담당자 description: 세금계산서 담당자 type: object required: - email properties: name: type: string title: 성명 department: type: string title: 부서 phoneNumber: type: string title: 전화번호 mobilePhoneNumber: type: string title: 휴대전화번호 email: type: string title: 이메일 x-portone-title: 세금계산서 담당자 B2bTaxInvoiceModificationType: title: 수정 사유 description: 수정 사유 type: string enum: - CORRECTION_OF_ENTRY_ERRORS - CHANGE_IN_SUPPLY_COST - RETURN - CANCELLATION_OF_CONTRACT - DUPLICATE_ISSUANCE_DUE_TO_ERROR x-portone-title: 수정 사유 x-portone-enum: DUPLICATE_ISSUANCE_DUE_TO_ERROR: title: 착오에 의한 이중 발급 CHANGE_IN_SUPPLY_COST: title: 공금가액 변동 CANCELLATION_OF_CONTRACT: title: 계약 해제 CORRECTION_OF_ENTRY_ERRORS: title: 기재사항 착오 정정 RETURN: title: 환입 B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError: title: 세금계산서에 공급자 문서 번호가 이미 사용 중인 경우 description: 세금계산서에 공급자 문서 번호가 이미 사용 중인 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서에 공급자 문서 번호가 이미 사용 중인 경우 x-portone-status-code: 400 B2bTaxInvoiceAttachment: title: 세금계산서 첨부파일 description: 세금계산서 첨부파일 type: object required: - id - name - attachedAt properties: id: type: string title: 첨부 파일 아이디 name: type: string title: 첨부 파일명 attachedAt: type: string format: date-time title: 첨부 일시 x-portone-title: 세금계산서 첨부파일 RequestB2bTaxInvoiceReverseIssuanceResponse: title: 세금계산서 역발행 즉시 요청 응답 description: 세금계산서 역발행 즉시 요청 응답 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-title: 세금계산서 역발행 즉시 요청 응답 B2bCounterpartyTooManyAdditionalContactsError: title: 추가 담당자가 너무 많은 경우 description: '추가 담당자가 너무 많은 경우 추가 담당자는 최대 5명까지 등록할 수 있습니다.' type: object required: - type properties: type: type: string message: type: string x-portone-title: 추가 담당자가 너무 많은 경우 x-portone-description: 추가 담당자는 최대 5명까지 등록할 수 있습니다. x-portone-status-code: 400 B2bCounterpartyVerification: title: 거래처 검증 정보 description: 거래처 검증 정보 type: object required: - id - checkedAt properties: id: type: string title: 외부 API 사용 ID checkedAt: type: string format: date-time title: 검증 시각 x-portone-title: 거래처 검증 정보 UpdateB2bTaxInvoiceDraftError: title: UpdateB2bTaxInvoiceDraftError oneOf: - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError' - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError' - $ref: '#/components/schemas/B2bCounterpartyNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' - $ref: '#/components/schemas/B2bDocumentKeyCannotBeChangedError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bIdAlreadyExistsError' - $ref: '#/components/schemas/B2bIssuanceTypeMismatchError' - $ref: '#/components/schemas/B2bModificationNotProvidedError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bRecipientNotFoundError' - $ref: '#/components/schemas/B2bSupplierNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError' - $ref: '#/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_CANNOT_CHANGE_TAX_TYPE: '#/components/schemas/B2BCannotChangeTaxTypeError' B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError' B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' B2B_DOCUMENT_KEY_CANNOT_BE_CHANGED: '#/components/schemas/B2bDocumentKeyCannotBeChangedError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_ID_ALREADY_EXISTS: '#/components/schemas/B2bIdAlreadyExistsError' B2B_ISSUANCE_TYPE_MISMATCH: '#/components/schemas/B2bIssuanceTypeMismatchError' B2B_MODIFICATION_NOT_PROVIDED: '#/components/schemas/B2bModificationNotProvidedError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_ORIGINAL_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError' B2B_RECIPIENT_NOT_FOUND: '#/components/schemas/B2bRecipientNotFoundError' B2B_SUPPLIER_NOT_FOUND: '#/components/schemas/B2bSupplierNotFoundError' B2B_TAX_INVOICE_NOT_DRAFTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' B2B_TAX_INVOICE_RECIPIENT_DOCUMENT_KEY_ALREADY_USED: '#/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError' B2B_TAX_INVOICE_STATUS_NOT_SENDING_COMPLETED: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError' B2B_TAX_INVOICE_SUPPLIER_DOCUMENT_KEY_ALREADY_USED: '#/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' RefuseB2bTaxInvoiceRequestResponse: title: 세금계산서 역발행 요청 거부 응답 description: 세금계산서 역발행 요청 거부 응답 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-title: 세금계산서 역발행 요청 거부 응답 GetB2bCounterpartiesBody: title: 거래처 검색 요청 정보 description: 거래처 검색 요청 정보 type: object properties: page: $ref: '#/components/schemas/PageInput' title: 페이지 정보 filter: $ref: '#/components/schemas/B2bCounterpartyFilter' title: 검색 필터 x-portone-title: 거래처 검색 요청 정보 UnauthorizedError: title: 인증 정보가 올바르지 않은 경우 description: 인증 정보가 올바르지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 인증 정보가 올바르지 않은 경우 x-portone-status-code: 401 B2bTaxInvoiceNotFoundError: title: 세금계산서가 존재하지 않은 경우 description: 세금계산서가 존재하지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서가 존재하지 않은 경우 x-portone-status-code: 404 DownloadB2bTaxInvoicesSheetError: title: DownloadB2bTaxInvoicesSheetError oneOf: - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' UpdateB2bCounterpartyResponse: title: 거래처 정보 수정 응답 description: 거래처 정보 수정 응답 type: object required: - counterparty properties: counterparty: $ref: '#/components/schemas/B2bCounterparty' title: 거래처 정보 x-portone-title: 거래처 정보 수정 응답 DeleteB2bCounterpartyError: title: DeleteB2bCounterpartyError oneOf: - $ref: '#/components/schemas/B2bCounterpartyNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyOngoingTaxInvoiceExistsError' - $ref: '#/components/schemas/B2bCounterpartyPartnerNotDeletableError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError' B2B_COUNTERPARTY_ONGOING_TAX_INVOICE_EXISTS: '#/components/schemas/B2bCounterpartyOngoingTaxInvoiceExistsError' B2B_COUNTERPARTY_PARTNER_NOT_DELETABLE: '#/components/schemas/B2bCounterpartyPartnerNotDeletableError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' IssueB2bTaxInvoiceError: title: IssueB2bTaxInvoiceError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNoSupplierDocumentKeyError' - $ref: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_DRAFTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotDraftedStatusError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' B2B_TAX_INVOICE_NOT_REQUESTED_STATUS: '#/components/schemas/B2bTaxInvoiceNotRequestedStatusError' B2B_TAX_INVOICE_NO_SUPPLIER_DOCUMENT_KEY: '#/components/schemas/B2bTaxInvoiceNoSupplierDocumentKeyError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' B2bCounterpartyBusinessStatus: title: 거래처 휴폐업 상태 description: 거래처 휴폐업 상태 type: string enum: - UNKNOWN - IN_BUSINESS - CLOSED - SUSPENDED - NOT_FOUND - CHECK_PENDING - CHECK_FAILED x-portone-title: 거래처 휴폐업 상태 x-portone-enum: SUSPENDED: title: 휴업 IN_BUSINESS: title: 영업중 CHECK_PENDING: title: 조회 대기 description: 일괄 등록 시 조회 대기 상태입니다. NOT_FOUND: title: 사업체 미등록 UNKNOWN: title: 미조회 CLOSED: title: 폐업 CHECK_FAILED: title: 조회 실패 B2bCounterpartyCreateOptions: title: 거래처 생성 옵션 description: 거래처 생성 옵션 type: object properties: checkBusinessInfo: type: boolean title: 사업자 정보 조회 여부 description: true인 경우 사업자 정보를 조회하여 거래처에 반영합니다. checkBusinessStatus: type: boolean title: 휴폐업 상태 조회 여부 description: true인 경우 휴폐업 상태를 조회하여 거래처에 반영합니다. businessInfoVerificationId: type: string title: 사업자 정보 조회 결과 ID description: 이전에 조회한 사업자 정보 조회 결과의 ID를 입력하면 재조회 없이 해당 결과를 사용합니다. businessStatusVerificationId: type: string title: 휴폐업 상태 조회 결과 ID description: 이전에 조회한 휴폐업 상태 조회 결과의 ID를 입력하면 재조회 없이 해당 결과를 사용합니다. x-portone-title: 거래처 생성 옵션 CreateB2bCounterpartyError: title: CreateB2bCounterpartyError oneOf: - $ref: '#/components/schemas/B2bCounterpartyBrnInvalidError' - $ref: '#/components/schemas/B2bCounterpartyIdAlreadyExistsByPartnerError' - $ref: '#/components/schemas/B2bCounterpartyIdAlreadyExistsError' - $ref: '#/components/schemas/B2bCounterpartyMissingRequiredFieldsError' - $ref: '#/components/schemas/B2bCounterpartyNtsConnectionFailedError' - $ref: '#/components/schemas/B2bCounterpartyPartnerNotConnectableError' - $ref: '#/components/schemas/B2bCounterpartySelfOriginBrnMismatchError' - $ref: '#/components/schemas/B2bCounterpartyTooManyAdditionalContactsError' - $ref: '#/components/schemas/B2bCounterpartyVerificationBrnMismatchError' - $ref: '#/components/schemas/B2bCounterpartyVerificationInvalidError' - $ref: '#/components/schemas/B2bCounterpartyVerificationNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyVerificationTypeMismatchError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_COUNTERPARTY_BRN_INVALID: '#/components/schemas/B2bCounterpartyBrnInvalidError' B2B_COUNTERPARTY_ID_ALREADY_EXISTS: '#/components/schemas/B2bCounterpartyIdAlreadyExistsError' B2B_COUNTERPARTY_ID_ALREADY_EXISTS_BY_PARTNER: '#/components/schemas/B2bCounterpartyIdAlreadyExistsByPartnerError' B2B_COUNTERPARTY_MISSING_REQUIRED_FIELDS: '#/components/schemas/B2bCounterpartyMissingRequiredFieldsError' B2B_COUNTERPARTY_NTS_CONNECTION_FAILED: '#/components/schemas/B2bCounterpartyNtsConnectionFailedError' B2B_COUNTERPARTY_PARTNER_NOT_CONNECTABLE: '#/components/schemas/B2bCounterpartyPartnerNotConnectableError' B2B_COUNTERPARTY_SELF_ORIGIN_BRN_MISMATCH: '#/components/schemas/B2bCounterpartySelfOriginBrnMismatchError' B2B_COUNTERPARTY_TOO_MANY_ADDITIONAL_CONTACTS: '#/components/schemas/B2bCounterpartyTooManyAdditionalContactsError' B2B_COUNTERPARTY_VERIFICATION_BRN_MISMATCH: '#/components/schemas/B2bCounterpartyVerificationBrnMismatchError' B2B_COUNTERPARTY_VERIFICATION_INVALID: '#/components/schemas/B2bCounterpartyVerificationInvalidError' B2B_COUNTERPARTY_VERIFICATION_NOT_FOUND: '#/components/schemas/B2bCounterpartyVerificationNotFoundError' B2B_COUNTERPARTY_VERIFICATION_TYPE_MISMATCH: '#/components/schemas/B2bCounterpartyVerificationTypeMismatchError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' B2bTaxInvoice: title: 세금계산서 description: 세금계산서 type: object required: - id - status - taxationType - documentModificationType - issuanceType - writeDate - issuanceDueDate - purposeType - totalSupplyAmount - totalTaxAmount - totalAmount - remarks - supplier - recipient - items - additionalContacts properties: id: type: string title: 세금계산서 아이디 status: $ref: '#/components/schemas/B2bTaxInvoiceStatus' title: 상태 taxationType: $ref: '#/components/schemas/B2bTaxInvoiceTaxationType' title: 과세 유형 documentModificationType: $ref: '#/components/schemas/B2bTaxInvoiceDocumentModificationType' title: 문서 유형 isDelayed: type: boolean title: 지연 발행 여부 issuanceType: $ref: '#/components/schemas/B2bTaxInvoiceIssuanceType' title: 발행 유형 bulkTaxInvoiceId: type: string title: 일괄 발행 아이디 serialNumber: type: string title: 일련번호 bookVolume: type: integer format: int32 title: 책번호 - 권 description: '입력 범위(4자리) : 0 ~ 9999' bookIssue: type: integer format: int32 title: 책번호 - 호 description: '입력 범위(4자리) : 0 ~ 9999' writeDate: description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. type: string format: date x-portone-description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. title: 작성일 issuanceDueDate: description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. type: string format: date x-portone-description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. title: 발행 마감일 purposeType: $ref: '#/components/schemas/B2bTaxInvoicePurposeType' title: 영수/청구 totalSupplyAmount: type: integer format: int64 title: 공급가액 합계 totalTaxAmount: type: integer format: int64 title: 세액 합계 totalAmount: type: integer format: int64 title: 합계 금액 cashAmount: type: integer format: int64 title: 현금 checkAmount: type: integer format: int64 title: 수표 creditAmount: type: integer format: int64 title: 외상 noteAmount: type: integer format: int64 title: 어음 remarks: type: array items: type: string title: 비고 description: 최대 3개 supplierDocumentKey: type: string title: 공급자 문서번호 supplier: $ref: '#/components/schemas/B2bTaxInvoiceCompany' title: 공급자 recipientDocumentKey: type: string title: 공급받는자 문서번호 recipient: $ref: '#/components/schemas/B2bTaxInvoiceCompany' title: 공급받는자 sendSms: type: boolean title: 문자 전송 여부 modification: $ref: '#/components/schemas/B2bTaxInvoiceModification' title: 수정 사유 기재 items: title: 품목 type: array items: $ref: '#/components/schemas/B2bTaxInvoiceItem' description: 최대 99개 additionalContacts: title: 추가 담당자 type: array items: $ref: '#/components/schemas/B2bTaxInvoiceAdditionalContact' description: 최대 5명 memo: type: string title: 메모 draftedAt: type: string format: date-time title: 임시 저장 일시 requestedAt: type: string format: date-time title: 발행 요청 일시 issuedAt: type: string format: date-time title: 발행 일시 statusUpdatedAt: type: string format: date-time title: 상태 변경 일시 ntsSentAt: type: string format: date-time title: 국세청 전송 일시 ntsApprovalNumber: type: string title: 국세청 승인번호 description: 세금계산서 발행(전자서명) 시점에 자동으로 부여 ntsResult: type: string title: 국세청 전송 결과 ntsResultCode: type: string title: 국세청 결과 코드 description: 국세청 발급 결과 코드로 영문 3자리 + 숫자 3자리로 구성됨 ntsResultReceivedAt: type: string format: date-time title: 국세청 결과 수신 일시 deletedAt: type: string format: date-time title: 삭제 일시 x-portone-title: 세금계산서 GetB2bCounterpartyError: title: GetB2bCounterpartyError oneOf: - $ref: '#/components/schemas/B2bCounterpartyNotFoundError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' Map_Stat: title: Map_Stat type: object additionalProperties: $ref: '#/components/schemas/B2bBulkTaxInvoiceStat' B2bCounterparty: title: 거래처 description: '거래처 B2B 거래처 정보입니다.' type: object required: - id - graphqlId - isForTest - brn - companyName - representativeName - contact - additionalContacts - ntsConnectionStatus properties: id: type: string title: 거래처 고유 아이디 graphqlId: type: string isForTest: type: boolean title: 테스트 모드 여부 brn: type: string title: 사업자등록번호 description: '`-` 없이 숫자로만 구성됩니다.' companyName: type: string title: 상호명 representativeName: type: string title: 대표자 성명 address: type: string title: 주소 businessType: type: string title: 업태 businessClass: type: string title: 업종 contact: $ref: '#/components/schemas/B2bCounterpartyContact' title: 담당자 정보 additionalContacts: title: 추가 담당자 목록 type: array items: $ref: '#/components/schemas/B2bCounterpartyContact' description: 최대 5명까지 등록할 수 있습니다. memo: type: string title: 메모 ntsConnectionStatus: $ref: '#/components/schemas/B2bNtsConnectionStatus' title: 국세청 연동 상태 ntsConnectedAt: type: string format: date-time title: 국세청 연동 시각 ntsConnectionFailedReason: type: string title: 국세청 연동 실패 사유 partnerId: type: string title: 파트너 연동 ID description: 파트너 연동 거래처인 경우에만 존재합니다. businessStatus: $ref: '#/components/schemas/B2bCounterpartyBusinessStatus' title: 휴폐업 상태 businessStatusCheckedAt: type: string format: date-time title: 휴폐업 상태 확인 시각 businessStatusVerification: $ref: '#/components/schemas/B2bCounterpartyVerification' title: 휴폐업 상태 검증 정보 businessInfoVerification: $ref: '#/components/schemas/B2bCounterpartyVerification' title: 사업자 정보 검증 정보 appliedAt: type: string format: date-time title: 적용 시각 x-portone-title: 거래처 x-portone-description: B2B 거래처 정보입니다. B2bCertificate: title: B2bCertificate type: object required: - registeredAt - expiredAt - issuerName - subjectName - certificateType - oid - registrantContactName - registrantContactId properties: registeredAt: type: string format: date-time title: 등록일시 expiredAt: type: string format: date-time title: 만료일시 issuerName: type: string title: 발행자명 subjectName: type: string title: 본인명 certificateType: $ref: '#/components/schemas/B2bCertificateType' title: 인증서 타입 oid: type: string title: OID registrantContactName: type: string title: 등록 담당자 성명 registrantContactId: type: string title: 등록 담당자 ID CreateB2bFileUploadUrlBody: title: 파일 업로드 URL 생성 요청 정보 description: 파일 업로드 URL 생성 요청 정보 type: object required: - fileName properties: fileName: type: string title: 파일 이름 x-portone-title: 파일 업로드 URL 생성 요청 정보 GetB2bTaxInvoicesBody: title: 세금 계산서 다건 조회를 위한 입력 정보 description: 세금 계산서 다건 조회를 위한 입력 정보 type: object properties: test: type: boolean title: 테스트 모드 여부 description: true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다. pageNumber: type: integer format: int32 title: 페이지 번호 description: 0부터 시작하는 페이지 번호. 기본 값은 0. pageSize: type: integer format: int32 title: 페이지 크기 description: 각 페이지 당 포함할 객체 수. 기본 값은 500이며 최대 1000까지 요청가능합니다. filter: $ref: '#/components/schemas/GetB2bTaxInvoicesBodyFilter' title: 필터 sort: $ref: '#/components/schemas/B2bTaxInvoiceSortInput' title: 정렬 조건 description: 미입력 시 상태 업데이트 일시 내림차순 정렬됩니다. x-portone-title: 세금 계산서 다건 조회를 위한 입력 정보 B2bCounterpartyNtsConnectionFailedError: title: 국세청 연동에 실패한 경우 description: 국세청 연동에 실패한 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 국세청 연동에 실패한 경우 x-portone-status-code: 502 GetB2bTaxInvoiceAttachmentsResponse: title: 세금계산서 첨부파일 목록 조회 성공 응답 description: 세금계산서 첨부파일 목록 조회 성공 응답 type: object required: - attachments properties: attachments: title: 첨부파일 목록 type: array items: $ref: '#/components/schemas/B2bTaxInvoiceAttachment' x-portone-title: 세금계산서 첨부파일 목록 조회 성공 응답 B2bTaxInvoiceAdditionalContact: title: 추가 담당자 description: 추가 담당자 type: object required: - email properties: name: type: string title: 성명 description: 최대 100자 email: type: string title: 이메일 phoneNumber: type: string title: 전화번호 x-portone-title: 추가 담당자 DraftB2bTaxInvoiceResponse: title: 세금계산서 임시 저장 응답 description: 세금계산서 임시 저장 응답 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-title: 세금계산서 임시 저장 응답 GetB2bBusinessInfosBody: title: 사업자등록 정보 조회를 위한 입력 정보 description: 사업자등록 정보 조회를 위한 입력 정보 type: object required: - brnList properties: brnList: type: array items: type: string title: 조회할 사업자등록번호 리스트 x-portone-title: 사업자등록 정보 조회를 위한 입력 정보 CancelB2bTaxInvoiceIssuanceResponse: title: 세금계산서 취소 응답 description: 세금계산서 취소 응답 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-title: 세금계산서 취소 응답 B2bSearchDateType: title: 조회 기준 description: 조회 기준 type: string enum: - REGISTER - WRITE - ISSUE x-portone-title: 조회 기준 x-portone-enum: REGISTER: title: 등록일 WRITE: title: 작성일 ISSUE: title: 발행일 GetB2bTaxInvoicePrintUrlResponse: title: 세금계산서 프린트 URL 성공 응답 description: 세금계산서 프린트 URL 성공 응답 type: object required: - url properties: url: type: string title: 세금계산서 프린트 URL x-portone-title: 세금계산서 프린트 URL 성공 응답 RequestB2bTaxInvoiceReverseIssuanceError: title: RequestB2bTaxInvoiceReverseIssuanceError oneOf: - $ref: '#/components/schemas/B2BCannotChangeTaxTypeError' - $ref: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError' - $ref: '#/components/schemas/B2bCounterpartyNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bIdAlreadyExistsError' - $ref: '#/components/schemas/B2bIssuanceTypeMismatchError' - $ref: '#/components/schemas/B2bModificationNotProvidedError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bRecipientNotFoundError' - $ref: '#/components/schemas/B2bSupplierNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError' - $ref: '#/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_CANNOT_CHANGE_TAX_TYPE: '#/components/schemas/B2BCannotChangeTaxTypeError' B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError' B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_ID_ALREADY_EXISTS: '#/components/schemas/B2bIdAlreadyExistsError' B2B_ISSUANCE_TYPE_MISMATCH: '#/components/schemas/B2bIssuanceTypeMismatchError' B2B_MODIFICATION_NOT_PROVIDED: '#/components/schemas/B2bModificationNotProvidedError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_ORIGINAL_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bOriginalTaxInvoiceNotFoundError' B2B_RECIPIENT_NOT_FOUND: '#/components/schemas/B2bRecipientNotFoundError' B2B_SUPPLIER_NOT_FOUND: '#/components/schemas/B2bSupplierNotFoundError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' B2B_TAX_INVOICE_RECIPIENT_DOCUMENT_KEY_ALREADY_USED: '#/components/schemas/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError' B2B_TAX_INVOICE_STATUS_NOT_SENDING_COMPLETED: '#/components/schemas/B2BTaxInvoiceStatusNotSendingCompletedError' B2B_TAX_INVOICE_SUPPLIER_DOCUMENT_KEY_ALREADY_USED: '#/components/schemas/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' B2bTaxInvoiceSortInput: title: 세금계산서 다건 조회 시 정렬 조건 description: 세금계산서 다건 조회 시 정렬 조건 type: object properties: by: $ref: '#/components/schemas/B2bTaxInvoiceSortBy' title: 정렬 기준 order: $ref: '#/components/schemas/SortOrder' title: 정렬 방식 x-portone-title: 세금계산서 다건 조회 시 정렬 조건 B2bCounterpartyPartnerNotConnectableError: title: 파트너 연동 거래처는 국세청 연동이 허용되지 않는 경우 description: '파트너 연동 거래처는 국세청 연동이 허용되지 않는 경우 파트너와 연동된 거래처는 국세청 연동을 직접 수행할 수 없습니다.' type: object required: - type properties: type: type: string message: type: string x-portone-title: 파트너 연동 거래처는 국세청 연동이 허용되지 않는 경우 x-portone-description: 파트너와 연동된 거래처는 국세청 연동을 직접 수행할 수 없습니다. x-portone-status-code: 403 B2bExternalServiceError: title: 외부 서비스에서 에러가 발생한 경우 description: 외부 서비스에서 에러가 발생한 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 외부 서비스에서 에러가 발생한 경우 x-portone-status-code: 502 GetB2bTaxInvoicePrintUrlError: title: GetB2bTaxInvoicePrintUrlError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' GetB2bTaxInvoicePopupUrlResponse: title: 세금계산서 팝업 URL 성공 응답 description: 세금계산서 팝업 URL 성공 응답 type: object required: - url properties: url: type: string title: 세금계산서 팝업 URL x-portone-title: 세금계산서 팝업 URL 성공 응답 B2bIssuanceTypeMismatchError: title: 세금계산서 발행 유형이 올바르지 않은 경우 description: 세금계산서 발행 유형이 올바르지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 세금계산서 발행 유형이 올바르지 않은 경우 x-portone-status-code: 400 GetB2bTaxInvoicesBodyFilter: title: 세금계산서 다건 조회 필터 description: 세금계산서 다건 조회 필터 type: object properties: primaryFilter: $ref: '#/components/schemas/GetB2bTaxInvoicesBodyPrimaryFilter' title: 상위 필터 description: 가장 주요 항목을 설정하는 상위 필터이며 사용할 때는 주어진 필드 중 한 개의 필드만 입력합니다. supplierBrn: type: string title: 공급자 사업자등록번호 partnerBrn: type: string title: 거래처 사업자등록번호 description: 역발행의 경우 공급자 사업자등록번호, 정발행의 경우 공급받는자 사업자등록번호에 대해 조회합니다. statuses: type: array items: $ref: '#/components/schemas/B2bTaxInvoiceStatus' title: 세금계산서 상태 description: 미입력시 모든 상태를 조회합니다. taxationTypes: title: 과세 유형 type: array items: $ref: '#/components/schemas/B2bTaxInvoiceTaxationType' documentModificationTypes: title: 문서 유형 type: array items: $ref: '#/components/schemas/B2bTaxInvoiceDocumentModificationType' isDelayed: type: boolean title: 지연 발행 여부 issuanceTypes: title: 발행 유형 type: array items: $ref: '#/components/schemas/B2bTaxInvoiceIssuanceType' purposeTypes: title: 영수/청구 type: array items: $ref: '#/components/schemas/B2bTaxInvoicePurposeType' counterpartyId: type: string title: 거래처 ID description: 거래처 ID로 필터링합니다. 공급자 또는 공급받는자 거래처 ID에 대해 조회합니다. includeBrnMatch: type: boolean title: 거래처 사업자등록번호 매칭 포함 여부 description: counterpartyId 조건과 함께 거래처의 사업자등록번호 매칭 조건을 추가할지 여부입니다. x-portone-title: 세금계산서 다건 조회 필터 B2bOriginalTaxInvoiceNotFoundError: title: 원본 세금계산서가 존재하지 않은 경우 description: 원본 세금계산서가 존재하지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 원본 세금계산서가 존재하지 않은 경우 x-portone-status-code: 404 B2bTaxInvoicePurposeType: title: 영수/청구 description: 영수/청구 type: string enum: - RECEIPT - INVOICE - NONE x-portone-title: 영수/청구 x-portone-enum: RECEIPT: title: 영수 INVOICE: title: 청구 NONE: title: 없음 GetB2bTaxInvoiceError: title: GetB2bTaxInvoiceError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' B2bCounterpartyPartnerNotDeletableError: title: 파트너 연동 거래처는 삭제할 수 없는 경우 description: '파트너 연동 거래처는 삭제할 수 없는 경우 파트너와 연동된 거래처는 직접 삭제할 수 없습니다.' type: object required: - type properties: type: type: string message: type: string x-portone-title: 파트너 연동 거래처는 삭제할 수 없는 경우 x-portone-description: 파트너와 연동된 거래처는 직접 삭제할 수 없습니다. x-portone-status-code: 403 ForbiddenError: title: 요청이 거절된 경우 description: 요청이 거절된 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 요청이 거절된 경우 x-portone-status-code: 403 B2bIdAlreadyExistsError: title: ID가 이미 사용중인 경우 description: ID가 이미 사용중인 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: ID가 이미 사용중인 경우 x-portone-status-code: 409 B2bCertificateType: title: 인증서 타입 description: 인증서 타입 type: string enum: - E_TAX - PORTONE - ETC x-portone-title: 인증서 타입 x-portone-enum: E_TAX: title: 전자세금용 공동인증서 PORTONE: title: 특수목적용 공동인증서 ETC: title: 기타 B2bCounterpartySelfOriginBrnMismatchError: title: 자사 사업자등록번호와 동일한 거래처를 생성할 수 없는 경우 description: 자사 사업자등록번호와 동일한 거래처를 생성할 수 없는 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: 자사 사업자등록번호와 동일한 거래처를 생성할 수 없는 경우 x-portone-status-code: 400 B2bNtsConnectionStatus: title: 국세청 연동 상태 description: 국세청 연동 상태 type: string enum: - NOT_CONNECTED - PENDING_CONNECT - CONNECTED - PENDING_DISCONNECT - ERROR x-portone-title: 국세청 연동 상태 x-portone-enum: ERROR: title: 연동 오류 PENDING_CONNECT: title: 연동 대기 CONNECTED: title: 연동 됨 NOT_CONNECTED: title: 연동 안 됨 PENDING_DISCONNECT: title: 연동 해제 대기 B2bSupplierNotFoundError: title: 공급자가 존재하지 않은 경우 description: 공급자가 존재하지 않은 경우 type: object required: - type properties: type: type: string message: type: string brn: type: string counterpartyId: type: string x-portone-title: 공급자가 존재하지 않은 경우 x-portone-status-code: 404 ValidateB2bCounterpartyCertificateError: title: ValidateB2bCounterpartyCertificateError oneOf: - $ref: '#/components/schemas/B2bCertificateUnregisteredError' - $ref: '#/components/schemas/B2bCounterpartyNotFoundError' - $ref: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_CERTIFICATE_UNREGISTERED: '#/components/schemas/B2bCertificateUnregisteredError' B2B_COUNTERPARTY_NOT_FOUND: '#/components/schemas/B2bCounterpartyNotFoundError' B2B_COUNTERPARTY_NTS_NOT_CONNECTED: '#/components/schemas/B2bCounterpartyNtsNotConnectedError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' B2bBulkTaxInvoiceStatus: title: 일괄 세금계산서 상태 description: 일괄 세금계산서 상태 type: string enum: - DRAFT_PENDING - DRAFTED - REQUEST_PENDING - ISSUE_PENDING - IN_PROGRESS - COMPLETED - FAILED - CANCELLED x-portone-title: 일괄 세금계산서 상태 x-portone-enum: CANCELLED: {} REQUEST_PENDING: {} DRAFT_PENDING: {} FAILED: {} IN_PROGRESS: {} DRAFTED: {} ISSUE_PENDING: {} COMPLETED: {} DeleteB2bTaxInvoiceError: title: DeleteB2bTaxInvoiceError oneOf: - $ref: '#/components/schemas/B2bBulkTaxInvoiceNotFoundError' - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNonDeletableStatusError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_BULK_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bBulkTaxInvoiceNotFoundError' B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NON_DELETABLE_STATUS: '#/components/schemas/B2bTaxInvoiceNonDeletableStatusError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' InvalidRequestError: title: 요청된 입력 정보가 유효하지 않은 경우 description: '요청된 입력 정보가 유효하지 않은 경우 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다.' type: object required: - type properties: type: type: string message: type: string x-portone-title: 요청된 입력 정보가 유효하지 않은 경우 x-portone-description: 허가되지 않은 값, 올바르지 않은 형식의 요청 등이 모두 해당됩니다. x-portone-status-code: 400 B2bTaxInvoiceSummary: title: 세금계산서 요약 description: 세금계산서 요약 type: object required: - id - taxationType - documentModificationType - issuanceType - totalSupplyAmount - totalTaxAmount - totalAmount - purposeType - supplierBrn - supplierName - supplierRepresentativeName - recipientBrn - recipientName - recipientRepresentativeName - writeDate - issuanceDueDate - status - statusUpdatedAt - items properties: id: type: string title: 세금계산서 아이디 taxationType: $ref: '#/components/schemas/B2bTaxInvoiceTaxationType' title: 과세 유형 documentModificationType: $ref: '#/components/schemas/B2bTaxInvoiceDocumentModificationType' title: 문서 유형 isDelayed: type: boolean title: 지연 발행 여부 issuanceType: $ref: '#/components/schemas/B2bTaxInvoiceIssuanceType' title: 발행 유형 bulkTaxInvoiceId: type: string title: 일괄 발행 아이디 payoutId: type: string title: 지급 아이디 totalSupplyAmount: type: integer format: int64 title: 공급가액 합계 totalTaxAmount: type: integer format: int64 title: 세액 합계 totalAmount: type: integer format: int64 title: 합계 금액 purposeType: $ref: '#/components/schemas/B2bTaxInvoicePurposeType' title: 영수/청구 supplierBrn: type: string title: 공급자 사업자등록번호 supplierName: type: string title: 공급자 상호 supplierRepresentativeName: type: string title: 공급자 대표자 성명 supplierDocumentKey: type: string title: 공급자 문서번호 supplierCounterpartyId: type: string title: 공급자 거래처 아이디 recipientBrn: type: string title: 공급받는자 사업자등록번호 recipientName: type: string title: 공급받는자 상호 recipientRepresentativeName: type: string title: 공급받는자 대표자 성명 recipientDocumentKey: type: string title: 공급받는자 문서번호 recipientCounterpartyId: type: string title: 공급받는자 거래처 아이디 recipientBusinessStatus: $ref: '#/components/schemas/B2bCompanyStateBusinessStatus' title: 공급받는자 영업 상태 recipientClosedSuspendedDate: description: 상태가 CLOSED, SUSPENDED 상태인 경우에만 결과값 반환 type: string format: date x-portone-description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. title: 공급받는자 휴폐업일자 writeDate: description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. type: string format: date x-portone-description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. title: 작성일 issuanceDueDate: description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. type: string format: date x-portone-description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. title: 발행 마감일 status: $ref: '#/components/schemas/B2bTaxInvoiceStatus' title: 상태 draftedAt: type: string format: date-time title: 임시 저장 일시 requestedAt: type: string format: date-time title: 발행 요청 일시 issuedAt: type: string format: date-time title: 발행 일시 openedAt: type: string format: date-time title: 개봉 일시 statusUpdatedAt: type: string format: date-time title: 상태 변경 일시 ntsSentAt: type: string format: date-time title: 국세청 전송 일시 ntsApprovalNumber: type: string title: 국세청 승인번호 description: 세금계산서 발행(전자서명) 시점에 자동으로 부여 ntsResult: type: string title: 국세청 전송 결과 ntsResultReceivedAt: type: string format: date-time title: 국세청 결과 수신 일시 ntsResultCode: type: string title: 국세청 결과 코드 description: 국세청 발급 결과 코드로 영문 3자리 + 숫자 3자리로 구성됨 memo: type: string title: 메모 items: title: 품목 type: array items: $ref: '#/components/schemas/B2bTaxInvoiceItem' description: 최대 99개 x-portone-title: 세금계산서 요약 B2bTaxInvoiceIssuanceType: title: 발행 유형 description: 발행 유형 type: string enum: - NORMAL - REVERSE x-portone-title: 발행 유형 x-portone-enum: NORMAL: title: 정발행 REVERSE: title: 역발행 B2bNotEnabledError: title: B2B 기능이 활성화되지 않은 경우 description: B2B 기능이 활성화되지 않은 경우 type: object required: - type properties: type: type: string message: type: string x-portone-title: B2B 기능이 활성화되지 않은 경우 x-portone-status-code: 403 IssueB2bTaxInvoiceImmediatelyResponse: title: 세금계산서 즉시 정발행 응답 description: 세금계산서 즉시 정발행 응답 type: object required: - taxInvoice properties: taxInvoice: $ref: '#/components/schemas/B2bTaxInvoice' x-portone-title: 세금계산서 즉시 정발행 응답 CancelB2bTaxInvoiceRequestBody: title: 세금계산서 역발행 요청 취소 정보 description: 세금계산서 역발행 요청 취소 정보 type: object properties: memo: type: string title: 메모 x-portone-title: 세금계산서 역발행 요청 취소 정보 GetB2bTaxInvoicePdfDownloadUrlError: title: GetB2bTaxInvoicePdfDownloadUrlError oneOf: - $ref: '#/components/schemas/B2bExternalServiceError' - $ref: '#/components/schemas/B2bNotEnabledError' - $ref: '#/components/schemas/B2bTaxInvoiceNotFoundError' - $ref: '#/components/schemas/ForbiddenError' - $ref: '#/components/schemas/InvalidRequestError' - $ref: '#/components/schemas/UnauthorizedError' discriminator: propertyName: type mapping: B2B_EXTERNAL_SERVICE: '#/components/schemas/B2bExternalServiceError' B2B_NOT_ENABLED: '#/components/schemas/B2bNotEnabledError' B2B_TAX_INVOICE_NOT_FOUND: '#/components/schemas/B2bTaxInvoiceNotFoundError' FORBIDDEN: '#/components/schemas/ForbiddenError' INVALID_REQUEST: '#/components/schemas/InvalidRequestError' UNAUTHORIZED: '#/components/schemas/UnauthorizedError' DateRangeOption: title: DateRangeOption type: object properties: from: description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. type: string format: date x-portone-description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. until: description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. type: string format: date x-portone-description: 날짜를 나타내는 문자열로, `yyyy-MM-dd` 형식을 따릅니다. securitySchemes: bearerJwt: type: http description: 'Authorization: Bearer `엑세스 토큰`' scheme: bearer portOne: type: http description: 'Authorization: PortOne `발급된 API 시크릿`' scheme: portone x-portone-categories: - id: payment title: 결제 관련 API description: 결제와 관련된 API 기능을 제공합니다. children: - id: payment.paymentSchedule title: 결제 예약 관련 API description: 결제 예약과 관련된 API 기능을 제공합니다. - id: payment.billingKey title: 빌링키 관련 API description: 빌링키와 관련된 API 기능을 제공합니다. - id: payment.cashReceipt title: 현금 영수증 관련 API description: 현금 영수증과 관련된 API 기능을 제공합니다. - id: payment.promotion title: 프로모션 관련 API description: 프로모션과 관련된 API 기능을 제공합니다. - id: payment.additionalFeature title: 결제 부가기능 관련 API description: 결제 부가기능과 관련된 API 기능을 제공합니다. - id: identityVerification title: 본인인증 관련 API description: 본인인증과 관련된 API 기능을 제공합니다. - id: pgSpecific title: 특정 PG사 관련 API description: 특정 PG사에 국한된 API 기능을 제공합니다. - id: reconciliation title: 대사 서비스 API description: 거래 대사 및 정산 대사 관련 API 기능을 제공합니다. - id: b2b title: 세금계산서 API description: 세금계산서 API 기능을 제공합니다. children: - id: b2b.counterparty title: 거래처 관련 API description: 거래처 관련 API 기능을 제공합니다. - id: b2b.taxInvoice title: 세금계산서 발행 관련 API description: 세금계산서 발행 관련 API 기능을 제공합니다. - id: platform title: 파트너 정산 관련 API description: 파트너 정산 서비스 API 기능을 제공합니다. children: - id: platform.policy title: 정책 관련 API description: 파트너 정산에 적용할 정책에 관한 API 입니다. - id: platform.partner title: 파트너 관련 API description: 파트너 정산에 적용할 파트너에 관한 API 입니다. - id: platform.transfer title: 정산 상세내역 관련 API description: 파트너 정산 서비스의 정산 상세내역과 관련된 API 입니다. - id: platform.account title: 계좌 관련 API description: 파트너 정산 서비스의 계좌와 관련된 API 입니다. - id: platform.partnerSettlement title: 정산 내역 관련 API description: 파트너 정산 서비스의 정산 내역과 관련된 API 입니다. - id: platform.payout title: 지급 내역 관련 API description: 파트너 정산 서비스의 지급 내역과 관련된 API 입니다. - id: platform.bulkPayout title: 일괄 지급 내역 관련 API description: 파트너 정산 서비스의 일괄 지급 내역과 관련된 API 입니다. - id: platform.accountTransfer title: 이체 내역 관련 API description: 파트너 정산 서비스의 이체 내역과 관련된 API 입니다. - id: platform.bulkAccountTransfer title: 일괄 이체 내역 관련 API description: 파트너 정산 서비스의 일괄 이체 내역과 관련된 API 입니다. - id: platform.company title: 사업자 관련 API description: 파트너 정산 서비스의 사업자와 관련된 API 입니다. - id: auth title: 인증 관련 API description: '인증과 관련된 API 기능을 제공합니다. 접근 토큰 방식으로 인증하기를 원하는 경우, API 시크릿을 통해 토큰을 발급받은 후 Authorization 헤더에 `Bearer ACCESS_TOKEN` 형식으로 전달합니다.' - id: paymentSession title: 결제 세션 API description: 결제 세션 생성 및 관리 API. 호스티드 체크아웃에 사용됩니다. - id: checkoutProfile title: 체크아웃 프로필 API description: 체크아웃 프로필에서 결제 수단 목록을 조회하기 위한 API. - id: ap title: AP API description: AP 기능을 제공합니다. - id: common title: 공통 API description: 공통 API 기능을 제공합니다.