Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

FileMapping reprezentuje schemat mapowania danych z shipx-api na inne systemy podczas eksportu danych.


Panel
bgColor#f0f0f0
titleBGColor#f0f0f0
titleNa tej stronie

Table of Contents
minLevel2
 


Zasób FileMapping posiada następujące atrybuty:

Atrybut
Typ
Opis
hrefStringAdres URI do zasobu.
nameStringNazwa pliku mapowania.
formatStringFormat przesylanego pliku.
format_parametersHashDodatkowe parametry zwiazane z konwersja.
descriptionStringOpis pliku mapowania.
mappingHashObiekt w formacie json zawierajacy mapowanie.
activeBooleanParametr określa czy dane mapowanie jest aktywne.
organization_idIntegerID organizacji. W przypadku niepodania mapowanie pliku jest globalne i powinno być widoczne w kontekście wszystkich użytkowników.


Uwierzytelnianie

Dostęp do zasobu wymaga podania prawidłowego i ważnego access tokenu dla Organizacji


Lista mapowań

Code Block
GET v1/organizations/:id_organizacji/file_mappings

Kryteria wyszukiwania

Parametr
Typ
Działania
Przykład
nameStringWyszukuje mapowania, w których nazwa zaczyna się od wskazanego ciągu.?name=Nazwa
activeBooleanWyszukuje mapowania aktywne (true) i nieaktywne (false).?active=true

Sortowanie wyników

Wyniki wyszukiwania można sortować przekazujący parametr sort_by, który może przyjmować przyjmować następujące wartości:

Wartość sort_by
Działanie
Przykład
nameSortuje mapowania po nazwie.?sort_by=name
activeSortuje mapowania po aktywnosci.?sort_by=active

Sortowanie może odbywać się w dwóch kierunkach, poprzez użycie parametru sort_order:

Wartość
Działanie
Przykład
ascSortuje przesyłkirosnąco.?sort_order=asc&sort_by=name
descSortuje przesyłki malejąco.?sort_order=desc&sort_by=name


Przykład zapytania


Code Block
GET /v1/organizations/1/file_mappings?active=true&sort_order=asc&sort_by=name HTTP/1.1
Host: api-shipx-pl.easypack24.net
Content-Type: application/json


Odpowiedź


Code Block
{
  "href": "https://api-shipx-pl.easypack24.net/v1/organizations/1/file_mappings?active=true&sort_by=name&sort_order=asc",
  "count": 3,
  "page": 1,
  "per_page": 30,
  "items": [
    {
      "href": "https://api-shipx-pl.easypack24.net/v1/organizations/1/file_mappings",
      "id": 1,
      "name": "wea",
      "format": "CSV",
      "format_parameters": {
    	"field_separator": ";",
    	"character_encoding": "UTF-8",
    	"text_qualifier": "\"",
    	"sheets_index": [0]
      },
      "description": "Opis",
      "mapping": {
        "custom_attributes": {
          "target_point": "target_point"
        },
        "insurance": {
          "amount": "insurance_amount",
          "currency": "insurance_currency"
        },
        "cod": {
          "amount": "cod_amount",
          "currency": "cod_currency"
        },
        "additional_services": [
          "email",
          "sms"
        ],
        "service": "service",
        "parcels": [
          {
            "weight": {
              "amount": "weight_amount",
              "unit": "weight_unit"
            },
            "dimensions": {
              "length": "length",
              "width": "width",
              "height": "height",
              "unit": "unit"
            }
          }
        ],
        "receiver": {
          "name": "receiver_name",
          "first_name": "receiver_first_name",
          "last_name": "receiver_last_name",
          "email": "receiver_email",
          "phone": "receiver_phone",
          "address": {
            "street": "receiver_address_street",
            "building_number": "receiver_address_building_number",
            "city": "receiver_address_city",
            "post_code": "receiver_address_post_code",
            "country_code": "receiver_address_country_code"
          }
        },
        "sender": {}
      },
      "active": true,
      "organization_id": null
    },
	...[ommited for brevity]...
  ]
}



Export mapowania do xfile

Dane przesyłane są za pośrednictwem api do systemu xfile, który zwraca zmapowane dane wg przeslanego wzoru.

Code Block
POST /v1/organizations/:organization_id/file_mappings/export

Parametry

Parametr
Typ
Opis

Walidacja

nameStringNazwa pliku mapowania.Atrybut jest wymagany
formatString Format przesylanego pliku. Dostępne formaty: csv, xls/xlsx, ods, xml.Atrybut jest wymagany
format_parameters

Hash

Format Parameters Form

Dodatkowe parametry związane z konwersja.Atrybut jest wymagany
contentString Zakodowany plik z danymi z importu w Base64.Atrybut jest wymagany
descriptionString Opis pliku mapowania.Atrybut nie jest wymagany
mapping_idInteger

Identyfikator mapowania który jest zapisany w bazie.

Atrybut jest wymagany

  • Parametr mapping_id ma wyższy priorytet niż obiekt podany w parametrze mapping
  • Podając mapping_id dane są zaciągane z bazy i umieszczane automatycznie jako atrybut mapping
mapping

Hash

Mapping Form

Obiekt w formacie json zawierający mapowanie. Wymagany jeżeli atrybut mapping_id nie jest uzupełniony.
Dodatkowe funkcje, których można użyć w mapowaniu:

  • Można również łączyć n kolumn w jedną, nazwy kolumn należy rozdzielić sekwencją ###, np.:
    "zlaczenie_dwoch_kolumn" : "Konto###Data zakupu" - zwraca tekst pobrany z dwóch kolumn rozdzielony spacją.
  • Można wyodrębnić imię lub nazwisko jeśli są w jednej kolumnie:
    "imie" : "imie(Dane kontaktowe)" - zwraca tekst do pierwszej spacji
    "nazwisko" : "nazwisko(Dane kontaktowe)" - zwraca tekst od pierwszej spacji do końca

Atrybut jest wymagany

  • Wymagalność pojawia się w z chwilą kiedy atrybut mapping_id nie zostanie przekazany
formHashDodatkowe parametry eksportowanych przesyłek.Atrybut nie jest wymagany
organization_idInteger ID organizacji. W przypadku niepodania mapowanie pliku jest globalne i powinno być widoczne w kontekście wszystkich użytkowników.Atrybut nie jest wymagany


Przykład zapytania

Code Block
POST /v1/organizations/1/file_mappings/export HTTP/1.1
Host: api-shipx-pl.easypack24.net
Content-Type: application/json
{
    "format" : "csv",
    "name" : "Name csv",
    "format_parameters" : {
    	"field_separator" : ";",
    	"character_encoding" : "UTF-8",
    	"text_qualifier" : "\"",
    	"sheets_index" : [0]
    },
    "form": {},
    "content" : "cmVjZWl2ZXJfZmlyc3RfbmFtZTtyZWNlaXZlcl9sYXN0X25hbWU7cmVjZWl2ZXJfbmFtZTtyZWNlaXZlcl9lbWFpbDtyZWNlaXZlcl9waG9uZTtyZWNlaXZlcl9hZGRyZXNzX3N0cmVldDtyZWNlaXZlcl9hZGRyZXNzX2J1aWxkaW5nX251bWJlcjtyZWNlaXZlcl9hZGRyZXNzX2NpdHk7cmVjZWl2ZXJfYWRkcmVzc19wb3N0X2NvZGU7cmVjZWl2ZXJfYWRkcmVzc19jb3VudHJ5X2NvZGU7dGFyZ2V0X3BvaW50O2luc3VyYW5jZV9hbW91bnQ7aW5zdXJhbmNlX2N1cnJlbmN5O2NvZF9hbW91bnQ7Y29kX2N1cnJlbmN5O3NlcnZpY2U7bGVuZ3RoO3dpZHRoO2hlaWdodDt1bml0O3dlaWdodF9hbW91bnQ7d2VpZ2h0X3VuaXQNCkphbjtLb3dhbHNraTtKYW47amFuQGtvd2Fsc2tpLnBsOzEyMzEyMzEyMztaYXdpxYJhOzY1bDtLcmFrw7N3OzMwLTMzMztQTDtBMTIzOzEwMDtQTE47MTAwO1BMTjtpbnBvc3RfbG9ja2VyX3N0YW5kYXJkOzI0MDA7MjQwMDszNTAwO21tOzMwO2tnDQpNYXJpYW47S293YWxza2k7TWFyaWFuO21hcmlhbkBrb3dhbHNraS5wbDsxMjMxMjMxMjM7UnluZWs7MTI7S3Jha8OzdzszMC0zMzM7UEw7QTEyMzsxMDtQTE47MTA7UExOO2lucG9zdF9sb2NrZXJfc3RhbmRhcmQ7MjQwMDsyNDAwOzM1MDA7bW07MjU7a2c",
    "mapping" : {
        "custom_attributes" : {
            "target_point" : "target_point"
        },
        "insurance" : {
            "amount" : "insurance_amount",
            "currency" : "insurance_currency"
        },
        "cod": {
            "amount" : "cod_amount",
            "currency" : "cod_currency"
        },
        "additional_services" : ["email", "sms"],
        "service" : "service",
        "parcels" : [
            {
                "dimensions": {
                    "length": "length",
                    "width": "width",
                    "height": "height",
                    "unit": "unit"
                },
               "weight": {
                   "amount": "weight_amount",
                   "unit": "weight_unit"
               }
           }
       ],
       "receiver": {
           "first_name": "receiver_ first_name",
           "last_name": "receiver_last_name",
           "name": "receiver_name",
           "email": "receiver_email",
           "phone": "receiver_phone",
           "address": {
               "street": "receiver_address_street",
               "building_number": "receiver_address_building_number",
               "city": "receiver_address_city",
               "post_code": "receiver_address_post_code",
               "country_code": "receiver_address_country_code"
           }
       },
       "sender": {}
    }
}

Odpowiedź

Code Block
 {
  "href": "https://api-shipx-pl.easypack24.net/v1/organizations/115/file_mappings",
  "id": 115,
  "name": "Name csv",
  "format": "csv",
  "format_parameters": {
    "field_separator": ";",
    "character_encoding": "UTF-8",
    "text_qualifier": "\"",
    "sheets_index": [0]
  },
  "description": null,
  "content": "cmVjZWl2ZXJfZmlyc3RfbmFtZTtyZWNlaXZlcl9sYXN0X25hbWU7cmVjZWl2ZXJfbmFtZTtyZWNlaXZlcl9lbWFpbDtyZWNlaXZlcl9waG9uZTtyZWNlaXZlcl9hZGRyZXNzX3N0cmVldDtyZWNlaXZlcl9hZGRyZXNzX2J1aWxkaW5nX251bWJlcjtyZWNlaXZlcl9hZGRyZXNzX2NpdHk7cmVjZWl2ZXJfYWRkcmVzc19wb3N0X2NvZGU7cmVjZWl2ZXJfYWRkcmVzc19jb3VudHJ5X2NvZGU7dGFyZ2V0X3BvaW50O2luc3VyYW5jZV9hbW91bnQ7aW5zdXJhbmNlX2N1cnJlbmN5O2NvZF9hbW91bnQ7Y29kX2N1cnJlbmN5O3NlcnZpY2U7bGVuZ3RoO3dpZHRoO2hlaWdodDt1bml0O3dlaWdodF9hbW91bnQ7d2VpZ2h0X3VuaXQNCkphbjtLb3dhbHNraTtKYW47amFuQGtvd2Fsc2tpLnBsOzEyMzEyMzEyMztaYXdpxYJhOzY1bDtLcmFrw7N3OzMwLTMzMztQTDtBMTIzOzEwMDtQTE47MTAwO1BMTjtpbnBvc3RfbG9ja2VyX3N0YW5kYXJkOzI0MDA7MjQwMDszNTAwO21tOzMwO2tnDQpNYXJpYW47S293YWxza2k7TWFyaWFuO21hcmlhbkBrb3dhbHNraS5wbDsxMjMxMjMxMjM7UnluZWs7MTI7S3Jha8OzdzszMC0zMzM7UEw7QTEyMzsxMDtQTE47MTA7UExOO2lucG9zdF9sb2NrZXJfc3RhbmRhcmQ7MjQwMDsyNDAwOzM1MDA7bW07MjU7a2c",
  "mapping": {
    "service": "service",
    "additional_services": [
      "email",
      "sms"
    ],
    "custom_attributes": {
      "target_point": "target_point"
    },
    "insurance": {
      "amount": "insurance_amount",
      "currency": "insurance_currency"
    },
    "cod": {
      "amount": "cod_amount",
      "currency": "cod_currency"
    },
    "parcels": [
      {
        "weight": {
          "amount": "weight_amount",
          "unit": "weight_unit"
        },
        "dimensions": {
          "length": "length",
          "width": "width",
          "height": "height",
          "unit": "unit"
        }
      }
    ],
    "receiver": {
      "name": "receiver_name",
      "first_name": "receiver_ first_name",
      "last_name": "receiver_last_name",
      "email": "receiver_email",
      "phone": "receiver_phone",
      "address": {
        "street": "receiver_address_street",
        "building_number": "receiver_address_building_number",
        "city": "receiver_address_city",
        "post_code": "receiver_address_post_code",
        "country_code": "receiver_address_country_code"
      }
    },
    "sender": {}
  },
  "xfile": [
    {
      "service": "inpost_locker_standard",
      "additional_services": [
        "",
        ""
      ],
      "custom_attributes": {
        "target_point": "A123"
      },
      "insurance": {
        "amount": "100",
        "currency": "PLN"
      },
      "cod": {
        "amount": "100",
        "currency": "PLN"
      },
      "parcels": [
        {
          "weight": {
            "amount": "30",
            "unit": "kg"
          },
          "dimensions": {
            "length": "2400",
            "width": "2400",
            "height": "3500",
            "unit": "mm"
          }
        }
      ],
      "receiver": {
        "name": "Jan",
        "first_name": "",
        "last_name": "Kowalski",
        "email": "jan@kowalski.pl",
        "phone": "123123123",
        "address": {
          "street": "Zawiła",
          "building_number": "65l",
          "city": "Kraków",
          "post_code": "30-333",
          "country_code": "PL"
        }
      },
      "sender": {}
    },
    {
      "service": "inpost_locker_standard",
      "additional_services": [
        "",
        ""
      ],
      "custom_attributes": {
        "target_point": "A123"
      },
      "insurance": {
        "amount": "10",
        "currency": "PLN"
      },
      "cod": {
        "amount": "10",
        "currency": "PLN"
      },
      "parcels": [
        {
          "weight": {
            "amount": "25",
            "unit": "kg"
          },
          "dimensions": {
            "length": "2400",
            "width": "2400",
            "height": "3500",
            "unit": "mm"
          }
        }
      ],
      "receiver": {
        "name": "Marian",
        "first_name": "",
        "last_name": "Kowalski",
        "email": "marian@kowalski.pl",
        "phone": "123123123",
        "address": {
          "street": "Rynek",
          "building_number": "12",
          "city": "Kraków",
          "post_code": "30-333",
          "country_code": "PL"
        }
      },
      "sender": {}
    }
  ],
  "form": {},
  "organization_id": 1,
  "created_at": "2017-06-09T11:41:10.737+02:00"
}


Widok exportu

Code Block
GET /v1/organizations/:organization_id/file_mappings/export/:id

Przykład zapytania


Code Block
GET /v1/organizations/1/file_mappings/export/1 HTTP/1.1
Host: api-shipx-pl.easypack24.net
Content-Type: application/json

Odpowiedź


Code Block
{
    "href": "https://api-shipx-pl.easypack24.net/v1/organizations/1/file_mappings/export/1",
    "id": 1,
    "name": "Name csv",
    "format": "csv",
    "format_parameters": {
        "field_separator": ";",
        "character_encoding": "UTF-8",
        "text_qualifier": "\"",
        "sheets_index": [
            0
        ]
    },
    "description": null,
    "content": "cmVjZWl2ZXJfZmlyc3RfbmFtZTtyZWNlaXZlcl9sYXN0X25hbWU7cmVjZWl2ZXJfbmFtZTtyZWNlaXZlcl9lbWFpbDtyZWNlaXZlcl9waG9uZTtyZWNlaXZlcl9hZGRyZXNzX3N0cmVldDtyZWNlaXZlcl9hZGRyZXNzX2J1aWxkaW5nX251bWJlcjtyZWNlaXZlcl9hZGRyZXNzX2NpdHk7cmVjZWl2ZXJfYWRkcmVzc19wb3N0X2NvZGU7cmVjZWl2ZXJfYWRkcmVzc19jb3VudHJ5X2NvZGU7dGFyZ2V0X3BvaW50O2luc3VyYW5jZV9hbW91bnQ7aW5zdXJhbmNlX2N1cnJlbmN5O2NvZF9hbW91bnQ7Y29kX2N1cnJlbmN5O3NlcnZpY2U7bGVuZ3RoO3dpZHRoO2hlaWdodDt1bml0O3dlaWdodF9hbW91bnQ7d2VpZ2h0X3VuaXQNCkphbjtLb3dhbHNraTtKYW47amFuQGtvd2Fsc2tpLnBsOzEyMzEyMzEyMztaYXdpxYJhOzY1bDtLcmFrw7N3OzMwLTMzMztQTDtBMTIzOzEwMDtQTE47MTAwO1BMTjtpbnBvc3RfbG9ja2VyX3N0YW5kYXJkOzI0MDA7MjQwMDszNTAwO21tOzMwO2tnDQpNYXJpYW47S293YWxza2k7TWFyaWFuO21hcmlhbkBrb3dhbHNraS5wbDsxMjMxMjMxMjM7UnluZWs7MTI7S3Jha8OzdzszMC0zMzM7UEw7QTEyMzsxMDtQTE47MTA7UExOO2lucG9zdF9sb2NrZXJfc3RhbmRhcmQ7MjQwMDsyNDAwOzM1MDA7bW07MjU7a2c",
    "mapping_id": null,
    "mapping": {
        "service": "service",
        "additional_services": [
            "email",
            "sms"
        ],
        "custom_attributes": {
            "target_point": "target_point"
        },
        "insurance": {
            "amount": "insurance_amount",
            "currency": "insurance_currency"
        },
        "cod": {
            "amount": "cod_amount",
            "currency": "cod_currency"
        },
        "parcels": [
            {
                "weight": {
                    "amount": "weight_amount",
                    "unit": "weight_unit"
                },
                "dimensions": {
                    "length": "length",
                    "width": "width",
                    "height": "height",
                    "unit": "unit"
                }
            }
        ],
        "receiver": {
            "name": "receiver_name",
            "first_name": "receiver_ first_name",
            "last_name": "receiver_last_name",
            "email": "receiver_email",
            "phone": "receiver_phone",
            "address": {
                "street": "receiver_address_street",
                "building_number": "receiver_address_building_number",
                "city": "receiver_address_city",
                "post_code": "receiver_address_post_code",
                "country_code": "receiver_address_country_code"
            }
        },
        "sender": {}
    },
    "xfile": [
        {
            "service": "inpost_locker_standard",
            "additional_services": [
                "",
                ""
            ],
            "custom_attributes": {
                "target_point": "A123"
            },
            "insurance": {
                "amount": "100",
                "currency": "PLN"
            },
            "cod": {
                "amount": "100",
                "currency": "PLN"
            },
            "parcels": [
                {
                    "weight": {
                        "amount": "30",
                        "unit": "kg"
                    },
                    "dimensions": {
                        "length": "2400",
                        "width": "2400",
                        "height": "3500",
                        "unit": "mm"
                    }
                }
            ],
            "receiver": {
                "name": "Jan",
                "first_name": "",
                "last_name": "Kowalski",
                "email": "jan@kowalski.pl",
                "phone": "123123123",
                "address": {
                    "street": "Zawiła",
                    "building_number": "65l",
                    "city": "Kraków",
                    "post_code": "30-333",
                    "country_code": "PL"
                }
            },
            "sender": {}
        },
        {
            "service": "inpost_locker_standard",
            "additional_services": [
                "",
                ""
            ],
            "custom_attributes": {
                "target_point": "A123"
            },
            "insurance": {
                "amount": "10",
                "currency": "PLN"
            },
            "cod": {
                "amount": "10",
                "currency": "PLN"
            },
            "parcels": [
                {
                    "weight": {
                        "amount": "25",
                        "unit": "kg"
                    },
                    "dimensions": {
                        "length": "2400",
                        "width": "2400",
                        "height": "3500",
                        "unit": "mm"
                    }
                }
            ],
            "receiver": {
                "name": "Marian",
                "first_name": "",
                "last_name": "Kowalski",
                "email": "marian@kowalski.pl",
                "phone": "123123123",
                "address": {
                    "street": "Rynek",
                    "building_number": "12",
                    "city": "Kraków",
                    "post_code": "30-333",
                    "country_code": "PL"
                }
            },
            "sender": {}
        }
    ],
    "form": {},
    "organization_id": 1,
    "created_at": "2017-07-17T11:34:04.375+02:00"
}