Allegro WebAPI

Interfejs programistyczny platformy Allegro

doSendPostBuyForm

Ostatnia zmiana: 01.09.2011 r.
Dostępność:
Metoda pozwala na wypełnienie i wysłanie formularza pozakupowego. Po poprawnym wysłaniu formularza możliwe jest zautomatyzowane przekazanie klienta z płatnością na stronę odpowiedniego banku (jedynym warunkiem jest to, aby bank udostępniał usługę pay-by-link), za pomocą mechanizmu realizowanego w ramach Allegro Finanse (więcej informacji na temat integracji znaleźć można w dokumentacji technicznej usługi Payu: http://goo.gl/6rlFJ [PDF]). Ważne: na tym etapie w metodzie nie jest obsługiwany Odbiór w Punkcie.

  1. session-id | string | wymagany
    Identyfikator sesji użytkownika, uzyskany za pomocą metody doLogin(Enc).
  2. new-post-buy-form-seller | NewPostBuyFormSellerStruct[] | wymagany
    Talica struktur z informacjami o sprzedających i ofertach, dla których formularz ma zostać wypełniony.
    1. seller-id | int | wymagany
      Identyfikator sprzedającego.
    2. seller-item-ids | long[] | wymagany
      Tablica identyfikatorów ofert danego sprzedajacego (max. 200, do pobrania przez doGetRelatedItems).
    3. seller-shipment-id | int | wymagany
      Identyfikator wspólnego sposobu dostawy (do pobrania przez doGetShipmentDataForRelatedItems). Dla opcji 'Inny sposób dostawy', w polu przekazane zostać powinno 0.
    4. seller-shipment-amount | float | wymagany tylko dla seller-shipment-id = 0 oraz w przypadkach, w których sposoby i koszty dostawy nie pokrywają się w wybranych ofertach
      Kwota opłaty za dostawę.
    5. seller-message-to | string | niewymagany
      Wiadomość do sprzedającego (max. 1000 znaków).
  3. new-post-buy-form-common | NewPostBuyFormCommonStruct | wymagany
    Struktura z informacji dot. poszczególnych pól formularza pozakupowego.
    1. payment-method-id | string | wymagany
      Identyfikator metody płatności (do pobrania przez doGetPaymentMethods).
    2. shipment-address-type | int | wymagany
      Typ adresu do wysyłki (do pobrania przez doGetMyAddresses). Dla opcji 'Inny adres', w polu przekazane zostać powinno 0.
    3. shipment-address-data | AddressUserDataStruct | wymagany tylko dla shipment-address-type = 0
      Struktura z innym adresem do wysyłki.
      1. user-company | string | niewymagany
        Firma użytkownika.
      2. user-full-name | string | wymagany
        Imię i nazwisko użytkownika.
      3. user-address | string | wymagany
        Adres użytkowniika.
      4. user-postcode | string | wymagany
        Kod pocztowy użytkownika.
      5. user-city | string | wymagany
        Miasto użytkownika.
    4. contact-phone | string | niewymagany
      Telefon kontaktowy do kupującego.
    5. invoice-option | int | wymagany
      Informacja o tym, czy sprzedający ma wystawić fakturę VAT do zakupu (1 - tak , 0 - nie). Domyślną wartością jest 0.
    6. invoice-info | InvoiceInfoStruct | wymagany tylko dla invoice-option = 1
      Struktura z informacjami dot. faktury.
      1. invoice-address-type | int | wymagany
        Typ adresu do faktury (do pobrania przez doGetMyAddresses). Dla opcji 'Inny adres', w polu przekazane zostać powinno 0.
      2. invoice-address-data | AddressUserDataStruct | wymagany tylko dla invoice-address-type = 0
        Struktura z innym adresem do faktury.
        1. user-company | string | niewymagany
          Firma użytkownika.
        2. user-full-name | string | wymagany
          Imię i nazwisko użytkownika.
        3. user-address | string | wymagany
          Adres użytkowniika.
        4. user-postcode | string | wymagany
          Kod pocztowy użytkownika.
        5. user-city | string | wymagany
          Miasto użytkownika.
      3. invoice-nip | string | wymagany (nie, jeżeli w invoice-option przekazano 0)
        NIP użytkownika.



Orientacyjna struktura wywołania metody

$dosendpostbuyform_request = array(
   'session-id' => '22eb99326c6be29aa16d07d622bcfbcbee94ad54846f2f4e03_1',
   'new-post-buy-form-seller' => array(
      array(
         'seller-id' => 1831859,
         'seller-item-ids' => array(1624011084,1624011090),
         'seller-shipment-id' => 4,
         'seller-shipment-amount' => 0,
         'seller-message-to' => 'Proszę o szybką wysyłkę. Pozdrawiam.')),
   'new-post-buy-form-common' => array(
      'payment-method-id' => 'm',
      'shipment-address-type' => 1,
      'shipment-address-data' => array(),
      'contact-phone' => '601-121-212',
      'invoice-option' => 1,
      'invoice-info' => array(
         'invoice-address-type' => 0,
         'invoice-address-data' => array(
            'user-company' => 'Inter-Komp',
            'user-full-name' => 'Jan Kowalski',
            'user-address' => 'os. B. Chrobrego 3/4',
            'user-post-code' => '60-566',
            'user-city' => 'Poznań'),
         'invoice-nip' => '772-222-33-44'))
);

  1. post-buy-form | PostBuyFormStruct
    Struktura z informacjami na temat wysłanego formularza pozakupowego.
    1. transaction-id | long
      Identyfikator utworzonej transakcji Allegro Finanse.
    2. transaction-package-ids | long[]
      Identyfikatory utworzonych transakcji poza Allegro Finanse.
    3. transaction-pay-by-link | TransactionPayByLinkStruct
      Struktura z danymi potrzebnymi do przekazania płatności (tylko pay-by-link) klienta do banku za pomocą mechanizmu realizowanego w ramach Allegro Finanse (więcej informacji w dokumentacji technicznej usługi). Dla płatności przy odbiorze osobistym, płatności zwykłym przelewem (poza Allegro Finanse) lub dla banku w ramach Allegro Finanse nie udostępniającego usługi pay-by-link – zwracana będzie pusta struktura.
      1. action-http-method | string
        Akcja w protokole HTTP określająca sposób przekazania danych. Dostępne wartości - GET, POST.
      2. action-url | string
        Akcja do wykonania.
      3. action-data | ActionDataStruct[]
        Struktura z danymi wybranej akcji.
        1. action-key | string
          Klucz do wstawienia do akcji.
        2. action-value | string
          Wartość do wstawienia do akcji.



Orientacyjna struktura wywołania metody

$dosendpostbuyform_response = array(
   'post-buy-form' => array(
      'transaction-id' => 45367221,
      'transaction-package-ids' => array(46353511),
      'transaction-pay-by-link' => array(
         'action-http-method' => 'POST',
         'action-url' => 'https://www.platnosci.pl/np/UTF/newpayment.action',
         'action-data' => array(
            array(
               'action-key' => 'pos_id',
               'action-value' => '33230'),
            array(...),
            array(
               'action-key'  => 'email',
               'action-value'  => 'adres@email.pl'),
            array(...),

            array(
               'action-key'  => 'sig',
               'action-value'  => 'f05216ce23e5e987224de602051740f0'))))
);

  • ERR_INCORRECT_INVOICE_ADDRESS_DATA
    Błędne lub puste dane do faktury.
  • ERR_INCORRECT_INVOICE_ADDRESS_TYPE
    Niepoprawny lub pusty identyfikator typu adresu do faktury.
  • ERR_INCORRECT_INVOICE_OPTION
    Niepoprawna opcja wyboru faktury.
  • ERR_INCORRECT_ITEM_ID
    Co najmniej jeden z podanych identyfikatorów ofert jest niepoprawny (oferta nie istnieje, została przeniesiona do archiwum, zalogowany użytkownik nie był w niej kupującym, wystawiona została w innym kraju niż ten do którego zalogowany jest użytkownik, jest już opłacona albo rozpoczęto już dla niej procedurę opłacania).
  • ERR_INCORRECT_MESSAGE_TO_SELLER
    Niepoprawna lub zbyt długa treść wiadomości do sprzedającego (max. 1000 znaków).
  • ERR_INCORRECT_PAYMENT_METHOD_ID
    Niepoprawny lub pusty identyfikator metody płatności.
  • ERR_INCORRECT_SHIPMENT_ID
    Niepoprawny lub pusty identyfikator sposobu dostawy.
  • ERR_INCORRECT_SHIPMENT_AMOUNT
    Niepoprawna (<0 lub >300) lub pusta kwota opłaty za dostawę.
  • ERR_INCORRECT_SHIPMENT_ADDRESS_DATA
    Niepoprawnie wypełniona lub pusta struktura z danymi adresowymi do wysyłki.
  • ERR_INCORRECT_SHIPMENT_ADDRESS_TYPE
    Niepoprawny lub pusty identyfikator typu adresu do wysyłki.
  • ERR_INVOICE_NOT_POSSIBLE
    Nie ma możliwości wystawienia faktury do zakupów dla ofert, w których sprzedający nie wybrał takiej opcji.
  • ERR_ITEM_FROM_OTHER_COUNTRY
    Oferta wystawiona została w kraju innym niż kraj do którego zalogowany jest użytkownik.
  • ERR_ITEMS_ARRAY_EMPTY_OR_OVERFLOWED
    Tablica identyfikatorów ofert jest pusta lub przekroczono jej maksymalny rozmiar (200 elementów).
  • ERR_NEW_PAYMENT_INTERNAL_ERROR
    Wewnętrzny błąd systemu związany z pobieraniem transakcji Allegro Finanse.
  • ERR_NO_SESSION / ERR_SESSION_EXPIRED
    Niepoprawny identyfikator sesji lub sesja wygasła.
  • ERR_POST_BUY_FORM_ALREADY_FILLED
    Formularz posprzedażowy został już wypełniony.
  • ERR_TOTAL_AMOUNT_LIMIT
    Przekroczono limit dla łącznej kwoty za wszystkie towary zakupione w ramach jednej transakcji (max. 500 000 zł) lub kwota za płatność kartą płatniczą jest <= 1.
  • ERR_WEBAPI_KEY_INACTIVE
    Klucz WebAPI na którym została wygenerowana sesja został zdezaktywowany (jego właściciel nie zaakceptował warunków Regulaminu WebAPI).

Allegro nie bierze odpowiedzialności za skutki wykorzystania zamieszczonych przykładów kodu, nie daje także gwarancji ich poprawnego działania. Widoczny kod ma charakter wyłącznie poglądowy i może zawierać błędy.