개요

TI store API 제품군을 시작하려면 다음 단계를 따르십시오. 

  1. 액세스 및 개발을 위한 사전 요구 사항
  2. TI store API 제품군으로 일반적인 주문 흐름을 검토합니다.
  3. 액세스 토큰을 받으려면 인증합니다.
  4. 재고 및 가격 정보를 쿼리하는 방법에 대해 알아보십시오.
  5. 테스트 주문을 생성합니다.
  6. 내 주문 정보에 액세스합니다.
  7. 배송 추적을 검색하는 방법에 대해 알아보십시오.
  8. 송장을 가져오는 방법에 대해 알아보십시오.
  9. 지원 받기.

 

1단계: 전제 조건

 

승인된 고객만 TI store API 제품군을 사용하여 애플리케이션을 빌드할 수 있습니다. 승인을 받으려면:

  1. myTI 계정을 생성하거나 기존 myTI 계정에 로그인합니다.
  2. myTI 회사 계정을 생성합니다.
  3. API 키 및 액세스 페이지에서 요청을 클릭합니다.

 

2단계: 주문 흐름 개요

 

  1. 할당된 API 키와 비밀을 사용하여 인증합니다.
  2. 재고 및 가격 API에 쿼리를 보내 제품 가용성 및 기타 일치하는 정보를 검색합니다. 
  3. API는 상태 코드, 200 OK 및 요청된 제품 데이터가 포함된 JSON(JavaScript Object Notation) 응답으로 회신합니다.
  4. 원하는 페이로드로 주문을 작성하고 주문 API에 게시합니다.
  5. API는 상태 코드, 200 OK 및 주문 확인이 포함된 JSON을 사용하여 회신합니다.
  6. 주문 API에서 주문 상태 및 추가 주문 세부 정보를 쿼리합니다.
  7. 주문 처리 후 ASN(사전 발송 통지서) 검색 API를 통해 선적 추적을 검색하고 재무 문서 검색 API를 통해 API 및 송장을 검색합니다.
  8. 이러한 각 단계에 대한 예제 코드를 보고 싶으십니까? TI의 예제 코드를 다운로드하십시오.

 

 

3단계: 인증

 

TI는 OAuth 2.0으로 API 제품군을 보호했습니다. API 키와 비밀을 사용하여 인증합니다. 권한 부여 후 OAuth2는 활성화된 제품군의 API에 사용되는 액세스 토큰을 반환합니다. 자세한 내용은 인증 페이지를 참조하십시오.  

curl --request POST \   
       --url https://transact.ti.com/v1/oauth/accesstoken \   
       --header 'Content-Type: application/x-www-form-urlencoded' \   
       --data grant_type=client_credentials \   
       --data client_id=<<INSERT YOUR CLIENT KEY>> \   
       --data client_secret=<<INSERT YOUR SECRET>>

 

4단계: 재고 및 가격 쿼리

 

아래 예는 제품당 재고 가용성 및 가격 정보를 검색하는 방법을 보여줍니다. 부품 번호 AFE7799IABJ를 쿼리하고 있습니다. 가용 재고는 5,435입니다("수량": 5435). 그러나 이 예에서는 수량이 주문당 50개 한도로 제한됩니다("한도": 50개). 제품에 주문 한도가 없는 경우 JSON 응답은 한도 필드에 빈 값을 반환합니다. 제품과 관련된 모든 매개 변수 목록은 재고 및 가격 API에 나와 있는 문서를 참조하십시오.

요청 예: 

curl --request GET \   
--url 'https://transact.ti.com/v2/store/products/AFE7799IABJ?currency=USD' \
--header 'Authorization: Bearer {access_token}' \

성공한 요청에 대한 응답:

{
  "tiPartNumber": "AFE7799IABJ",
  "genericPartNumber": "AFE7799",
  "buyNowURL": "https://www.ti.com/product/AFE7799/part-details/AFE7799IABJ",
  "quantity": 5435,
  "limit": 50,
  "pricing": [
    {
      "currency": "USD",
      "priceBreaks": [
        {
          "priceBreakQuantity": 1,
          "price": 2.03
        },
        {
          "priceBreakQuantity": 10,
          "price": 1.43
        },
        {
          "priceBreakQuantity": 25,
          "price": 1.35
        },

...

  ],
  "description": "8-Bit 200MSPS Low-Power Analog-to-Digital Converter (ADC) With Internal Sample and Hold",
  "minimumOrderQuantity": 1,
  "standardPackQuantity": 126,
  "exportControlClassificationNumber": "EAR99",
  "htsCode": "8542390001",
  "pinCount": 5,
  "packageType": "SOT-23 (DBV)",
  "packageCarrier": "Large T&R",
  "customReel": true,
  "lifeCycle": "ACTIVE"
}

 

5단계: 테스트 주문 생성

 

테스트 주문은 시뮬레이션됩니다. 즉, 주문이 제출되지 않으며 해당 주문은 신청서 개발을 지원하기 위한 것입니다. 테스트 주문을 발주하는 데 사용된 재고가 감소하거나 예약되지 않습니다. 반환된 정보는 생산 주문 데이터에서 반환된 정보를 시뮬레이션하지만 일부 필드는 시범용으로만 사용되며 처리된 정보를 나타내지 않습니다.

주문(테스트 또는 생산)을 하려면 회사 계정에 API 적격 결제 프로필이 저장되어 있어야 합니다. 회사 계정 및 결제 프로파일 생성에 대한 자세한 내용은 API 키 및 액세스 페이지를 참조하십시오. 주문에 참조할 결제 프로필을 선택하려면 회사 계정에서 결제 프로필 ID를 검색해야 합니다. myTI 대시보드의 주문 기본 설정 > 결제 프로파일에서 결제 프로파일을 찾을 수 있습니다. 아래와 같이 체크아웃 프로필 페이지에서 사용하려는 체크아웃 프로필 옆의 ID 열에서 복사 아이콘을 찾습니다.

 

Checkout profiles table with ID column highlighted

주문에 사용할 ID를 복사합니다.

  "Orders" : {
    "checkoutProfileID" : "INSERT YOUR CHECKOUTPROFILEID HERE",
    "customerPurchaseOrderNumber" : "PGR - 04202021",
    "purchaseOrderDate" : "2020-12-31T13:56:00Z",
    "endCustomerCompanyName" : "TI Electronics Inc",
    "expediteShipping" : true,

생성된 checkoutProfileID를 사용하여 주문을 게시합니다.

#!/bin/bash
curl --request POST \
--url 'https://transact.ti.com/v2/store/orders/test' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json' \
--data-binary @- <<DATA
{
  "Orders" : {
    "checkoutProfileId" : "COP_ID-1234",
    "customerPurchaseOrderNumber" : "PGR - 04202021",
    "purchaseOrderDate" : "2020-12-31T13:56:00Z",
    "endCustomerCompanyName" : "TI Electronics Inc",
    "expediteShipping" : true,
    "orderComments" : [ {
      "attribute" : "PO: 234723"
    }, {
      "attribute" : "my Test order"
    } ],
    "lineItems" : [ {
      "customerLineItemNumber" : 1,
      "tiPartNumber" : "ISO1042",
      "customerPartNumber" : "CUS-SN74LS00N",
      "customReelIndicator" : false,
      "quantity" : 10000,
      "customerItemAttributes" : [ {
        "attribute" : "For BOM2  - aquired "
      } ]
    }, {
      "customerLineItemNumber" : 2,
      "tiPartNumber" : "OPA33AIDR",
      "quantity" : 10000
    } ]
  }
}
DATA

응답 예:

{
  "orderNumber": 0,
  "orderStatus": "string",
  "customerPurchaseOrderNumber": "string",
  "subTotal": 0,
  "totalPrice": 0,
  "lineItems": [
    {
      "tiPartNumber": "string",
      "tiPartDescription": "string",
      "quantity": "string",
      "status": "string",
      "unitPrice": 0,
      "customReelIndicator": true
    }
  ],
  "shippingAddress": [
    {
      "addressType": "string",
      "firstName": "string",
      "lastName": "string",
      "company": "string",
      "addressLine1": "string",
      "addressLine2": "string",
      "town": "string",
      "state": "string",
      "postalCode": "string",
      "country": "string",
      "email": "string",
      "phoneNumber": "string",
      "companyURL": "string"
    }
  ],
  "billingAddress": [
    {
      "addressType": "string",
      "firstName": "string",
      "lastName": "string",
      "company": "string",
      "addressLine1": "string",
      "addressLine2": "string",
      "town": "string",
      "state": "string",
      "postalCode": "string",
      "country": "string",
      "email": "string",
      "phoneNumber": "string",
      "companyURL": "string"
    }
  ],
  "orderMessages": [
    {
      "code": "string",
      "type": "string",
      "Message": "string"
    }
  ],
  "customerOrderAttributes": [
    {
      "attribute": "string"
    }
  ],
  "orderPlacedTime": "string",
  "paymentType": "string",
  "currencyISO": "string",
  "totalTax": 0,
  "checkoutProfileIdentifier": "string",
  "totalDeliveryCost": 0,
  "totalDiscount": 0,
  "couponCodes": "string"
}

생산 주문을 발주할 준비가 되면 요청 페이로드에서 보내려는 모든 매개 변수를 검토하고 URL ".../store/orders"를 사용하십시오. 테스트 및 생산 주문에 대한 자세한 내용은 주문 API 설명서 페이지를 참조하십시오.

 

6단계: 주문 세부 정보 조회

 

주문 및 사용 가능한 주문 세부 정보에 대한 자세한 내용은 주문 API 설명서 페이지를 참조하십시오.

요청 예:

curl --request GET \
--url 'https://transact.ti.com/v2/store/orders/{orderNumber}'
--header 'Authorization: Bearer {access_token}' \

응답 예:

{
  "orderNumber": 0,
  "orderStatus": "string",
  "customerPurchaseOrderNumber": "string",
  "subTotal": 0,
  "totalPrice": 0,
  "lineItems": [
    {
      "tiPartNumber": "string",
      "tiPartDescription": "string",
      "quantity": "string",
      "status": "string",
      "unitPrice": 0,
      "customReelIndicator": true
    }
  ],
  "shippingAddress": [
    {
      "addressType": "string",
      "firstName": "string",
      "lastName": "string",
      "company": "string",
      "addressLine1": "string",
      "addressLine2": "string",
      "town": "string",
      "state": "string",
      "postalCode": "string",
      "country": "string",
      "email": "string",
      "phoneNumber": "string",
      "companyURL": "string"
    }
  ],
  "billingAddress": [
    {
      "addressType": "string",
      "firstName": "string",
      "lastName": "string",
      "company": "string",
      "addressLine1": "string",
      "addressLine2": "string",
      "town": "string",
      "state": "string",
      "postalCode": "string",
      "country": "string",
      "email": "string",
      "phoneNumber": "string",
      "companyURL": "string"
    }
  ],
  "orderMessages": [
    {
      "code": "string",
      "type": "string",
      "Message": "string"
    }
  ],
  "customerOrderAttributes": [
    {
      "attribute": "string"
    }
  ],
  "orderPlacedTime": "string",
  "paymentType": "string",
  "currencyISO": "string",
  "totalTax": 0,
  "checkoutProfileIdentifier": "string",
  "totalDeliveryCost": 0,
  "totalDiscount": 0,
  "couponCodes": "string"
}

7단계: 배송 추적

 

주문을 포장한 후 TI를 배송할 준비가 되면 ASN(고급 배송 알림) API를 통해 액세스할 수 있는 배송 추적 정보를 생성합니다. 답변에는 배송 추적 번호, 배송사 정보, 상업 송장과 같은 배송에 대한 자세한 정보가 포함됩니다. API는 푸시 또는 검색 구현으로 사용할 수 있습니다. 

검색 요청 예:

curl --request GET \
--url 'https://transact.ti.com/v2/store/orders/{orderNumber}/advanced-shipment-notices/{wayBillNumber}'
--header 'Authorization: Bearer {access_token}' \

8단계: 송장 검색

 

재무 API는 Apruve가 아닌 결제에 대한 송장 정보를 제공합니다. 재무 API를 사용하여 송장을 검색하려면 주문 번호가 검색의 JSON 페이로드의 필수 부분입니다. TI가 주문을 처리한 후 송장을 사용할 수 있게 됩니다.

Apruve를 결제 방법으로 사용하는 송장의 경우 Apruve 포털로 이동하여 직접 송장을 얻습니다.

PDF를 검색하려면 구성 옵션에 대한 설명서를 참조하십시오.

요청 예:

curl --request GET \
--url 'https://transact.ti.com/v2/store/orders/{orderNumber}/financial-documents/{financialDocumentNumber}'
--header 'Authorization: Bearer {access_token}' \

응답 예:

{
    "OrderNumber": "T02281839",
    "SupplierFinancialDocumentIdentifier": "1234567890",
    "TotalNumberOfDocuments": "1",
    "Documents": [
        {
            "SupplierDocumentType": "INVOICE",
            "SupplierFinancialDocumentIdentifier": "1234567890",
            "SupplierDocumentCreatedDate": "2020-05-11",
            "SupplierDocumentStatus": "CLEARED",
            "SupplierDocumentCurrency": "USD",
            "CustomerPurchaseOrderIdentifier": "PO1234",
            "CustomerReferenceIdentifier": "0100000200",
            "SupplierGrossWeight": "100.000",
            "SupplierNetWeight": "100.000",
            "SupplierWeightUnit": "GRM",
            "SupplierCarrier": "FEDEX EXPRESS",
            "DocumentValue": {
                "SupplierTotalAmount": "15,000.00"
            },
            "SalesOrder": {
                "SupplierOrderIdentifier": "1000001234",
                "SupplierOrderLineItemNumber": "000000",
                "CustomerPurchaseOrderIdentifier": "PO1234",
                "CustomerPurchaseOrderDate": "2020-01-01"
            },
            "PaymentTerms": {
                "SupplierIncoterms1": "TERMS1",
                "SupplierIncoterms2": "TERMS2",
                "SupplierTermsOfDelivery": "SHIPPING TERMS",
                "SupplierTermsOfPayment": "Net XX Days from Invoice Date",
                "PaymentTermsText": [
                    {
                        "SupplierPaymentTermsText": "Up to XX.XX.2020 without deduction"
                    }
                ]
            },
            "CreditManager": {
                "SupplierCreditManagerName": "Bill Johnson",
                "SupplierCreditManagerTelephone": "1234567890",
                "SupplierCreditManagerEmail": "bj-noreply@ti.com"
            },
            "Delivery": {
                "SupplierDeliveryIdentifier": "0200000300",
                "SupplierDeliveryLineItemNumber": "000000",
                "SupplierDeliveryDate": "2020-04-13",
                "SupplierGoodsMovementDate": "2020-05-11"
            },
            "Waybill": {
                "SupplierWaybillNumber": "123456",
                "SupplierNumberOfBoxes": "1"
            },
            "Partners": [
                {
                    "PartnerTypeDescription": "Sender",
                    "Name1": "Texas Instruments Incorporated",
                    "Name2": "Semiconductor",
                    "StreetAddress": "12500 TI Boulevard",
                    "City": "Dallas",
                    "Region": "TX",
                    "PostalCode": "75243",
                    "Country": "US"
                },
...

 

9단계: 기술 지원을 받을 수 있는 곳

기술 지원이 필요한 경우 TI E2E™ 설계 지원 포럼 을 참조하거나 질문을 게시하십시오.