Satıcı Hesaplarındaki Sorunları
Satıcı hesaplarındaki API hatalarını nasıl gidereceğinizi ve çözeceğinizi öğrenin.
Bu konuda, bir API hatasıyla karşılaştığınızda satıcı hesabında nasıl sorun giderileceği açıklanmaktadır. Aşağıdaki sorun giderme yöntemlerini kullanmak, hataların izlenmesine yardımcı olabilir ve SP-API ile Seller Central arasında bir API çağrısının başarılı bir şekilde iletilmesine yol açabilir.
Satış Ortağı API'leri, hataları izlemenize yardımcı olan hata mesajları sağlar. Hem hesap sorunları hem de yanlış API çağrıları bir hataya neden olabilir. Aşağıdaki örnekte, 400
gelen hata yanıtı createFeed
işlem, etkin olmayan bir hesap sorunundan kaynaklandı.
{
"errors": [
{
"code": "InvalidInput",
"message": "Invalid request parameters",
"details": ""
}
]
}
Hata kodu | Nedeni | Çözüm adımları |
---|---|---|
400 | Yanıt | The seller must check their account status in this marketplace. Note that the |
API hatasını giderme
Bir API hata mesajı aldığınızda, bunun bir hesap sorunundan kaynaklanıp kaynaklanmadığını belirlemek istersiniz. Aşağıdaki koşulları kontrol edin:
- İsteğin kendisiyle ilgili bir sorun var mı?
- Tüm satıcılar aynı sorunu yaşıyor mu?
- Satıcı belirtilen pazaryerinde aktif mi?
Aşağıdaki akış şeması, en uygun eylem rotasını belirlemenize yardımcı olabilir.
API hatalarının nedenini belirleme
Bir API hatası aldığınızda hata mesajında sorunu hemen tespit etmek için yeterli bilgi yoksa ilk önce HTTP durum kodunu kontrol etmelisiniz. 200
durum kodu, API çağrısının başarılı olduğunu gösterir. 400
veya 500
sınıfında bir durum kodu alırsanız API çağrısı başarısız olmuş demektir.
Örneğin, getOrders
API'si bir 200
sınıfı döndürür ama yanıt boş bir listedir. Bu durumda, API çağrısı başarılı olmuştur.
Doğru API yanıtını almak için ilgili istek parametrelerini kontrol edin. Örneğin, sorgu parametresinde belirtilen tarih aralığında hiçbir sipariş olmadığını kontrol edin.
500
class, Amazon sunucusunun bir isteği yerine getiremediğini belirten bir dahili sunucu hatasını ortaya çıkarır. Ancak, bazı belirli API'ler için, örneğin getListingOffersBatch
işlem, istek gövdesinde yanlış URI parametresi mevcutsa, yanıt 500
yerine 400
.
Aşağıdaki teknik belgeler, aşağıdakilerle ilgili sorun giderme ve optimizasyon stratejilerini kapsar. 429
ve 403
HTTP durum kodları:
Hala bir sorununuz varsa, rollerinizi ve belirteçlerinizi kontrol edin.
1. Adım: Rolleri ve kodları kontrol edin
Hatayı onayladıktan sonra, hata kodu ve iletileri çözüm sağlamıyorsa, son kod değişikliklerinin API çağrısı hatasına neden olup olmadığını belirlemek için mühendislik ekibiyle görüşün. Özellikle yeni bir API kullanırken rol ve belirteç parametrelerini kontrol edin.
Roles
When checking role parameters, make sure an application has the correct role for the API call. For example, some analytical reports for brand owners (such as the GET_BRAND_ANALYTICS_ALTERNATE_PURCHASE_REPORT
report, which is available in the NA, EU and FE regions) require the Brand Analytics role. Also, make sure the role is applied to both the developer profile and the application, or a 403
error can occur.
Erişim kodları
Ardından, erişim belirteçlerini kontrol edin. API isteğinin türüne dayanan üç ana erişim belirteci türü vardır.
- Erişim kodu
The access token is the most commonly used access token for SP-API calls. If you include the refreshToken
key in the query parameter of the LWA
operation, then the access token appears in the response.
- İzinsiz işlemler için erişim kodu
The access token for Grantless operations is only used for grantless operations
.
Include the scope
parameter in the query parameter of the LWA operation
, specifying either SCOPE_NOTIFICATIONS_API
for the Notifications
API or SCOPE_MIGRATION_API
for the Authorization
API.
- Kısıtlı Veri Kodu
Kısıtlı Veri Kodu (RDT); teslimat adresi, alıcı adı veya vergi bilgileri gibi Kimliği Tanımlayabilecek Bilgilerin (PII) verilerini almak için kullanılır.
An RDT can only be retrieved via the Tokens
API. For example, if a developer needs to retrieve shipping address information from the getOrders
operation response, the developer must first use the access token to request an RDT via theTokens
API, and then use the RDT from the response as the access token to call the getOrders
operation.
Yeni bir API benimserken, en iyi uygulama Postman'ı kullanmak ve minimum parametrelerle basit bir API çağrısı ile başlamaktır. Mümkünse, yalnızca gerekli parametreleri kullanın. API çağrısının başarılı olduğundan emin olun, ardından çakışan isteğe bağlı parametreleri önlemek için seçenekleri tek tek ekleyin.
Rolleri ve belirteçleri kontrol ettikten sonra yolları kontrol edin.
2. Adım: Yolları kontrol edin
Yolları kontrol etmek, bir hatanın satıcı hesabı sorunlarından kaynaklanıp kaynaklanmadığını ayırt etmenizi sağlar.
Satıcıların aynı hatayı alıp almadığını belirlemek için, her HTTP isteği için aşağıdakileri sürekli olarak kaydetmenizi öneririz.
- Kaynak yolu
- Durum kodu
- Hata mesajı
- Satıcı kimliği (satıcı kimliği)
- Pazaryeri kimliği
By logging this information, you're creating records that can be reviewed at any time to help you identify issues with your account. This marketplace information is used in Step 3.
Bir hata ortaya çıktığında API işlemini tanımlamak için API kaynak yolunu kontrol edin, ardından kaç satıcının hata durumuna sahip olduğunu belirlemek için bu kaynak yolunun günlüğünü filtreleyin.
If a service is having backend issues, the error returns for all sellers. The error message is indicative of an account issue if only one seller, or a limited group of sellers, encounters it. If only some sellers are getting an error message, you'll need to do more debugging to find the issue. By comparing the number of occurrences of the same error, you can roughly determine whether the next troubleshooting step is to continue to Step 3 or to reach out to sellers.
3. Adım: Etkilenen pazaryerini belirleyin
The final step is to check which marketplace the seller participates in, for the account causing the error.
API call failures can come from sellers providing you with incorrect account information. To avoid this, use the getMarketplaceParticipations
operation to determine which marketplaces a seller is participating in.
Aşağıdaki yanıtlardan herhangi birini görürseniz lütfen satıcının bu pazaryerindeki hesabını tekrar kontrol edin veya satıcıdan yeniden yetkilendirme isteyin:
403
+Unauthorized
.- Beklenen pazar cevaba dahil değildir.
- Değeri
isParticipating
Bu pazardaki alanfalse
.
Uzak Doğu (FE) bölgesi için örnek yanıt:
{
"payload": [
{
"marketplace": {
"id": "A1VC38T7YXB528",
"countryCode": "JP",
"name": "Amazon.co.jp",
"defaultCurrencyCode": "JPY",
"defaultLanguageCode": "ja_JP",
"domainName": "www.amazon.jp (http://www.amazon.jp/)“
},
"participation": {
"isParticipating": true,
"hasSuspendedListings": false
}
},
{
"marketplace": {
"id": "A1VN0HAN483KP2",
"countryCode": "JP",
"name": "Non-Amazon",
"defaultCurrencyCode": "JPY",
"defaultLanguageCode": "ja_JP",
"domainName": "jp-shipment-injection.stores.amazon.co.jp"
},
"participation": {
"isParticipating": true,
"hasSuspendedListings": false
}
}
]
}
You can check whether the API is available for the marketplace, especially for Reports API, Feeds API and Notifications API operations, because not all resource paths are available for every marketplace.
To determine which marketplace an API supports, refer to the Feeds Type, Reports Type and the Notification Type documentation.
Hesap sorunlarını önlemenin bir yolu, hesabı izlemenize yardımcı olacak API'ler ayarlamaktır.
Hesap sorunlarını önlemek için API'leri kullanma
API çağrısını yapmadan önce bir satıcının hesap sorunu olup olmadığını bilmek, gereksiz API hatalarını önlemede yardımcı olur. Bir hesabın durumunu izlemek için isteyebileceğiniz iki API vardır.
-
ACCOUNT_STATUS_CHANGED
Notification
A notification is sent whenever the account status changes for seller/marketplace pairs. By implementing this notification type, developers receive a notification whenever the merchant's account status changes betweenNORMAL
,AT_RISK
, orDEACTIVATED
. Go to Seller Account Information from Seller Central if notified that thecurrentAccountStatus
is notNORMAL
. -
GET_V2_SELLER_PERFORMANCE_REPORT
Report
This report type contains individual performance metrics data from the Seller Central Account Health dashboard. We provide a response similar to the following example. However, you must not rely on this format.
{
"accountStatuses":[
{
"marketplaceId":"A1VC38T7YXB528",
"status":"NORMAL"
}
],
"performanceMetrics":[
{
"lateShipmentRate":{},
"invoiceDefectRate":{},
"orderDefectRate":{
"afn":{},
"mfn":{}
},
"onTimeDeliveryRate":{},
"validTrackingRate":{},
"preFulfillmentCancellationRate":{},
"warningStates":[],
"accountHealthRating":{},
"listingPolicyViolations":{},
"productAuthenticityCustomerComplaints":{},
"productConditionCustomerComplaints":{},
"productSafetyCustomerComplaints":{},
"receivedIntellectualPropertyComplaints":{},
"restrictedProductPolicyViolations":{},
"suspectedIntellectualPropertyViolations":{},
"foodAndProductSafetyIssues":{},
"customerProductReviewsPolicyViolations":{},
"otherPolicyViolations":{},
"documentRequests":{},
"marketplaceId":"A1VC38T7YXB528"
}
]
}
GET_V2_SELLER_PERFORMANCE_REPORT
hedefine düzenli aralıklarla çağrı yaparak performanceMetrics
nesnesinin birinci seviyesini kontrol edin. Bu seviyede hesap metrikleri ve her metrikte de durum bilgileri yer alır.
If any metrics are not in GOOD
status, check the seller’s account status in Seller Central for further information. Refer to the Reports API Use Case Guide for more information on adopting this API.
By combining the ACCOUNT_STATUS_CHANGED
and GET_V2_SELLER_PERFORMANCE_REPORT
APIs with the Sellers API
, you can determine which marketplaces the seller participated in, whether the account is active in this marketplace, and whether there are any indications of poor account performance.
Aşağıdaki akış şemasında, hesap sorunlarını önlemek için en iyi sistem tasarımı uygulaması özetlenmektedir.
Updated 8 months ago