חשבון
מחזיר את חשבון הסוחר שמאחורי פרטי ההזדהות של הקריאה, עם כל רישיון שבבעלות החשבון מוטמע בתגובה — כולל חברת השילוח וההגדרות לכל ספק — כך שהחשבון וחברות השילוח שלו חוזרים בבקשה אחת.
GET /account
חשבון הסוחר המאומת. אימות: client credentials. רישיון: לא רלוונטי (מחזיר את כל רישיונות החשבון; אינו בוחר רישיון אחד).
פרמטרים
אין.
בקשה לדוגמה
bash
curl --location 'https://app.shipos.co.il/api/v2/account' \
--header 'X-Client-Id: {client_id}' \
--header 'X-Client-Secret: {client_secret}' \
--header 'Accept: application/json'js
// Node.js 18+ / דפדפנים — בלי תלויות
const response = await fetch('https://app.shipos.co.il/api/v2/account', {
headers: {
'X-Client-Id': process.env.SHIPOS_CLIENT_ID,
'X-Client-Secret': process.env.SHIPOS_CLIENT_SECRET,
Accept: 'application/json',
},
})
if (!response.ok) {
const { error } = await response.json()
throw new Error(`${error.code}: ${error.message}`)
}
const { data: account } = await response.json()
console.log(account.company_name)
for (const license of account.licenses) {
console.log(license.key, '→', license.company.carrier.name)
}php
<?php
// composer require guzzlehttp/guzzle
$client = new \GuzzleHttp\Client([
'base_uri' => 'https://app.shipos.co.il/api/v2/',
'headers' => [
'X-Client-Id' => getenv('SHIPOS_CLIENT_ID'),
'X-Client-Secret' => getenv('SHIPOS_CLIENT_SECRET'),
'Accept' => 'application/json',
],
]);
$account = json_decode(
$client->get('account')->getBody()->getContents(),
true,
)['data'];
echo $account['company_name'], PHP_EOL;
foreach ($account['licenses'] as $license) {
echo $license['key'], ' → ', $license['company']['carrier']['name'], PHP_EOL;
}php
<?php
use Illuminate\Support\Facades\Http;
$account = Http::withHeaders([
'X-Client-Id' => config('services.shipos.client_id'),
'X-Client-Secret' => config('services.shipos.client_secret'),
])
->acceptJson()
->get('https://app.shipos.co.il/api/v2/account')
->throw()
->json('data');
logger()->info($account['company_name']);
foreach ($account['licenses'] as $license) {
logger()->info($license['key'].' → '.$license['company']['carrier']['name']);
}python
# pip install httpx
import os
import httpx
response = httpx.get(
"https://app.shipos.co.il/api/v2/account",
headers={
"X-Client-Id": os.environ["SHIPOS_CLIENT_ID"],
"X-Client-Secret": os.environ["SHIPOS_CLIENT_SECRET"],
"Accept": "application/json",
},
)
response.raise_for_status()
account = response.json()["data"]
print(account["company_name"])
for lic in account["licenses"]:
print(lic["key"], "→", lic["company"]["carrier"]["name"])go
package main
import (
"encoding/json"
"fmt"
"net/http"
"os"
)
type accountResponse struct {
Data struct {
CompanyName string `json:"company_name"`
Licenses []struct {
Key string `json:"key"`
Company struct {
Carrier struct {
Name string `json:"name"`
} `json:"carrier"`
} `json:"company"`
} `json:"licenses"`
} `json:"data"`
}
func main() {
req, _ := http.NewRequest("GET", "https://app.shipos.co.il/api/v2/account", nil)
req.Header.Set("X-Client-Id", os.Getenv("SHIPOS_CLIENT_ID"))
req.Header.Set("X-Client-Secret", os.Getenv("SHIPOS_CLIENT_SECRET"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
var account accountResponse
if err := json.NewDecoder(res.Body).Decode(&account); err != nil {
panic(err)
}
fmt.Println(account.Data.CompanyName)
for _, license := range account.Data.Licenses {
fmt.Println(license.Key, "→", license.Company.Carrier.Name)
}
}java
// Java 17+ — java.net.http, בלי תלויות (פרסור עם Jackson/Gson)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ShipOsAccount {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://app.shipos.co.il/api/v2/account"))
.header("X-Client-Id", System.getenv("SHIPOS_CLIENT_ID"))
.header("X-Client-Secret", System.getenv("SHIPOS_CLIENT_SECRET"))
.header("Accept", "application/json")
.build();
HttpResponse<String> response =
client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() != 200) {
throw new RuntimeException("ShipOS error: " + response.body());
}
System.out.println(response.body()); // {"data":{...}} — map with Jackson/Gson
}
}csharp
// .NET 8+ — System.Net.Http.Json
using System.Net.Http.Json;
using System.Text.Json;
using var http = new HttpClient
{
BaseAddress = new Uri("https://app.shipos.co.il/api/v2/"),
};
http.DefaultRequestHeaders.Add("X-Client-Id",
Environment.GetEnvironmentVariable("SHIPOS_CLIENT_ID"));
http.DefaultRequestHeaders.Add("X-Client-Secret",
Environment.GetEnvironmentVariable("SHIPOS_CLIENT_SECRET"));
var payload = await http.GetFromJsonAsync<JsonDocument>("account")
?? throw new InvalidOperationException("Empty response");
var account = payload.RootElement.GetProperty("data");
Console.WriteLine(account.GetProperty("company_name").GetString());
foreach (var license in account.GetProperty("licenses").EnumerateArray())
{
var carrier = license.GetProperty("company").GetProperty("carrier");
Console.WriteLine(
$"{license.GetProperty("key").GetString()} → {carrier.GetProperty("name").GetString()}");
}ruby
require "net/http"
require "json"
uri = URI("https://app.shipos.co.il/api/v2/account")
request = Net::HTTP::Get.new(uri)
request["X-Client-Id"] = ENV.fetch("SHIPOS_CLIENT_ID")
request["X-Client-Secret"] = ENV.fetch("SHIPOS_CLIENT_SECRET")
request["Accept"] = "application/json"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
raise "ShipOS error: #{response.body}" unless response.is_a?(Net::HTTPSuccess)
account = JSON.parse(response.body).fetch("data")
puts account["company_name"]
account["licenses"].each do |license|
puts "#{license["key"]} → #{license.dig("company", "carrier", "name")}"
endrust
// [dependencies]
// reqwest = { version = "0.12", features = ["json"] }
// tokio = { version = "1", features = ["full"] }
// serde_json = "1"
use serde_json::Value;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let payload: Value = reqwest::Client::new()
.get("https://app.shipos.co.il/api/v2/account")
.header("X-Client-Id", std::env::var("SHIPOS_CLIENT_ID")?)
.header("X-Client-Secret", std::env::var("SHIPOS_CLIENT_SECRET")?)
.header("Accept", "application/json")
.send()
.await?
.error_for_status()?
.json()
.await?;
let account = &payload["data"];
println!("{}", account["company_name"]);
if let Some(licenses) = account["licenses"].as_array() {
for license in licenses {
println!(
"{} → {}",
license["key"], license["company"]["carrier"]["name"]
);
}
}
Ok(())
}תגובה 200
json
{
"data": {
"id": 1028,
"name": "ישראל ישראלי",
"email": "israel@example.co.il",
"phone": "0501234567",
"locale": "he",
"company_name": "דפני הייר",
"company_logo": "https://app.shipos.co.il/storage/logos/dafni.png",
"support_email": "support@example.co.il",
"support_phone": "037654321",
"trackerPage_contact_info": { "whatsapp": "0501234567" },
"enable_api": 1,
"can_use_collection_points": true,
"enable_sort_by_warehouse": 0,
"display_order_product": 1,
"display_product_price_in_order_detail": 0,
"display_order_number_barcode": 1,
"label_method": "pdf",
"label_type": "a4",
"licenses": [
{
"id": 640,
"key": "9f2c1a7e-...",
"name": "HFD ראשי",
"company": {
"id": 12,
"name": "HFD ישראל",
"carrier": { "id": 3, "name": "HFD" }
},
"commitment_day": 2,
"multiple_shipment": true,
"is_active": 1,
"is_expired": false,
"expires_at": "2027-01-01T00:00:00.000000Z",
"settings": [
{
"id": 810,
"provider_id": 3,
"settings": {
"username": "shipos_dafni",
"client_code": "14641"
},
"collect_street": "הרצל",
"collect_street_number": "45",
"collect_city": "תל אביב",
"collect_company": "דפני הייר",
"print_products": 1,
"print_variations": 0,
"print_customer_detail_sku_and_quantity_bold_in_label": 0,
"print_products_on_label_notes": 1,
"print_products_on_a4_label_notes": 0,
"print_products_name": 1,
"print_products_sku": 0,
"print_virtual_product_on_note": 0,
"enable_cod": 1,
"label_method": "pdf",
"label_type": "a4",
"separate_street_and_number": 1,
"get_street_number_with_suffix": 0,
"display_shipping_line_number": 1,
"order_prefix": "DFN-",
"send_note_on_order": 1,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-07-01T00:00:00.000000Z"
}
]
}
]
}
}שדות תגובה
חשבון (רמה עליונה)
| שדה | סוג | תיאור |
|---|---|---|
id | int | מזהה חשבון הסוחר. |
name | string | שם בעל החשבון. |
email | string | אימייל התחברות. |
phone | string | טלפון ליצירת קשר. |
locale | string | שפת הממשק. |
company_name | string | שם חברת הסוחר. |
company_logo | string | כתובת URL מוחלטת של הלוגו. |
support_email | string | אימייל התמיכה המוצג בעמוד המעקב. |
support_phone | string | טלפון התמיכה המוצג בעמוד המעקב. |
trackerPage_contact_info | object | null | JSON מפוענח של פרטי הקשר בעמוד המעקב. |
enable_api | int/bool | האם גישת ה-API מופעלת. |
can_use_collection_points | bool | האם נקודות איסוף זמינות. |
enable_sort_by_warehouse | int/bool | דגל מיון לפי מחסן. |
display_order_product | int/bool | דגל הצגת מוצרי הזמנה. |
display_product_price_in_order_detail | int/bool | הצגת מחיר מוצר בפירוט ההזמנה. |
display_order_number_barcode | int/bool | הצגת ברקוד של מספר ההזמנה. |
label_method | string | שיטת תווית ברירת מחדל ברמת החשבון. |
label_type | string | סוג תווית ברירת מחדל ברמת החשבון. |
licenses | array | רישיונות החשבון (ראו בהמשך). |
רישיון (licenses[])
| שדה | סוג | תיאור |
|---|---|---|
id | int | מזהה הרישיון. |
key | string | ה-key של הרישיון — לשימוש כבורר license_key. |
name | string | שם התצוגה של הרישיון. |
company | object | חברת השליחויות (ראו בהמשך). |
commitment_day | int | הגדרת יום ההתחייבות של חברת השילוח. |
multiple_shipment | bool | האם מותרים משלוחים מרובים להזמנה. |
is_active | int/bool | האם הרישיון פעיל. |
is_expired | bool | האם תוקף הרישיון פג. |
expires_at | string | null | חותמת זמן של פקיעת התוקף. |
settings | array | שורות הגדרות לכל ספק (ראו בהמשך). |
חברה (licenses[].company)
| שדה | סוג | תיאור |
|---|---|---|
id | int | מזהה החברה. |
name | string | שם החברה. |
carrier | object | חברת השילוח (Provider): id, name. |
הגדרות רישיון (licenses[].settings[])
| שדה | סוג | תיאור |
|---|---|---|
id | int | מזהה שורת ההגדרות. |
provider_id | int | הספק שאליו שייכת שורת ההגדרות. |
settings | object | JSON גולמי של הגדרות הספק. ערכי null / מחרוזת ריקה / מערך ריק מקוצצים רקורסיבית; ערכים בוליאניים (כולל false) ו-0 נשמרים. |
collect_street | string | null | רחוב של כתובת האיסוף. |
collect_street_number | string | null | מספר רחוב של כתובת האיסוף. |
collect_city | string | null | עיר של כתובת האיסוף. |
collect_company | string | null | שם החברה בכתובת האיסוף. |
print_products | int/bool | הדפסת מוצרים על התווית. |
print_variations | int/bool | הדפסת וריאציות מוצר. |
print_customer_detail_sku_and_quantity_bold_in_label | int/bool | מק"ט + כמות מודגשים על התווית. |
print_products_on_label_notes | int/bool | הדפסת מוצרים בהערות התווית. |
print_products_on_a4_label_notes | int/bool | הדפסת מוצרים בהערות תווית A4. |
print_products_name | int/bool | הדפסת שמות מוצרים. |
print_products_sku | int/bool | הדפסת מק"טים של מוצרים. |
print_virtual_product_on_note | int/bool | הדפסת מוצרים וירטואליים בהערה. |
enable_cod | int/bool | תשלום במזומן במסירה (COD) מופעל. |
label_method | string | שיטת התווית לרישיון זה. |
label_type | string | סוג התווית לרישיון זה. |
separate_street_and_number | int/bool | הפרדת רחוב ומספר. |
get_street_number_with_suffix | int/bool | הכללת סיומת במספר הרחוב. |
display_shipping_line_number | int/bool | הצגת מספר שורת המשלוח. |
order_prefix | string | null | קידומת מספר הזמנה. |
send_note_on_order | int/bool | שליחת הערה על ההזמנה. |
created_at | string | חותמת זמן יצירת השורה. |
updated_at | string | חותמת זמן עדכון השורה. |
אזהרה — פרטי הזדהות בתוך settings
אובייקט ה-settings מכיל את תצורת הספק הגולמית, שעשויה לכלול פרטי הזדהות של חברת השילוח (username, password, token, api_key, client_code ודומיהם). התייחסו לתגובת GET /account כאל מידע רגיש.
שגיאות
| סטטוס | קוד | מתי |
|---|---|---|
| 401 | unauthenticated | פרטי הזדהות (client credentials) חסרים או שגויים. |