다른 기능에서 발생하는 거래의 label_url 변수를 사용.칠보 : 나는 날이를 알아낼 수 있습니다 노드에서 칠보의 API 작업은 경험있는 사람을 희망하고있다
내 최종 목표는 각도 형태의 프론트 엔드의 버튼을 누르면 생성 된 선적 트랜잭션을 가지고 있고, 사용자 정의 PDF를 생성하는 트랜잭션의 라벨 URL을 사용하는 것입니다. 생성 된 레이블 URL을 PDF 템플릿으로 푸시하는 것을 제외하고는 모두 작동합니다.
첫째, 나는 익스프레스 POST 경로로 Shippo's single click label creation example을 붙여. 그것은 잘 처리되어 최근 거래 목록을 찾고 가장 최근의 거래를보기 위해 Shippo의 API에 ping을해서 체크 아웃 할 수있는 트랜잭션을 생성합니다.
다음, 나는 lines 102-111 of this code example를 추가하고 그와 함께 instalabel 코드에서 일반 오류 메시지 발생기를 교체, 그래서 내 현재는 칠보 트랜잭션 논리는 다음과 같습니다 app.js :
shippo.transaction.create({
"shipment": shipment,
"carrier_account": "xxxxxxxxxxxxxxxxxxxxxx",
"servicelevel_token": "ups_ground",
"label_file_type": "PNG"
},function(transaction, err){
console.log("transaction : %s", JSON.stringify(transaction, null, 4));
// print label_url and tracking_number
if(transaction.object_status == "SUCCESS") {
console.log("Label URL: %s", transaction.label_url);
console.log("Tracking Number: %s", transaction.tracking_number);
exports.label_url = transaction.label_url;
exports.tracking_number = transaction.tracking_number;
}else{
//Deal with an error with the transaction
console.log("Message: %s", transaction.messages);
}
});
내가 잡아 필요 방금 만든 및 다른 함수에서 사용 된 트랜잭션에 대한 & TRACKING_NUMBER을 label_url,하지만 난 지금까지 해봤 다 다음과 같은 오류로 끝날 것 같다 :
/src/app.js:88
if(transaction.object_status == "SUCCESS") {
^
TypeError: Cannot read property 'object_status' of null
,
배송 라벨을 작성하는 기능이 Shippo가 답장을 보내지 않아서 다른 기능에서 사용할 수 없기 때문에 이것을 추측하고 있습니다 ... 정확합니까, 아니면 짖고 있습니까? 틀린 나무가 여기 있니? 참고로, 이것은 칠보의 응답이]처럼 보이도록되어있는 것이다 :
{
"object_state":"VALID",
"object_status":"SUCCESS",
"object_created":"2014-07-25T02:09:34.422Z",
"object_updated":"2014-07-25T02:09:34.513Z",
"object_id":"ef8808606f4241ee848aa5990a09933c",
"object_owner":"[email protected]",
"was_test":true,
"rate":"ee81fab0372e419ab52245c8952ccaeb",
"tracking_number":"tracking_number_goes_here",
"tracking_status":null,
"tracking_url_provider":"",
"label_url":"label_url_goes_here",
"commercial_invoice_url": "",
"messages":[
],
"customs_note":"",
"submission_note":"",
"metadata":""
}
나는 shippo.transaction.create 기능 자체가 외부에서이 응답의 값을 사용하기 위해 무엇을 할 수 있는가?
읽어 주셔서 감사합니다. 당신이 shippo.transaction.create
에 사용되는 콜백에 전달하는
삽입 된 매개 변수의 순서를 바꾸는 것이 트릭이었습니다.이를 지적하고 예제를 제공해 주셔서 감사합니다! – wingmatt