YazılımÖdeme korumasıAyrıntılar
- Paket kapsamındaki revizyonlar ücretsizdir.
- Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.
Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

Örnek sonuç
Merging the monthly sales files of 9 shops into one Excel report
How it is run
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Folder: sales/2026-10, 9 files found
2026-11-02 09:14:03 INFO shop-01.csv: 1,284 rows
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 rows
2026-11-02 09:14:04 WARN shop-07.csv: 3 rows without a price skipped (lines 88, 412, 913)
2026-11-02 09:14:05 INFO Done: 10,412 rows -> report-2026-10.xlsx (sheets "Sales" and "Totals")
Settings, not code
The column names of each shop live in settings.ini, so a new shop or a renamed column is a line there:
[columns]
date = Date, Sale date, Day
product = Product, Item, Name
quantity = Qty, Quantity, Pcs
price = Price, Unit price
A part of the code
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Reads one shop's file and gives it the report's column names."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: no column for '{name}' (looked for {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Files: a ZIP archive with merge_sales.py (310 lines), settings.ini, requirements.txt and a README with installing Python, running the script and what each message in the log means. The client runs it on their own computer.
Client: a small chain of 9 stationery shops; each shop sends its sales for the month as a CSV or Excel file, with slightly different column names. Task: one script that reads every file in a folder, brings the columns to one shape, and writes a single Excel report with all sales and a sheet of totals by shop.
Müşteri ve tüm ayrıntılar kurgusaldır.
Bu hizmet hakkında
Mağaza platformunuzdan siparişler, bir proje servisinden görevler, bir rezervasyon sisteminden kayıtlar: servisin herkese açık bir API'si varsa veriler, dosyaları elle dışa aktarmadan Google E-Tablolar dosyanıza gelebilir. Bu Google Apps Script kendi anahtarınızla API'ye bir istek gönderir, ihtiyacınız olan alanları alır ve sayfa sayfa satırlar olarak yazar. Standart paketten itibaren anahtar kodda değil, sizin doldurduğunuz betik özelliklerinde durur ve hatalar bir Log sekmesine gider; Premium yalnızca yeni ya da değişen satırları ekler ve bir tetikleyiciyle her saat ya da her gün çalıştırmak için bir kılavuz sunar. Bize API dokümantasyonunun bağlantısını ve istediğiniz alanları gönderin. Tek bir çalıştırma yaklaşık altı dakikayla sınırlıdır, bu yüzden çok büyük aktarımlar parça parça yapılır.
Neler dahil
- Neler alırsınızApps Script kodunu ve onu tablonuza nasıl ekleyeceğinizi, anahtarınızı nasıl gireceğinizi ve nasıl çalıştıracağınızı gösteren bir README dosyasını içeren bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
- Dokümantasyona göreAPI'nin kendi dokümantasyonundan yazılır
- Sizin seçtiğiniz alanlarYalnızca ihtiyacınız olan sütunlar, sizin sıranızla
- Tüm sayfalarSayfalar hâlinde gelen sonuçlar sonuna kadar okunur
- Anahtar kodun dışında tutulurOnu betik özelliklerine kendiniz girersiniz
- Okunabilir kodYorumlarla; sonradan alan eklemek kolay
Nasıl çalışır
- 1GörevAPI dokümantasyonunu ve ihtiyacınız olan alanları gönderirsiniz
- 2KodBetiği dokümantasyona göre ve kurulum kılavuzunu yazarız
- 3DeneyinTablonun bir kopyasına anahtarınızı ekler ve çalıştırırsınız
- 4DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz
Sizden neler gerekiyor
Servis ve API dokümantasyonunun bağlantısı, ihtiyacınız olan istek (örneğin son 30 günün siparişleri) ve sütun olması gereken alanlar. API'nin cevabından bir örnek çok yardımcı olur: dokümantasyondan ya da özel değerleri çıkarılmış bir deneme çağrısından kopyalayın. Verilerin ne sıklıkla yenileneceği ve yeni satırların ekleneceği mi yoksa tablonun yeniden mi yazılacağı. Gerçek API anahtarınızı asla göndermeyin: README onu nereye koyacağınızı gösterir.
Size soracaklarımız:
- Hangi servis ve API dokümantasyonu nerede?
- Hangi verilere ihtiyacınız var?
- Ne sıklıkla yenilenmeli?
Paketleri karşılaştırın
| Paketler | TemelTek API çağrısı$16 | StandartAyarlı aktarım$33 | PremiumAktarım aracı$67 |
|---|---|---|---|
| Teslim süresi | 1 gün | 2 gün | 3 gün |
| Revizyonlar | 1 | 2 | 3 |
| Kod | en fazla 150 satır | en fazla 400 satır | en fazla 1.000 satır |
| Kod dosyası | 1 | en fazla 3 | en fazla 8 |
| Ayar dosyası | Hayır | Evet | Evet |
| Anlaşılır hata mesajları ve log | Hayır | Evet | Evet |
| Çalıştırma seçenekleri ve zamanlanmış çalıştırma kılavuzu | Hayır | Hayır | Evet |
| Kurulum ve çalıştırma kılavuzu (README) | Evet | Evet | Evet |
| Dil | Google Apps Script | Google Apps Script | Google Apps Script |
| Sipariş ver Temel | Sipariş ver Standart | Sipariş ver Premium |
Ödeme koruması
Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.
- Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
- Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
- Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
- Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
- 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
- Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Sorular ve yanıtlar
Her servisle çalışır mı?
Herkese açık bir API'si olan ve kendi anahtarınızı ya da token'ınızı almanıza izin veren servislerle. API'si olmayan ya da her seferinde bir tarayıcı sayfası üzerinden giriş gerektiren servisler kapsam dışıdır.
Ne sıklıkla güncellenebilir?
Bir zaman tetikleyicisiyle birkaç dakikada bir bile, ama çoğu veri için saatlik ya da günlük çalıştırma yeterlidir. Servisin kendi istek sınırları ve Google'ın betiklerle ilgili sınırları geçerlidir.
Verileri servise geri gönderebilir mi?
Bu teklif verileri tabloya okur. API izin veriyorsa geri yazmak mümkündür; brifte anlatın, paketinize uyup uymadığını bildirelim.
Benim için anahtar alır mısınız?
Hayır. Anahtarı servisteki hesabınızda siz oluşturur ve betik özelliklerine kendiniz girersiniz. Hesaplarınıza asla giriş yapmayız.
Yanıtınızı bulamadınız mı?


