Przygotowanie żądania
Utworzenie manifestu wymaga zorganizowania danych przesyłki w prawidłową strukturę. Interfejs API wykorzystuje podejście hierarchiczne, w którym najpierw tworzysz manifest, a następnie dodajesz linie manifestu zawierające szczegóły poszczególnych przesyłek.
Każdy komponent ma określone wymagane pola, aby zapewnić zgodność celną i dokładną dokumentację. Poniżej opisaliśmy podstawową strukturę danych i wymagane dane wejściowe.
Kluczowe typy danych wejściowych
Interfejs API manifestu wykorzystuje kilka typów danych wejściowych do organizacji danych przesyłki:
ManifestInput: Ogólne informacje o przesyłce, w tym lotniska, typ listu przewozowego i szczegóły lotuManifestLineInput: Szczegóły poszczególnych przesyłek połączone z manifestemManifestLineItemInput: Informacje o produkcie do klasyfikacji celnejCreatePartyInput: Szczegóły strony i lokalizacji dla pochodzenia i przeznaczenia
Wyświetl pełne definicje pól i opcje w naszym referencyjnym interfejsie API GraphQL.
Tworzenie manifestu poprzez interfejs API
Po zorganizowaniu danych przesyłki wyślij mutację GraphQL, aby utworzyć manifest.
Krok 1: Utwórz nagłówek manifestu
mutation ManifestCreate($input: ManifestInput!) { manifestCreate(input: $input) { id amount arrivalDate awbNumber awbPrefix carrierCode createdAt createdBy destinationCode operatorDestination operatorOrigin originCode postalOperatorCode serviceNumber source transportationMode updatedAt updatedBy weight weightUnit statusTransitions { createdAt createdBy note source } lines(first: 5) { totalCount edges { cursor node { id trackingNumber endUse currencyCode createdAt createdBy updatedAt updatedBy landedCost { id } } } } }}RESPONSE
json
{
"data": {
"manifestCreate": {
"id": "manifest_abc123def456",
"amount": "0",
"arrivalDate": "2026-03-15T14:30:00.000Z",
"awbNumber": "1234",
"awbPrefix": "001",
"carrierCode": "AA",
"createdAt": "2026-01-06T12:00:00.000Z",
"createdBy": "organization_xyz789",
"destinationCode": "JFK",
"operatorDestination": "US",
"originCode": "LHR",
"postalOperatorCode": "J1CGBA",
"serviceNumber": "1234",
"source": "API",
"transportationMode": "AIR",
"updatedAt": "2026-01-06T12:00:00.000Z",
"updatedBy": "organization_xyz789",
"weight": "0",
"weightUnit": "KILOGRAM",
"statusTransitions": [],
"lines": {
"totalCount": 0,
"edges": []
}
}
}
}
Krok 2: Dodaj linie manifestu
Korzystając z identyfikatora zwróconego z mutacji manifestCreate, możesz teraz powiązać poszczególne przesyłki z manifestem.
mutation ManifestLineCreate($manifestId: ID!, $input: ManifestLineInput!) { manifestLineCreate(manifestId: $manifestId, input: $input) { id manifestId trackingNumber endUse currencyCode referenceNumber arrivalDate createdAt createdBy updatedAt updatedBy landedCost { id } }}RESPONSE
json
{
"data": {
"manifestLineCreate": {
"id": "manifest_line_def456ghi789",
"manifestId": "manifest_abc123def456",
"trackingNumber": "LX123456789GB",
"endUse": "NOT_FOR_RESALE",
"currencyCode": "USD",
"referenceNumber": "ORDER-2026-001",
"arrivalDate": "2026-03-15T14:30:00.000Z",
"createdAt": "2026-01-06T12:05:00.000Z",
"createdBy": "organization_xyz789",
"updatedAt": "2026-01-06T12:05:00.000Z",
"updatedBy": "organization_xyz789",
"landedCost": null
}
}
}
Krok 3: Dodaj wiele linii manifestu (partia)
W celu wydajności możesz dodać wiele linii manifestu w jednym żądaniu, korzystając z mutacji manifestLinesCreate. Każda linia wymaga własnej tablicy parties do zdefiniowania pochodzenia i przeznaczenia przesyłki.
mutation ManifestLinesCreate($manifestId: ID!, $input: [ManifestLineInput!]!) { manifestLinesCreate(manifestId: $manifestId, input: $input) { id manifestId trackingNumber endUse currencyCode createdAt }}RESPONSE
json
{
"data": {
"manifestLinesCreate": [
{
"id": "manifest_line_aaa111bbb222",
"manifestId": "manifest_abc123def456",
"trackingNumber": "LX123456789GB",
"endUse": "NOT_FOR_RESALE",
"currencyCode": "USD",
"createdAt": "2026-01-06T12:10:00.000Z"
},
{
"id": "manifest_line_ccc333ddd444",
"manifestId": "manifest_abc123def456",
"trackingNumber": "LX987654321GB",
"endUse": "GIFT",
"currencyCode": "USD",
"createdAt": "2026-01-06T12:10:00.000Z"
}
]
}
}
Krok 4: Aktualizuj manifest
W przypadku zmiany szczegółów lotu możesz aktualizować szczegóły manifestu za pomocą poniższej mutacji. Pole source jest wymagane i wskazuje źródło danych aktualizacji.
mutation ManifestUpdate($id: ID!, $input: ManifestUpdateInput!) { manifestUpdate(id: $id, input: $input) { id amount arrivalDate awbNumber awbPrefix carrierCode createdAt createdBy destinationCode operatorDestination operatorOrigin originCode postalOperatorCode serviceNumber source transportationMode updatedAt updatedBy weight weightUnit statusTransitions { createdAt createdBy note source } }}RESPONSE
json
{
"data": {
"manifestUpdate": {
"id": "manifest_abc123def456",
"amount": "150.50",
"arrivalDate": "2026-03-16T10:00:00.000Z",
"awbNumber": "5678",
"awbPrefix": "001",
"carrierCode": "BA",
"createdAt": "2026-01-06T12:00:00.000Z",
"createdBy": "organization_xyz789",
"destinationCode": "JFK",
"operatorDestination": "US",
"originCode": "LHR",
"postalOperatorCode": "J1CGBA",
"serviceNumber": "5678",
"source": "RESDIT",
"transportationMode": "AIR",
"updatedAt": "2026-01-06T14:30:00.000Z",
"updatedBy": "organization_xyz789",
"weight": "25.5",
"weightUnit": "KILOGRAM",
"statusTransitions": [
{
"createdAt": "2026-01-06T14:30:00.000Z",
"createdBy": "organization_xyz789",
"note": "Flight rescheduled due to weather",
"source": "RESDIT"
}
]
}
}
}
Wartości źródła danych
Pole source w ManifestUpdateInput akceptuje następujące wartości:
| Wartość↕ | Opis↕ |
|---|---|
CARDIT | Wymiana danych przewoźnika |
PRECON | Powiadomienie przed załadunkiem |
PREDES | Powiadomienie przed wysyłką |
RESDIT | Odpowiedź na wysyłkę |
Przygotowanie manifestu celnego dla przesyłek do USA.
Podaj Zonos informacje o przychodzących przesyłkach pocztowych.
Zonos przygotuje kompleksowe manifesty celne zawierające wszystkie niezbędne informacje dotyczące przesyłek pocztowych do USA.