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).