Sürümlü API v1 referansı

Sürümlü API v1 uçlarının kimlik, parametre, istek ve yanıt sözleşmeleri.

Son güncelleme:

Bu sayfadaGET /api/v1/openapi.jsonGET /api/v1/docsGET /api/v1/meGET /api/v1/projectsGET /api/v1/projects/{pid}GET /api/v1/projects/{pid}/featuresGET /api/v1/projects/{pid}/features/{fid}GET /api/v1/projects/{pid}/equipmentGET /api/v1/projects/{pid}/connectionsGET /api/v1/projects/{pid}/circuitsGET /api/v1/projects/{pid}/changesPOST /api/v1/projects/{pid}/edit

Yol, yöntem, parametre ve mevcut şemalar depodaki OpenAPI çıktısından üretilir.

OpenAPI tanımını indirin · Postman koleksiyonunu indirin · Hızlı başlangıç

GET /api/v1/openapi.json

v1 OpenAPI şeması

Kurulumun yalnız v1 uçlarını içeren OpenAPI belgesini indirin.

Kimlik: Kimlik gerekmez Kapsam: Yok

Yanıtlar

HTTP 200

application/json

AlanTürZorunluAçıklama
openapistringEvet
infoobjectEvet
pathsobjectEvet
componentsobjectHayır

Hata yanıtlarının anlamı ve istemci davranışları için hata kodları sözlüğünü inceleyin.

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/openapi.json"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/openapi.json',
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/openapi.json`, {
  method: "GET",
  headers: {},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

{
  "openapi": "3.1.0",
  "info": {
    "title": "SoSoMaps API",
    "version": "1"
  },
  "paths": {}
}

GET /api/v1/docs

v1 kullanım belgesi

Kurulumun v1 kullanım belgesini HTML olarak okuyun.

Kimlik: Kimlik gerekmez Kapsam: Yok

Yanıtlar

HTTP 200

text/html

Tür: string.

{
  "type": "string"
}

Hata yanıtlarının anlamı ve istemci davranışları için hata kodları sözlüğünü inceleyin.

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/docs"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/docs',
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/docs`, {
  method: "GET",
  headers: {},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

<!doctype html><html lang="tr">…</html>

GET /api/v1/me

Anahtarın kimliği

Kullanıcı kimliğini ve kullanılan anahtarın güvenli üst verisini okuyun; yanıt anahtar sırrını içermez.

Kimlik: Authorization: Bearer ERISIM_ANAHTARI Kapsam: oku; güncel kullanıcı yetkisi ve anahtarın proje kapsamı

Yanıtlar

HTTP 200

application/json

AlanTürZorunluAçıklama
userobjectEvet
anahtarobjectEvet

Hata davranışı

[
  "401 anahtar",
  "403 yetki/kapsam",
  "404 bulunamadi",
  "429 sinir"
]

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/me" -H "Authorization: Bearer $ERISIM_ANAHTARI"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/me',
    headers={"Authorization": "Bearer " + os.environ["ERISIM_ANAHTARI"]},
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/me`, {
  method: "GET",
  headers: {"Authorization": `Bearer ${ERISIM_ANAHTARI}`},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

{
  "user": {
    "id": 42,
    "username": "ornek-kullanici",
    "full_name": "Örnek Kullanıcı",
    "org_id": 7
  },
  "anahtar": {
    "id": 9,
    "ad": "Envanter okuma",
    "kapsam": [
      "oku"
    ],
    "proje_ids": [
      123
    ],
    "bitis_at": null
  }
}

GET /api/v1/projects

Erişilebilir projeler

Anahtarın proje kapsamı ile sahibinin güncel erişiminin kesişimindeki ana projeleri okuyun. Yanıt doğrudan dizidir.

Kimlik: Authorization: Bearer ERISIM_ANAHTARI Kapsam: oku; güncel kullanıcı yetkisi ve anahtarın proje kapsamı

Yanıtlar

HTTP 200

application/json

Tür: dizi.

AlanTürZorunluAçıklama
idintegerEvet
org_idintegerEvet
namestringEvet
descriptionstring | nullEvet
archivedbooleanEvet
modulesstring[]Evet
updated_atstringEvet
erisimstringEvet

Hata davranışı

[
  "401 anahtar",
  "403 yetki/kapsam",
  "404 bulunamadi",
  "429 sinir"
]

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/projects" -H "Authorization: Bearer $ERISIM_ANAHTARI"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/projects',
    headers={"Authorization": "Bearer " + os.environ["ERISIM_ANAHTARI"]},
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/projects`, {
  method: "GET",
  headers: {"Authorization": `Bearer ${ERISIM_ANAHTARI}`},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

[
  {
    "id": 123,
    "org_id": 7,
    "name": "Örnek fiber projesi",
    "description": "Eğitim kaydı",
    "archived": false,
    "modules": [
      "saha",
      "fiber"
    ],
    "updated_at": "2026-11-10T09:00:00+00:00",
    "erisim": "kurum"
  }
]

GET /api/v1/projects/{pid}

Proje bilgisi

Proje üst verisini ve görünür türlere göre nesne sayılarını okuyun.

Kimlik: Authorization: Bearer ERISIM_ANAHTARI Kapsam: oku; güncel kullanıcı yetkisi ve anahtarın proje kapsamı

Parametreler

AdYerTürZorunlu
pidyolintegerEvet

Yanıtlar

HTTP 200

application/json

AlanTürZorunluAçıklama
idintegerEvet
org_idintegerEvet
namestringEvet
descriptionstring | nullEvet
archivedbooleanEvet
modulesstring[]Evet
updated_atstringEvet
erisimstringEvet
countsobjectEvet

HTTP 422

application/json

AlanTürZorunluAçıklama
detailValidationError[]Hayır

Hata davranışı

[
  "401 anahtar",
  "403 yetki/kapsam",
  "404 bulunamadi",
  "429 sinir"
]

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/projects/1" -H "Authorization: Bearer $ERISIM_ANAHTARI"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/projects/1',
    headers={"Authorization": "Bearer " + os.environ["ERISIM_ANAHTARI"]},
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/projects/1`, {
  method: "GET",
  headers: {"Authorization": `Bearer ${ERISIM_ANAHTARI}`},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

{
  "id": 123,
  "org_id": 7,
  "name": "Örnek fiber projesi",
  "description": "Eğitim kaydı",
  "archived": false,
  "modules": [
    "saha",
    "fiber"
  ],
  "updated_at": "2026-11-10T09:00:00+00:00",
  "erisim": "kurum",
  "counts": {
    "cabinet": {
      "n": 1,
      "len": 0
    }
  }
}

GET /api/v1/projects/{pid}/features

Proje nesneleri

Görünür ve silinmemiş nesneleri GeoJSON olarak okuyun. İlk sayfanın cursor değerini değişiklik takibi için saklayın.

Kimlik: Authorization: Bearer ERISIM_ANAHTARI Kapsam: oku; güncel kullanıcı yetkisi ve anahtarın proje kapsamı

Parametreler

AdYerTürZorunlu
pidyolintegerEvet
typesorgustring | nullHayır
bboxsorgustring | nullHayır
aftersorgustringHayır
limitsorguintegerHayır

Yanıtlar

HTTP 200

application/json

AlanTürZorunluAçıklama
typestringEvet İzin verilen değerler: FeatureCollection
featuresobject[]Evet
nextstring | nullEvet
cursorintegerEvet

HTTP 422

application/json

AlanTürZorunluAçıklama
detailValidationError[]Hayır

Hata davranışı

[
  "401 anahtar",
  "403 yetki/kapsam",
  "404 bulunamadi",
  "429 sinir"
]

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/projects/1/features" -H "Authorization: Bearer $ERISIM_ANAHTARI"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/projects/1/features',
    headers={"Authorization": "Bearer " + os.environ["ERISIM_ANAHTARI"]},
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/projects/1/features`, {
  method: "GET",
  headers: {"Authorization": `Bearer ${ERISIM_ANAHTARI}`},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "DOL-123",
      "geometry": {
        "type": "Point",
        "coordinates": [
          32.0,
          39.0
        ]
      },
      "properties": {
        "name": "Örnek dolap",
        "status": "planned",
        "id": "DOL-123",
        "type": "cabinet",
        "v": 1
      }
    }
  ],
  "next": null,
  "cursor": 25
}

GET /api/v1/projects/{pid}/features/{fid}

Tek nesne

Tek bir görünür nesneyi okuyun. Kayıt sürümü properties.v alanındadır.

Kimlik: Authorization: Bearer ERISIM_ANAHTARI Kapsam: oku; güncel kullanıcı yetkisi ve anahtarın proje kapsamı

Parametreler

AdYerTürZorunlu
pidyolintegerEvet
fidyolstringEvet

Yanıtlar

HTTP 200

application/json

AlanTürZorunluAçıklama
typestringEvet İzin verilen değerler: Feature
idstringEvet
geometryobjectEvetNesne türüne uygun GeoJSON geometri.
propertiesobjectEvet

HTTP 422

application/json

AlanTürZorunluAçıklama
detailValidationError[]Hayır

Hata davranışı

[
  "401 anahtar",
  "403 yetki/kapsam",
  "404 bulunamadi",
  "429 sinir"
]

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/projects/1/features/ORNEK_KIMLIK" -H "Authorization: Bearer $ERISIM_ANAHTARI"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/projects/1/features/ORNEK_KIMLIK',
    headers={"Authorization": "Bearer " + os.environ["ERISIM_ANAHTARI"]},
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/projects/1/features/ORNEK_KIMLIK`, {
  method: "GET",
  headers: {"Authorization": `Bearer ${ERISIM_ANAHTARI}`},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

{
  "type": "Feature",
  "id": "DOL-123",
  "geometry": {
    "type": "Point",
    "coordinates": [
      32.0,
      39.0
    ]
  },
  "properties": {
    "name": "Örnek dolap",
    "status": "planned",
    "id": "DOL-123",
    "type": "cabinet",
    "v": 1
  }
}

GET /api/v1/projects/{pid}/equipment

Fiber cihazları

Cihazları kimlik sırasıyla sayfalayın; node_id ile belirli düğümü seçebilirsiniz.

Kimlik: Authorization: Bearer ERISIM_ANAHTARI Kapsam: oku; güncel kullanıcı yetkisi ve anahtarın proje kapsamı

Parametreler

AdYerTürZorunlu
pidyolintegerEvet
node_idsorgustring | nullHayır
aftersorgustringHayır
limitsorguintegerHayır

Yanıtlar

HTTP 200

application/json

AlanTürZorunluAçıklama
itemsobject[]Evet
nextstring | nullEvet

HTTP 422

application/json

AlanTürZorunluAçıklama
detailValidationError[]Hayır

Hata davranışı

[
  "401 anahtar",
  "403 yetki/kapsam",
  "404 bulunamadi",
  "429 sinir"
]

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/projects/1/equipment" -H "Authorization: Bearer $ERISIM_ANAHTARI"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/projects/1/equipment',
    headers={"Authorization": "Bearer " + os.environ["ERISIM_ANAHTARI"]},
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/projects/1/equipment`, {
  method: "GET",
  headers: {"Authorization": `Bearer ${ERISIM_ANAHTARI}`},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

{
  "items": [
    {
      "id": "E-123",
      "node_id": "DOL-123",
      "kind": "odf",
      "version": 1,
      "deleted": false,
      "parent_id": null,
      "props": {
        "ports": 24,
        "label": "Örnek panel"
      }
    }
  ],
  "next": null
}

GET /api/v1/projects/{pid}/connections

Fiber bağlantıları

Bağlantı kayıtlarının üst verisini sayfalayın. Bu okuma yanıtı uçların a ve b ayrıntılarını içermez.

Kimlik: Authorization: Bearer ERISIM_ANAHTARI Kapsam: oku; güncel kullanıcı yetkisi ve anahtarın proje kapsamı

Parametreler

AdYerTürZorunlu
pidyolintegerEvet
node_idsorgustring | nullHayır
aftersorgustringHayır
limitsorguintegerHayır

Yanıtlar

HTTP 200

application/json

AlanTürZorunluAçıklama
itemsobject[]Evet
nextstring | nullEvet

HTTP 422

application/json

AlanTürZorunluAçıklama
detailValidationError[]Hayır

Hata davranışı

[
  "401 anahtar",
  "403 yetki/kapsam",
  "404 bulunamadi",
  "429 sinir"
]

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/projects/1/connections" -H "Authorization: Bearer $ERISIM_ANAHTARI"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/projects/1/connections',
    headers={"Authorization": "Bearer " + os.environ["ERISIM_ANAHTARI"]},
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/projects/1/connections`, {
  method: "GET",
  headers: {"Authorization": `Bearer ${ERISIM_ANAHTARI}`},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

{
  "items": [
    {
      "id": "C-123",
      "node_id": "DOL-123",
      "version": 1,
      "deleted": false,
      "location_id": null,
      "slot": null,
      "props": {
        "kind": "splice"
      }
    }
  ],
  "next": null
}

GET /api/v1/projects/{pid}/circuits

Fiber devreleri

Teknik devreleri sayfalayın. Adres modülü kapalı olduğunda ilgili teknik uç bilgisi görünürlük kurallarına göre süzülür.

Kimlik: Authorization: Bearer ERISIM_ANAHTARI Kapsam: oku; güncel kullanıcı yetkisi ve anahtarın proje kapsamı

Parametreler

AdYerTürZorunlu
pidyolintegerEvet
aftersorgustringHayır
limitsorguintegerHayır

Yanıtlar

HTTP 200

application/json

AlanTürZorunluAçıklama
itemsobject[]Evet
nextstring | nullEvet

HTTP 422

application/json

AlanTürZorunluAçıklama
detailValidationError[]Hayır

Hata davranışı

[
  "401 anahtar",
  "403 yetki/kapsam",
  "404 bulunamadi",
  "429 sinir"
]

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/projects/1/circuits" -H "Authorization: Bearer $ERISIM_ANAHTARI"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/projects/1/circuits',
    headers={"Authorization": "Bearer " + os.environ["ERISIM_ANAHTARI"]},
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/projects/1/circuits`, {
  method: "GET",
  headers: {"Authorization": `Bearer ${ERISIM_ANAHTARI}`},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

{
  "items": [],
  "next": null
}

GET /api/v1/projects/{pid}/changes

Proje değişiklik akışı

Değişiklikleri artan sayısal kimlikle okuyun. Başarıyla uygulanan son kimliği after olarak saklayın.

Kimlik: Authorization: Bearer ERISIM_ANAHTARI Kapsam: oku; güncel kullanıcı yetkisi ve anahtarın proje kapsamı

Parametreler

AdYerTürZorunlu
pidyolintegerEvet
aftersorguintegerHayır
limitsorguintegerHayır

Yanıtlar

HTTP 200

application/json

AlanTürZorunluAçıklama
itemsobject[]Evet
nextinteger | nullEvet

HTTP 422

application/json

AlanTürZorunluAçıklama
detailValidationError[]Hayır

Hata davranışı

[
  "401 anahtar",
  "403 yetki/kapsam",
  "404 bulunamadi",
  "429 sinir"
]

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X GET "$TEMEL_URL/api/v1/projects/1/changes" -H "Authorization: Bearer $ERISIM_ANAHTARI"
import os
import requests

response = requests.request(
    'GET',
    os.environ["TEMEL_URL"] + '/api/v1/projects/1/changes',
    headers={"Authorization": "Bearer " + os.environ["ERISIM_ANAHTARI"]},
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/projects/1/changes`, {
  method: "GET",
  headers: {"Authorization": `Bearer ${ERISIM_ANAHTARI}`},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

{
  "items": [],
  "next": null
}

POST /api/v1/projects/{pid}/edit

Projeyi düzenle

İşlemleri birlikte uygulayın. request_id zorunludur; güncelleme ve silmede okuduğunuz kayıt sürümünü version ile gönderin.

Kimlik: Authorization: Bearer ERISIM_ANAHTARI Kapsam: oku ve yaz; güncel proje, bölge, modül ve lisans izinleri

Parametreler

AdYerTürZorunlu
pidyolintegerEvet

İstek gövdesi

application/json

AlanTürZorunluAçıklama
opsOp[]Evet
notestring | nullHayır
request_idstring | nullHayır

Yanıtlar

HTTP 200

application/json

AlanTürZorunluAçıklama
okbooleanEvet
batchstringEvet
idsstring | null[]Evet
tmpobjectEvet
featuresobject[]Evet
replayedbooleanHayır
equipmentobjectHayır
connectionsobjectHayır
fiber_itemsobjectHayır
circuitsobjectHayır
optik_itemsobjectHayır
uyarilarnesne[]Hayır

HTTP 422

application/json

AlanTürZorunluAçıklama
detailValidationError[]Hayır

Hata davranışı

[
  "400 alan",
  "401 anahtar",
  "403 kapsam/yetki/lisans_salt_okunur",
  "404 bulunamadi",
  "409 hata",
  "422 hata",
  "429 sinir"
]

İstek örneği

TEMEL_URL kurulum adresinizi, ERISIM_ANAHTARI sakladığınız anahtarı temsil eder. Kimlikleri kendi kayıtlarınızla değiştirin.

curl --fail-with-body -X POST "$TEMEL_URL/api/v1/projects/1/edit" -H "Authorization: Bearer $ERISIM_ANAHTARI" -H 'Content-Type: application/json' --data '{"request_id":"ornek-duzenleme-20261110-01","note":"Örnek nokta kaydı","ops":[{"op":"create","entity":"feature","id":"gecici-dolap","type":"cabinet","geometry":{"type":"Point","coordinates":[32.0,39.0]},"props":{"name":"Örnek dolap","status":"planned"}}]}'
import os
import requests

response = requests.request(
    'POST',
    os.environ["TEMEL_URL"] + '/api/v1/projects/1/edit',
    headers={"Authorization": "Bearer " + os.environ["ERISIM_ANAHTARI"]},
    json={'request_id': 'ornek-duzenleme-20261110-01', 'note': 'Örnek nokta kaydı', 'ops': [{'op': 'create', 'entity': 'feature', 'id': 'gecici-dolap', 'type': 'cabinet', 'geometry': {'type': 'Point', 'coordinates': [32.0, 39.0]}, 'props': {'name': 'Örnek dolap', 'status': 'planned'}}]},
    timeout=30,
)
response.raise_for_status()
print(response.text)
const response = await fetch(`${TEMEL_URL}/api/v1/projects/1/edit`, {
  method: "POST",
  headers: {"Authorization": `Bearer ${ERISIM_ANAHTARI}`, "Content-Type": "application/json"},
  body: JSON.stringify({"request_id": "ornek-duzenleme-20261110-01", "note": "Örnek nokta kaydı", "ops": [{"op": "create", "entity": "feature", "id": "gecici-dolap", "type": "cabinet", "geometry": {"type": "Point", "coordinates": [32.0, 39.0]}, "props": {"name": "Örnek dolap", "status": "planned"}}]}),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());

Temsili yanıt

Alanlar ürün kodundan doğrulanmıştır; bu örnek canlı kurulum yanıtı değildir.

{
  "ok": true,
  "batch": "ornek-islem",
  "ids": [
    "DOL-123"
  ],
  "tmp": {
    "gecici-dolap": "DOL-123"
  },
  "features": [
    {
      "type": "Feature",
      "id": "DOL-123",
      "geometry": {
        "type": "Point",
        "coordinates": [
          32.0,
          39.0
        ]
      },
      "properties": {
        "name": "Örnek dolap",
        "status": "planned",
        "id": "DOL-123",
        "type": "cabinet",
        "v": 1,
        "_deleted": false
      }
    }
  ]
}