Biblioteki SDK

Udostępniamy bezpłatne biblioteki SDK dla najpopularniejszych języków programowania, które znacząco przyspieszają integrację z platformą i upraszczają wdrożenie.

Biblioteki powstały w oparciu o REST API, zapewniając spójność z oficjalnymi interfejsami.

php-plain

Biblioteka SDK dla PHP (ver. ≥ 8.2)

Instalacja:

Biblioteka SMS SDK dla języka PHP oparta jest na managerze pakietów Composer w celu poprawnego zarządzania zależnościami. Aby zainstalować SDK i jego zależności dodaj ten pakiet do pliku composer.json:

composer require "postivo/postivo-client"


Przykłady użycia:

<?php

declare(strict_types=1);

require 'vendor/autoload.php';

use Brick\DateTime\LocalDate;
use Postivo;
use Postivo\Models\Components;

$sdk = Postivo\Client::builder()
    ->setSecurity(
        '<YOUR API ACCESS TOKEN>'
    )
    ->build();

$request = new Components\Shipment(
    recipients: new Components\RecipientInline(
        name: 'Jan Nowak',
        name2: 'Firma testowa Sp. z o.o.',
        address: 'ul. Testowa',
        homeNumber: '23',
        flatNumber: '2',
        postCode: '00-999',
        city: 'Warszawa',
        phoneNumber: '+48666666666',
        postscript: 'Komunikat',
        customId: '1234567890',
    ),
    documents: [
        new Components\DocumentPdf(
            fileStream: '<document_1 content encoded to base64>',
            fileName: 'document1.pdf',
        ),
        new Components\DocumentPdf(
            fileStream: '<document_2 content encoded to base64>',
            fileName: 'document2.pdf',
        ),
    ],
    options: new Components\ShipmentOptions(
        predefinedConfigId: 2670,
    ),
);

$response = $sdk->shipments->dispatch(
    request: $request
);

if ($response->shipmentDetails !== null) {
    // handle response
}
typescript-plain

Biblioteka SDK dla TypeScript

Instalacja:

Biblioteka SDK dla języka TS może być zainstalowana przy użyciu managerów pakietów npm, pnpm, bun oraz yarn:

npm add @postivo/postivo-client


Przykłady użycia:

import { Client } from "@postivo/postivo-client";

const client = new Client({
  bearer: "<YOUR API ACCESS TOKEN>",
});

async function run() {
  const result = await client.shipments.dispatch({
    recipients: {
      name: "Jan Nowak",
      name2: "Firma testowa Sp. z o.o.",
      address: "ul. Testowa",
      homeNumber: "23",
      flatNumber: "2",
      postCode: "00-999",
      city: "Warszawa",
      country: "PL",
      phoneNumber: "+48666666666",
      postscript: "Komunikat",
      customId: "1234567890",
    },
    documents: [
      {
        fileStream: "<document_1 content encoded to base64>",
        fileName: "document1.pdf",
      },
      {
        fileStream: "<document_2 content encoded to base64>",
        fileName: "document2.pdf",
      },
    ],
    options: {
      predefinedConfigId: 2670,
    },
  });

  console.log(result);
}

run();
python-plain

Biblioteka SDK dla Python (ver. ≥ 3.9)

Instalacja:

Domyślnym managerem pakietów dla Python’a jest PIP, który pozwala na łatwą instalację i zarządzanie pakietami z PyPI za pośrednictwem wiersza poleceń:

pip install postivo-client


Przykłady użycia:

# Synchronous Example
from postivo_client import Client


with Client(
    bearer="<YOUR API ACCESS TOKEN>",
) as client:

    res = client.shipments.dispatch(recipients={
        "name": "Jan Nowak",
        "name2": "Firma testowa Sp. z o.o.",
        "address": "ul. Testowa",
        "home_number": "23",
        "flat_number": "2",
        "post_code": "00-999",
        "city": "Warszawa",
        "country": "PL",
        "phone_number": "+48666666666",
        "postscript": "Komunikat",
        "custom_id": "1234567890",
    }, documents=[
        {
            "file_stream": "<document_1 content encoded to base64>",
            "file_name": "document1.pdf",
        },
        {
            "file_stream": "<document_2 content encoded to base64>",
            "file_name": "document2.pdf",
        },
    ], options={
        "predefined_config_id": 2670,
    })

    # Handle response
    print(res)
csharp-plain

Biblioteka SDK dla C# (.Net ≥ 8.0)

Instalacja:

Aby dodać pakiet NuGet do projektu .NET użyj polecenia:

dotnet add package Postivo


Przykłady użycia:

using Postivo;
using Postivo.Models.Components;
using System.Collections.Generic;

var sdk = new Client(bearer: "<YOUR API ACCESS TOKEN>");

Shipment req = new Shipment() {
    Recipients = ShipmentRecipients.CreateRecipients(
        Recipients.CreateRecipientInline(
            new RecipientInline() {
                Name = "Jan Nowak",
                Name2 = "Firma testowa Sp. z o.o.",
                Address = "ul. Testowa",
                HomeNumber = "23",
                FlatNumber = "2",
                PostCode = "00-999",
                City = "Warszawa",
                PhoneNumber = "+48666666666",
                Postscript = "Komunikat",
                CustomId = "1234567890",
            }
        )
    ),
    Documents = ShipmentDocuments.CreateArrayOfDocuments(
        new List<Documents>() {
            Documents.CreateDocumentPdf(
                new DocumentPdf() {
                    FileStream = "<document_1 content encoded to base64>",
                    FileName = "document1.pdf",
                }
            ),
            Documents.CreateDocumentPdf(
                new DocumentPdf() {
                    FileStream = "<document_2 content encoded to base64>",
                    FileName = "document2.pdf",
                }
            ),
        }
    ),
    Options = Options.CreateShipmentOptions(
        new ShipmentOptions() {
            PredefinedConfigId = 2670,
        }
    ),
};

var res = await sdk.Shipments.DispatchAsync(req);

// handle response
java-plain

Biblioteka SDK dla Java (ver. ≥ 11)

Instalacja:

Wymagana jest wersja JDK 11 lub wyższa. Żeby zainstalować pakiet użyj Gradle:

implementation 'pl.postivo:client:0.0.10'


Przykłady użycia:

package hello.world;

import java.lang.Exception;
import java.util.List;
import pl.postivo.sdk.Client;
import pl.postivo.sdk.models.components.*;
import pl.postivo.sdk.models.errors.ErrorResponse;
import pl.postivo.sdk.models.operations.ShipmentDispatchResponse;

public class Application {

    public static void main(String[] args) throws ErrorResponse, ErrorResponse, Exception {

        Client sdk = Client.builder()
                .bearer("<YOUR API ACCESS TOKEN>")
            .build();

        Shipment req = Shipment.builder()
                .recipients(ShipmentRecipients.of(Recipients.of(RecipientInline.builder()
                    .name("Jan Nowak")
                    .address("ul. Testowa")
                    .postCode("00-999")
                    .city("Warszawa")
                    .name2("Firma testowa Sp. z o.o.")
                    .homeNumber("23")
                    .flatNumber("2")
                    .phoneNumber("+48666666666")
                    .postscript("Komunikat")
                    .customId("1234567890")
                    .build())))
                .documents(ShipmentDocuments.of(List.of(
                    Documents.of(DocumentPdf.builder()
                        .fileStream("<document_1 content encoded to base64>")
                        .fileName("document1.pdf")
                        .build()),
                    Documents.of(DocumentPdf.builder()
                        .fileStream("<document_2 content encoded to base64>")
                        .fileName("document2.pdf")
                        .build()))))
                .options(Options.of(ShipmentOptions.builder()
                    .predefinedConfigId(2670L)
                    .build()))
                .build();

        ShipmentDispatchResponse res = sdk.shipments().dispatch()
                .request(req)
                .call();

        if (res.shipmentDetails().isPresent()) {
            // handle response
        }
    }
}
go-original-wordmark

Biblioteka SDK dla Go (ver. ≥ 1.14)

Instalacja:

Aby dodać bibliotekę SMS SDK do projektu w Go użyj polecenia:

go get github.com/postivo/go-client


Przykłady użycia:

package main

import (
	"context"
	postivo "github.com/postivo/go-client"
	"github.com/postivo/go-client/models/components"
	"github.com/postivo/go-client/optionalnullable"
	"log"
)

func main() {
	ctx := context.Background()

	s := postivo.New(
		postivo.WithSecurity("<YOUR API ACCESS TOKEN>"),
	)

	res, err := s.Shipments.Dispatch(ctx, components.Shipment{
		Recipients: components.CreateShipmentRecipientsRecipients(
			components.CreateRecipientsRecipientInline(
				components.RecipientInline{
					Name:        postivo.Pointer("Jan Nowak"),
					Name2:       optionalnullable.From(postivo.Pointer("Firma testowa Sp. z o.o.")),
					Address:     postivo.Pointer("ul. Testowa"),
					HomeNumber:  optionalnullable.From(postivo.Pointer("23")),
					FlatNumber:  optionalnullable.From(postivo.Pointer("2")),
					PostCode:    postivo.Pointer("00-999"),
					City:        postivo.Pointer("Warszawa"),
					PhoneNumber: optionalnullable.From(postivo.Pointer("+48666666666")),
					Postscript:  optionalnullable.From(postivo.Pointer("Komunikat")),
					CustomID:    optionalnullable.From(postivo.Pointer("1234567890")),
				},
			),
		),
		Documents: components.CreateShipmentDocumentsArrayOfDocuments(
			[]components.Documents{
				components.CreateDocumentsDocumentPdf(
					components.DocumentPdf{
						FileStream: "<document_1 content encoded to base64>",
						FileName:   optionalnullable.From(postivo.Pointer("document1.pdf")),
					},
				),
				components.CreateDocumentsDocumentPdf(
					components.DocumentPdf{
						FileStream: "<document_2 content encoded to base64>",
						FileName:   optionalnullable.From(postivo.Pointer("document2.pdf")),
					},
				),
			},
		),
		Options: optionalnullable.From(postivo.Pointer(components.CreateOptionsObjShipmentOptions(
			components.ShipmentOptions{
				PredefinedConfigID: optionalnullable.From(postivo.Pointer[int64](2670)),
			},
		))),
	})
	if err != nil {
		log.Fatal(err)
	}
	if res.ShipmentDetails != nil {
		// handle response
	}
}

Masz pytania?

Skontaktuj się z nami, a udzielimy na nie odpowiedzi.