REST API v1.0

Go İthalat REST API

Pazaryeri entegrasyonunuzu hızla kurun. Sipariş oluşturun, sorgulayın ve durum güncelleyin.

Genel Bakış

Go İthalat REST API, pazaryeri siparişlerinizi otomatik olarak Go İthalat sistemine iletmenizi sağlar.

Base URL

https://www.goithalat.com/rest/

Özellikler

Timeout: 30 saniye | Format: application/x-www-form-urlencoded (POST) | JSON response

API Limitleri

ParametreDeğer
İstek limiti60 istek / dakika (token başına)
Timeout30 saniye
Maksimum ürün (sipariş başına)50 ürün
İstek formatıapplication/x-www-form-urlencoded
Yanıt formatıJSON
Uyarı: Dakikada 60 istekten fazla gönderilmesi durumunda geçici olarak erişim engellenebilir. İsteklerinizi minimum 1 saniye aralıkla göndermeniz önerilir.

Kimlik Doğrulama

Her istekte Authorization header'i gönderilmelidir. Kimlik dogrulama Bearer Token ile yapılır. Token, Go İthalat admin panelinden otomatik oluşturulur.

Token Kullanımı

Her istekte aşağıdaki header gönderilmelidir:

Authorization: Bearer YOUR_API_TOKEN
Token, Go İthalat admin panelinde Kullanıcı Yönetimi > kullanıcı detayında Token alanında otomatik oluşturulur.Whatsapp Hattımızdan talep etmeniz gereklidir. API anahtarı olarak bu tokenin md5() değerini kullanın.

Python Örneği

import requests

API_TOKEN = "abc123def456..."  # Go Ithalat panelinden alinan md5(token)
BASE_URL = "https://www.goithalat.com/rest"

headers = {"Authorization": f"Bearer {API_TOKEN}"}

# Sipariş sorgula
resp = requests.get(
    f"{BASE_URL}/getOrder",
    params={"no": "TY-1234567890"},
    headers=headers,
    timeout=10
)
print(resp.text)

PHP Örneği

$token = "abc123def456..."; // Go Ithalat panelinden alinan md5(token)

$ch = curl_init("https://www.goithalat.com/rest/getOrder?no=TY-123");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer " . $token
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Guvenlik: Token değerinizi asla istemci tarafında (frontend/JavaScript) olusturmayin. Her zaman sunucu tarafında kullanın.

Sipariş Oluştur

POST https://www.goithalat.com/rest/setOrder

Parametreler

ParametreTipZorunluAçıklama
nostringEvetSipariş numarası (örn: TY-123456)
namestringEvetMüşteri adı ve soyadı (örnek: Ahmet Yılmaz)
emailstringHayirBearer Token kullanildiginda otomatik doldurulur. Gönderilmezse token sahibinin e-maili kullanılır.
ccodestringHayirPazaryeri kargo takip kodu (örnek: Trendyol Aras kodu 7260032866724072)
odemeTipistringEvet"Entegrasyon Bakiye"
kargoFirmaIDintegerEvetKargo firma ID (bkz. Kargo Kodları)
urunID_1integerEvetGo İthalat ürün ID (1. ürün)
urunAdet_1integerEvet1. ürün adedi
urunID_2integerHayir2. ürün ID (çoklu ürün için)
urunAdet_2integerHayir2. ürün adedi

Python Örneği

import requests

payload = {
    "no": "TY-1234567890",
    "name": "Ahmet Yilmaz",
    "email": "bayi@firma.com",
    "ccode": "KARGO_TAKIP_NO",
    "odemeTipi": "Entegrasyon Bakiye",
    "kargoFirmaID": 5,
    "urunID_1": 44218,
    "urunAdet_1": 2,
    "urunID_2": 44350,
    "urunAdet_2": 1
}

headers = {"Authorization": "Bearer abc123def456..."}

resp = requests.post("https://www.goithalat.com/rest/setOrder",
                     data=payload, headers=headers, timeout=30)
print(resp.text)

PHP Örneği

$payload = [
    "no"         => "TY-1234567890",
    "name"       => "Ahmet Yilmaz",
    "email"      => "bayi@firma.com",
    "odemeTipi"  => "Entegrasyon Bakiye",
    "kargoFirmaID" => 5,
    "urunID_1"   => 44218,
    "urunAdet_1" => 2
];

$ch = curl_init("https://www.goithalat.com/rest/setOrder");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer abc123def456..."]);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($payload));
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Başarılı Yanıt

{ "Success": true, "SIPARIS_NO": "TY-1234567890" }

Sipariş Sorgula

GET https://www.goithalat.com/rest/getOrder?no={siparis_no}

Parametreler (Query String)

ParametreTipZorunluAçıklama
nostringEvetSipariş numarası

Yanıt Ornegi

{
  "ID": 12345,
  "no": "TY-1234567890",
  "name": "Ahmet Yilmaz",
  "status": 10
}
Sipariş bulunamazsa boş yanıt veya ID: 0 doner. Mükerrer sipariş kontrolü için bu endpoint'i kullanın.

Ürün Stok Sorgula

Sipariş oluşturmadan önce ürünün stok durumunu kontrol edin. Stokta olmayan ürünler için sipariş oluşturulmaz.

POST https://www.goithalat.com/rest/stockCheck/ID/{urunID}

Parametreler

ParametreTipZorunluAçıklama
urunID (URL)integerEvetGo İthalat ürün ID (setOrder'daki urunID_1 ile aynı değer)
Kimlik doğrulama: Authorization: Bearer TOKEN header’ı ile gönderilmelidir.

Yanıt Formatı (XML)

Yanıt XML formatındadır. Önemli alanlar aşağıda listelenmiştir:

<?xml version="1.0" encoding="utf-8"?>
<urunler>
  <urun>
    <urun_ID>44218</urun_ID>
    <urun_ad><![CDATA[Örnek Ürün Adı]]></urun_ad>
    <urun_stok>25</urun_stok>
    <urun_fiyat_bayi_ozel>129.90</urun_fiyat_bayi_ozel>
  </urun>
</urunler>

Önemli Alanlar

AlanTipAçıklama
urun_IDintegerGo İthalat ürün ID
urun_adCDATAÜrün adı
urun_stokfloatMevcut stok adedi. 0 ise ürün tükenmiştir.
urun_fiyat_bayi_ozelfloatBayi özel fiyatı (TL)

Python Örneği

import requests
import re

API_TOKEN = "abc123def456..."  # Bearer Token
BASE_URL = "https://www.goithalat.com/rest"

urun_id = 44218  # Kontrol edilecek Go Ithalat urun ID

headers = {"Authorization": f"Bearer {API_TOKEN}"}
resp = requests.post(f"{BASE_URL}/stockCheck/ID/{urun_id}",
                     headers=headers, timeout=10)

if resp.status_code == 200:
    stok_match = re.search(r'<urun_stok>(.*?)</urun_stok>', resp.text)
    if stok_match:
        stok = int(float(stok_match.group(1)))
        print(f"Mevcut stok: {stok}")
        if stok > 0:
            print("Siparis olusturulabilir.")
        else:
            print("Urun tukenmis, siparis olusturulamaz.")
    else:
        print("Urun bulunamadi.")

PHP Örneği

$token = "abc123def456...";
$urunID = 44218;

$ch = curl_init("https://www.goithalat.com/rest/stockCheck/ID/" . $urunID);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . $token]);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
curl_close($ch);

$xml = simplexml_load_string($response);
if ($xml && isset($xml->urun)) {
    $stok = (int)$xml->urun->urun_stok;
    echo "Mevcut stok: " . $stok . "\n";
    if ($stok > 0) {
        echo "Siparis olusturulabilir.";
    } else {
        echo "Urun tukenmis!";
    }
}
Öneri: Sipariş oluşturmadan önce urun_stok değerini kontrol edin. Stok 0 olan ürünler için sipariş oluşturulursa "Stok Yetersiz" hatası alırsınız ve bakiyenizden kesinti yapılmaz.
Ürün bulunamazsa boş XML yanıtı döner: <urunler/>. urun_stok elemanı bulunamazsa ürün ID’sini kontrol edin.

Sipariş Durumu Güncelle

POST https://www.goithalat.com/rest/setOrderStatus

Parametreler

ParametreTipZorunluAçıklama
nostringEvetSipariş numarası
statusintegerEvetHedef durum kodu (2, 51, 90)
kargoTarihstringstatus=51 iseKargo tarihi (YYYY-MM-DD)
kargoFirmaintegerstatus=51 iseKargo firma ID
kargoSeriNostringHayirKargo takip numarası

Durum Kodları

2 — Sipariş Onaylandı / Hazırlanıyor
51 — Kargoya Teslim Edildi
90 — İptal Talebi Alındı

Kargo Firma Kodları

Siparis olustururken kargoFirmaID degerini asagidaki tablodan secin.

Trendyol

Kargo FirmasıID
Aras Kargo5
Surat Kargo60

Hepsiburada

Kargo FirmasıID
Aras Kargo6
Surat Kargo84

Pazarama

Kargo FirmasıID
Surat Kargo87
Aras Kargo96

N11

Kargo FirmasıID
Aras Kargo4
Surat Kargo85

Ciceksepeti

Kargo FirmasıID
Aras Kargo37
Sürat Kargo67
Varsayılan kargo firma ID: 87 (Surat Kargo). Eğer kargo firması belirlenemezse bu değer kullanılır.

Hata Kodları ve Yanıtlar

YanıtAnlamıÇözüm
Bakiye YetersizHesapta yeterli bakiye yokEntegrasyon bakiyenizi yükleyin
Stok YetersizSiparişteki ürünlerde yeterli stok yokStok gelene kadar bekleyin veya farklı ürünle sipariş oluşturun
SuccessSipariş başarıyla oluşturuldu-
ID: 0Sipariş bulunamadı (getOrder)Sipariş numarasını kontrol edin
Boş yanıtGeçersiz veya eksik Bearer TokenBearer Token değerini kontrol edin

Sipariş Numarası Formatı

Mükerrer engeli için sipariş numarasının başına platform prefix'i eklemeniz önerilir:

PlatformPrefixÖrnek
TrendyolTY-TY-1234567890
HepsiburadaHB-HB-4588232632
PazaramaPZ-PZ-9876543210
CiceksepetiCS-CS-5555666677
N11N11-N11-1112223334
IdefixIX-IX-IDE6a043cc4769f0