Integrated API
Project

Project API

프로젝트 리스트 조회 & 상세 sequenceDiagram

프로젝트 생성

프로젝트에 생성 요청

Operation

mutation CreateEdaProject($input: CreateEdaProjectInput!) {
  createEdaProject(input: $input) {
    id
    name
    imageUrl
    description
    status
    progress {
      status
      percent
      runningSeconds
      createdAt
      updatedAt
    }
    team {
      id
      name
      createdAt
    }
    creatorAuthor {
      id
      name
      email
      thumbnailUrl
      createdAt
    }
    latestAuthor {
      id
      name
      email
      thumbnailUrl
      createdAt
    }
    projectBlocks {
      count
      edaCategory {
        id
        name
        greyImageUrl
        colorImageUrl
        color
        depth
        parentId
        parentCategory {
          id
          name
          greyImageUrl
          colorImageUrl
          color
          depth
          parentId
        }
        subCategories {
          id
          name
          greyImageUrl
          colorImageUrl
          color
          depth
          parentId
        }
        parameters {
          name
          imageUrl
          requiredType
          optionType
          unit
          value
          minValue
          maxValue
          optionValues {
            key
            activeKeys
            value
            imageUrl
          }
        }
      }
      priceBreaks {
        currency
        price
        quantity
      }
      block {
        id
        name
        certificationTypes
        category
        categoryId
        blockType
        schematic {
          svgUrl
          jsonUrl
        }
        footprint {
          svgUrl
          jsonUrl
        }
        thumbnailUrl
        accessType
        memo
        materials {
          prefix
          name
          footprint
          option
          integrationStatus
          supplyItem {
            supplier
            category
            availability
            availabilityInStock
            mouserPartNumber
            manufacturer
            manufacturerPartNumber
            description
            datasheetUrl
            imageUrl
            min
            productDetailURL
            unitWeight
            createdAt
            updatedAt
          }
        }
        ioPorts {
          key
          name
          ioType
          pinType
          minVoltage
          maxVoltage
        }
        status
        createdAt
        updatedAt
      }
    }
    createdAt
    updatedAt
  }
}

Variables

{
  "input": {
    "name": "test"
  }
}

프로젝트 블록 연동 업데이트

프로젝트에 블록추가 업데이트

Operation

mutation UpdateEdaProjectBlocks($input: UpdateEdaProjectBlocksInput!) {
  updateEdaProjectBlocks(input: $input) {
    id
    name
    description
    status
    progress {
      status
      percent
      runningSeconds
      createdAt
      updatedAt
    }
    team {
      id
      name
      createdAt
    }
    creatorAuthor {
      id
      name
      email
      thumbnailUrl
      createdAt
    }
    latestAuthor {
      id
      name
      email
      thumbnailUrl
      createdAt
    }
    projectBlocks {
      count 
      edaCategory {
        name
        color
        colorImageUrl
        subCategories {
          name
          color
          colorImageUrl
        }
      }
      priceBreaks {
        price
        currency
        quantity
      }
      block {
        id
        name
        category
        categoryId
        blockType
        schematic {
          svgUrl
          jsonUrl
        }
        footprint {
          svgUrl
          jsonUrl
        }
        thumbnailUrl
        accessType
        memo
        parameters {
          name
          imageUrl
          requiredType
          optionType
          unit
          value
          minValue
          maxValue
          optionValues {
            key
            activeKeys
            value
            imageUrl
          }
        }
        materials {
          prefix
          name
          footprint
          option
          integrationStatus
          supplyItem {
            supplier
            category
            availability
            availabilityInStock
            mouserPartNumber
            manufacturer
            manufacturerPartNumber
            description
            datasheetUrl
            imageUrl
            min
            productDetailURL
            priceBreaks {
              currency
              price
              quantity
            }
            unitWeight
            createdAt
            updatedAt
          }
        }
        ioPorts {
          key
          name
          ioType
          pinType
          minVoltage
          maxVoltage
        }
        status
        createdAt
        updatedAt
      }
    }
    createdAt
    updatedAt
  }
}

Variables

{
  "input": {
    "id": "1",
    "blocks": [{
      "blockId": "1",
      "count": 1
    }]
  }
}

프로젝트 Layout요청

프로젝트 board Layout에 대한 정보 요청

Operation

query EdaProjectLayout($input: EdaProjectLayoutInput!) {
  edaProjectLayout(input: $input) {
    id
    boardLayer {
      layerType
      unit
      visibleGrid
      gridSize
      snapSize
    }
    parts {
      name
    }
    designRules {
      name
    }
    portNets {
      name
    }
    voltages {
      name
    }
    blockLayouts {
      id
      name
      edaCategory {
        id
        name
        greyImageUrl
        colorImageUrl
        color
        depth
        parentId
        parentCategory {
          id
          name
          greyImageUrl
          colorImageUrl
          color
          depth
          parentId
        }
        subCategories {
          id
          name
          greyImageUrl
          colorImageUrl
          color
          depth
          parentId
        }
      }
      parameters {
        name
        imageUrl
        requiredType
        optionType
        unit
        value
        minValue
        maxValue
        optionValues {
          key
          activeKeys
          value
          imageUrl
        }
      }
      layout {
        isTop
        outShapeT {
          x
          y
          r
        }
        outShapeB {
          x
          y
          r
        }
      }
    }
  }
}

Variables

{
  "input": {
    "projectId": "프로젝트 ID"
  }
}

프로젝트 결과

프로젝트 결과물 상태값, billOfMaterials(BOM), pcbs(SVG이미지 리스트), threeDModels(미정), schematics(SVG 리스트)

Operation

query EdaProjectResult($input: EdaProjectResultInput!) {
  edaProjectResult(input: $input) {
    id
    status
    billOfMaterials {
      id
      partName
      designNator
      footPrint
      manufacturerPart
      manufacturer
      supplier
      supplierPart
      quantity
      Price
      TotalPrice
    }
    pcbs
    threeDModels
    schematics
  }
}

Variables

{
  "input": {
    "projectId": "프로젝트 ID"
  }
}