SwissQR Faturası Oluşturun API
Bu uç noktanın işlevi
PDF4me SwissQR Faturası Oluşturun İsviçre'yi üretir QR İsviçre yönetmeliklerine uygun ödeme fişleri QR-fatura standardı (İsviçre Ödeme Standartları, SPS) tek bir REST Çağrı. Gönder Alacaklı ve nihai borçluya ait detaylar, IBANMiktar, para birimi, referans türü, dil, ayırıcı stili ve çıktı formatıİsteğe bağlı olarak kaynak belgeyi de ekleyebilirsiniz. Base64, blob kimliği veya URL mevcut olanın üzerine yeni bir kaplama yapmak PDF. O API iadeler PDF, PNG, JPEG, veya TIFF bağlı olarak formatType.
Kimliğinizi Doğrulama API Rica etmek
Her PDF4me REST API Çağrınızda mutlaka sizin de bulunmanız gerekiyor. API anahtara Authorization Başlık. Geliştirici kontrol panelinden bir anahtar oluşturun veya seçin ve gizli tutun.
Uç nokta
/api/v2/CreateSwissQrBillKaçırmamanız Gereken Önemli Bilgiler
gidiyorlardı ile başlamalı CH 19 rakamla takip edilir. Geçersiz bir numara. IBAN Bir hata döndürüyor.crAdresTipi Ve udAdresTipi ile S Bu nedenle sokak, ev numarası, posta kodu ve şehir ayrı ayrı saklanır. Bu düzen, çoğu otomatik İsviçre banka mutabakatı için gereklidir. Kullanın K (Birleştirilmiş) yalnızca adres bileşenlerini ayıramadığınız durumlarda kullanılır.OLMAYAN Yapılandırılmış referans içermeyen ödemeler için. QRR İsviçre iç piyasa banknotlarında kullanılan 27 haneli sayısal referans için. PUAN için ISO 11649 Alacaklı referansları. Dahil edin. referans vücutta kullanım sırasında QRR veya SCOR.REST API uç nokta
Yöntem: POSTALAMAK
URL: https://api.pdf4me.com/api/v2/CreateSwissQrBill
Ayarlamak IsAsync ile doğru (PascalCase) için 202 Accepted ve anket yapın Konum URL ile GET alana kadar 200 ve dosyada JSON. Kullanmak YANLIŞ senkron için 200 cevap.
Postman isteği kurulumu
| Ayar | Değer |
|---|---|
| Method | POST |
| URL | https://api.pdf4me.com/api/v2/CreateSwissQrBill |
| Headers | Content-Type: application/json |
| Authorization | Basic Auth with your API key, or header Authorization: Basic YOUR_API_KEY |
| Async | If the response is 202, poll the URL in the Location header (GET) until you get 200 and the file bytes (or JSON with document fields, depending on API version). |
Parametreler
Her zaman gerekli: gidiyorlardı, crName, crAdresTipi, crSokakOrAdresSatırı1, crSokakOrAdresSatırı2, crPostalCode, crCity, miktar, para birimi, udName, udAdresTipi, udStreetOrAddressLine1, udStreetOrAddressLine2, udPostalCode, udCity, referansTürü, dilTürü, ayırıcıÇizgi, formatType, Ve IsAsync.
Şartlı: belge içeriği Ve belge adı PDF üzerine bindirildiğinde; referans Ne zaman referansTürü dır QRR veya PUAN; sayfalamaSeçenekleri Ve sayfa numarası Ne zaman formatType dır pdf.
İsteğe bağlı: yapılandırılmamışMesaj, fatura bilgileri, av1, av2, profiller.
| Parametre | Gerekli | Şu durumlarda geçerlidir: | Ne işe yarar? | Örnek |
|---|---|---|---|---|
docContent | Conditional | Overlay on existing PDF | Omit or empty string = standalone QR slip only. Otherwise Base64 PDF/image bytes (no data: prefix), blob id from POST /api/v2/UploadBlob, or HTTPS URL to the source file. | "" |
docName | Conditional | With docContent | File name for input/output context. Omit or empty when no source document. | invoice.pdf |
iban | Yes | Every request | Creditor Swiss IBAN. | CH0200700110003765824 |
crName | Yes | Every request | Creditor name or company as registered with the bank. | Test AG |
crAddressType | Yes | Every request | S = structured (street + building) or K = combined address lines. | S |
crStreetOrAddressLine1 | Yes | Every request | If S: street name (max ~70 chars). If K: first address line. | Test Strasse |
crStreetOrAddressLine2 | Yes | Every request | If S: house number (max ~16). If K: second address line. | 1 |
crPostalCode | Yes | Every request | Creditor postal code (max ~16). | 8000 |
crCity | Yes | Every request | Creditor city (max ~35). | Zurich |
amount | Yes | Every request | Payment amount without leading zeros (string). Example: "1000" = 1000.00. | 1000 |
currency | Yes | Every request | CHF or EUR. | CHF |
udName | Yes | Every request | Ultimate debtor name or company (required by API; may be empty strings if unused). | Test Debt AG |
udAddressType | Yes | Every request | S or K; same rules as crAddressType. | S |
udStreetOrAddressLine1 | Yes | Every request | Debtor street or address line 1. | Test Deb Strasse |
udStreetOrAddressLine2 | Yes | Every request | Debtor street number or address line 2. | 2 |
udPostalCode | Yes | Every request | Debtor postal code. | 8000 |
udCity | Yes | Every request | Debtor city. | Zurich |
referenceType | Yes | Every request | NON = no reference, QRR = QR reference, SCOR = creditor reference. | NON |
reference | Conditional | referenceType = QRR or SCOR | Required for QRR or SCOR; max 27 characters. Omit for NON. | 21000000000313947143000017 |
languageType | Yes | Every request | English, German, French, or Italian. | English |
seperatorLine | Yes | Every request | API spelling is seperatorLine (one a). LineWithScissor, DottedLine, or SolidLine. | LineWithScissor |
formatType | Yes | Every request | Output format: pdf, png, jpeg, tiff, or null (default PDF behavior). | pdf |
pagingOptions | Conditional | formatType = pdf | first, last, AddPageAtEnd, or custom. Omit or null for non-PDF formats. | first |
pageNumber | Conditional | pagingOptions = custom | Integer >= 1; single page index when pagingOptions is custom. | 1 |
unstructuredMessage | No | Optional | Free-form payment note. Max 140 characters. | Thank you for your business |
billingInfo | No | Optional | Customer billing information. | Invoice for services rendered |
av1 | No | Optional | Alternative scheme parameter 1. | |
av2 | No | Optional | Alternative scheme parameter 2. | |
profiles | No | Optional | Custom API profile JSON string. See API documentation for profile options. | { "someOption": true } |
IsAsync | Yes | Every request | PascalCase IsAsync. true = HTTP 202 and poll Location. false = synchronous HTTP 200. | true |
Adres türü seçenekleri
Şunlar için geçerlidir: crAdresTipi Ve udAdresTipi.
S (Yapılandırılmış)Otomatik mutabakat için önerilir.K (Birleşik)İki adet serbest biçimli adres satırıAyırıcı çizgi seçenekleri (seperatorLine)
Makasla ÇizgiNoktalı ÇizgiDüz ÇizgiReferans türü seçenekleri
OLMAYANYapılandırılmış referans yokyapılandırılmamışMesaj serbest biçimli bir not yerine referans.QRR27 haneli QR referansıreferans 27 haneli sayısal bir dizi olarak.PUANISO 11649 alacaklı referansıreferans içinde ISO 11649 format (ile başlar) RF).Çıktı formatı (formatType) Ve PDF sayfalama
Ne zaman formatType dır pdf, ayarlamak sayfalamaSeçenekleri kontrol etmek için QR Fiş yerleştirildi. Görüntü çıktısı için, atlayın. sayfalamaSeçenekleri veya şunu ayarlayın hükümsüz.
formatType: pdfpagingOptions: firstformatType: pdfpagingOptions: lastformatType: pdfpagingOptions: AddPageAtEndformatType: pdfpagingOptions: custom + pageNumberformatType: png | jpeg | tiffpagingOptions: nullÇıkış alanları
| Alan | Tip | İçeriğinde neler var? |
|---|---|---|
docName | String | Output file name. |
docContent | Base64 | Generated file (PDF or image per formatType). Decode before saving or streaming. |
Örnekler isteyin
Örnek A: Bağımsız QR fatura (giriş yok) PDF)
Atla belge içeriği veya yalnızca şunu oluşturmak için boş bir dize gönderin QR Ödeme fişi.
{
"docContent": "",
"docName": "",
"iban": "CH0200700110003765824",
"crName": "Test AG",
"crAddressType": "S",
"crStreetOrAddressLine1": "Test Strasse",
"crStreetOrAddressLine2": "1",
"crPostalCode": "8000",
"crCity": "Zurich",
"amount": "1000",
"currency": "CHF",
"udName": "Test Debt AG",
"udAddressType": "S",
"udStreetOrAddressLine1": "Test Deb Strasse",
"udStreetOrAddressLine2": "2",
"udPostalCode": "8000",
"udCity": "Zurich",
"referenceType": "NON",
"languageType": "English",
"seperatorLine": "LineWithScissor",
"formatType": "pdf",
"pagingOptions": "first",
"IsAsync": true
}
Örnek B: Üst Üste Bindirme QR mevcut bir PDF (Base64)
Yer değiştirmek belge içeriği sizinle PDF gibi Base64 (HAYIR veri: önek).
{
"docContent": "JVBERi0xLjQKJeLjz9MKMy...",
"docName": "invoice.pdf",
"iban": "CH0200700110003765824",
"crName": "Test AG",
"crAddressType": "S",
"crStreetOrAddressLine1": "Test Strasse",
"crStreetOrAddressLine2": "1",
"crPostalCode": "8000",
"crCity": "Zurich",
"amount": "1000",
"currency": "CHF",
"udName": "Test Debt AG",
"udAddressType": "S",
"udStreetOrAddressLine1": "Test Deb Strasse",
"udStreetOrAddressLine2": "2",
"udPostalCode": "8000",
"udCity": "Zurich",
"referenceType": "NON",
"languageType": "English",
"seperatorLine": "LineWithScissor",
"formatType": "pdf",
"pagingOptions": "custom",
"pageNumber": 1,
"IsAsync": true
}
Örnek C: Kopyala-yapıştır geçerli JSON
{
"docContent": "",
"docName": "",
"iban": "CH0200700110003765824",
"crName": "Test AG",
"crAddressType": "S",
"crStreetOrAddressLine1": "Test Strasse",
"crStreetOrAddressLine2": "1",
"crPostalCode": "8000",
"crCity": "Zurich",
"amount": "1000",
"currency": "CHF",
"udName": "Test Debt AG",
"udAddressType": "S",
"udStreetOrAddressLine1": "Test Deb Strasse",
"udStreetOrAddressLine2": "2",
"udPostalCode": "8000",
"udCity": "Zurich",
"referenceType": "NON",
"languageType": "English",
"seperatorLine": "LineWithScissor",
"formatType": "pdf",
"pagingOptions": "first",
"IsAsync": true
}
Referans tipi yükler
Referans yok (DEĞİL):
{ "referenceType": "NON" }
QR referansı (QRR):
{
"referenceType": "QRR",
"reference": "21000000000313947143000017"
}
Alacaklı referansı (SCOR, ISO 11649):
{
"referenceType": "SCOR",
"reference": "RF18539007547034"
}
formatType ve pagingOptions kod parçacıkları
{ "formatType": "png", "pagingOptions": null }
{ "formatType": "pdf", "pagingOptions": "last" }
{ "formatType": "pdf", "pagingOptions": "AddPageAtEnd" }
{ "formatType": "pdf", "pagingOptions": "custom", "pageNumber": 1 }
Kod örnekleri
Entegrasyon örnekleri
Yaygın REST entegrasyon kalıplarıTypical ways developers call Create SwissQR Bill.
- Kurumsal kaynak planlama (ERP) sisteminiz fatura verilerini ve bir PDF dosyasını dışa aktarır.
- PDF dosyasını Base64 kodlamasıyla dönüştürün.
belge içeriği. - POST ödeme alanları ile
referansTürüQRR ve 27 hanelireferans. - Kodu çöz
belge içeriğiYanıtı inceleyin ve QR kodlu fatura PDF dosyasını kaydedin veya e-posta ile gönderin.
- Sadece yırtılabilir fiş için, boş olarak POST edin.
belge içeriğiVeformatTypePDF veya PNG. - Webhook üzerinden gelen faturalar için PDF dosyasını Base64 kodlamasıyla dönüştürün.
belge içeriği, ayarlamaksayfalamaSeçenekleriilesonveyagelenekve POST ödeme alanları. - Yanıtı çözümleyin
belge içeriğive nesne depolama alanına yükleyin veya bir e-posta API'sine ekleyin.