Nhảy tới nội dung

my.saveAddress

saveAddress

  • my.saveAddress là API dùng để lưu địa chỉ vào Sổ địa chỉ của Tiki. Yêu cầu người dùng phải đăng nhập trước
  • Bạn bắt buộc phải truyền các thông số theo đúng yêu cầu format địa chỉ của Tiki, do đó bạn nên lấy địa chỉ từ component address hoặc từ API getAddress
  • my.saveAddress bao gồm cả tạo mới hoặc cập nhật Sổ địa chỉ tùy theo id bạn truyền vào

Khả dụng: Hỗ trợ từ version 1.77.14 trở lên

Quét mã để trải nghiệm

Xem code mẫu trên Tini Studio

Demo

Trải nghiệm thử với trình giả lập bên dưới

API Params

Thuộc tínhKiểu dữ liệuBắt buộcMô tả
dataAddressThông tin địa chỉ được truyền vào.
successFunctionNoCallback function khi một địa chỉ từ Sổ địa chỉ được chọn
failFunctionNoCallback function khi user không chọn địa chỉ nào, hoặc có lỗi xảy ra trong quá trình chọn địa chỉ, argument sẽ là error message
completeFunctionNoCallback function khi việc mở màn hình kết thúc cho dù thành công hay thất bại.

Callback function payload

  • success callback payload là thông tin địa chỉ được lưu thành công
  • fail callback payload
Thuộc tínhKiểu dữ liệuMô tả
errorstringerror title
errorMessagestringerror message in detail

Thông tin địa chỉ

Quan trọng

Lưu ý: Các thông số như city_id, ward_id và district_id cần phải được lấy từ component address hoặc từ API getAddress

Thuộc tínhBắt buộcMô tảKiểu dữ liệu
idId của địa chỉ. Nếu bạn để trống thì sẽ tạo mới địa chỉ, ngược lại nếu bạn truyền id vào thì API sẽ cập nhật lại địa chỉ trong Sổ địa chỉ của user theo đúng id đónumber
full_nameTên người nhận. Tối đa 50 ký tựstring
phone_numberSố điện thoại người nhận. Bắt buộc chỉ là sốstring
city_idMã thành phốnumber
district_idMã quận/huyệnnumber
ward_idMã phường/xãnumber
streetTên đườngstring
is_defaultCó phải là địa chỉ mặc định trong Sổ địa chỉ hay không. Default là falseboolean
companyTên công ty của người nhậnstring / null
delivery_address_typeLoại địa chỉ: home hoặc company. Default là homehome / company

Sample Code

Bạn cần phải cài đặt tini-ui để có thể sử dụng address component

index.json
{
"usingComponents": {
"address": "@tiki.vn/tini-ui/es/address/index"
}
}
index.txml
<address
streetLabel="Địa chỉ nhận hàng"
streetPlaceholder="Nhập số nhà, tên đường..."
street="{{address.street}}"
city="{{address.city_id}}"
district="{{address.district_id}}"
ward="{{address.ward_id}}"
full_name="{{address.full_name}}"
phone_number="{{address.phone_number}}"
onChangeAddress="onChangeAddress" />

<button onTap="showAddress">Get Address</button>
<button onTap="create">Create Address</button>
<button onTap="update">Update Address</button>

index.js
Page({
data: {
address: {}
},
id: null,
showAddress() {
my.getAddress({
success: (success) => {
this.setData({ address: success });
this.id = success.id;
},
fail: (fail) => {
console.log('fail :>> ', fail);
}
});
},
onChangeAddress(address) {
this.setData({ address });
},
getAddress() {
const { address } = this.data;
return {
full_name: address.full_name,
company: address.company,
phone_number: address.phone_number,
street: address.street,
is_default: false,
delivery_address_type:
address.delivery_address_type || 'home',
city_id: address.city.id || address.city,
district_id: address.district.id || address.district,
ward_id: address.ward.id || address.ward
};
},
create() {
my.saveAddress({
data: this.getAddress(),
success: (success) => {
console.log('create success :>> ', success);
},
fail: (fail) => {
console.log('save fail :>> ', fail);
}
});
},
update() {
my.saveAddress({
data: { ...this.getAddress(), id: this.id },
success: (success) => {
console.log('update success :>> ', success);
},
fail: (fail) => {
console.log('save fail :>> ', fail);
}
});
}
});