VIA-Connect - REST API » EntitySets » Catalogs » Catalogs Beispiele

Catalogs Beispiele

Zuletzt geändert von Thomas Hoffmann am 2012/10/10 15:00
Kommentare (0) · Anhänge (0) · Historie

Beispiel Katalogstruktur

  1. Hardware
    1. Festplatten
      1. SSD
      2. Zubehör
    2. Arbeitsspeicher
  2. Zubehör

Folgende Id wurden den Katalogen in unserem System vergeben:

NameId
Hardware1
Festplatten2
Arbeitsspeicher3
Zubehör4
SSD5

Root Katalog definieren

Ein sogenannter Root Katalog wird durch das Property IsRootLevel definiert.
Wird das Property IsRootLevel mit true übergeben, so ist es dieser Katalog für uns ein Root Katalog und wird als Katalog in der obersten Ebene angezeigt.
Ein Root Katalog kann aber gleichzeitig auch ein Unterkatalog eines anderen Root bzw. Unterkatalogs sein.

In dem Beispiel der Katalogstruktur ist Zubehör ein Root Katalog und gleichzeit ein Unterkatalog und besitzt im Fremdsystem die gleiche Id.

Request

Im unterem Beispiel werdem die Kataloge Hardware und Zubehör als Root Katalog definiert.

Request Methode


POST                    http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs

Request HTTP-Header


Content-Type:           application/atom+xml
SubscriptionToken:      g93af799-6ae8-e111-8406-0050568261dc
Cookie:                 .ASPXAUTH=0186587E1743637D35632A7EDAF4F07EA67C6E4577770C3778FD9C17904A9D85B01369A8198B23A9AF530DBE93A68687C219BE1876B16B 0DAEBBD2C3318CA6C99D9C53E5B9FE17B7CF9661C5CDDDB97B90D5D3AF550100227EC8D6E6858FAE986AF2302C337B8DFEC6099898C19AA335A81317AB2B382DE72586AA9DF830C715332215AEBFD5E2FBA45F2BB5A7CA9793; path=/; HttpOnly

Request Body


<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<entry xml:base="http://sandboxapi.via.de/publicapi/v1/api.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <content type="application/xml">
    <m:properties>
      <d:ForeignId>1</d:ForeignId>       
      <d:Name>Hardware</d:Name>
      <d:IsRootLevel>true</d:IsRootLevel>
    </m:properties>
  </content>
</entry>


<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xml:base="http://sandboxapi.via.de/PublicApi/v1/Api.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
 <id>http://sandboxapi.via.de/PublicApi/v1/Api.svc/Catalogs(1L)</id>
 <title type="text"></title>
 <updated>2012-10-10T12:48:38Z</updated>
 <author>
   <name />
 </author>
 <link rel="edit" title="Catalog" href="Catalogs(1L)" />
 <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Products" type="application/atom+xml;type=feed" title="Products" href="Catalogs(1L)/Products" />
 <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ChildCatalogs" type="application/atom+xml;type=feed" title="ChildCatalogs" href="Catalogs(1L)/ChildCatalogs" />
 <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ParentCatalogs" type="application/atom+xml;type=feed" title="ParentCatalogs" href="Catalogs(1L)/ParentCatalogs" />
 <category term="Via.BlackBox.Entities.Api.Catalog" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
 <content type="application/xml">
   <m:properties>
     <d:Id m:type="Edm.Int64">1</d:Id>
     <d:ForeignId>1</d:ForeignId>
     <d:Name>Hardware</d:Name>
     <d:IsRootLevel m:type="Edm.Boolean">true</d:IsRootLevel>
   </m:properties>
 </content>
</entry>

Request Body


<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<entry xml:base="http://sandboxapi.via.de/publicapi/v1/api.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <content type="application/xml">
    <m:properties>
      <d:ForeignId>4</d:ForeignId>       
      <d:Title>Zubehör</d:Name>
      <d:IsRootLevel>true</d:IsRootLevel>
    </m:properties>
  </content>
</entry>


<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xml:base="http://sandboxapi.via.de/PublicApi/v1/Api.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
 <id>http://sandboxapi.via.de/PublicApi/v1/Api.svc/Catalogs(4L)</id>
 <title type="text"></title>
 <updated>2012-10-10T12:48:38Z</updated>
 <author>
   <name />
 </author>
 <link rel="edit" title="Catalog" href="Catalogs(4L)" />
 <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Products" type="application/atom+xml;type=feed" title="Products" href="Catalogs(4L)/Products" />
 <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ChildCatalogs" type="application/atom+xml;type=feed" title="ChildCatalogs" href="Catalogs(4L)/ChildCatalogs" />
 <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ParentCatalogs" type="application/atom+xml;type=feed" title="ParentCatalogs" href="Catalogs(4L)/ParentCatalogs" />
 <category term="Via.BlackBox.Entities.Api.Catalog" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
 <content type="application/xml">
   <m:properties>
     <d:Id m:type="Edm.Int64">4</d:Id>
     <d:ForeignId>4</d:ForeignId>
     <d:Name>Zubehör</d:Name>
     <d:IsRootLevel m:type="Edm.Boolean">true</d:IsRootLevel>
   </m:properties>
 </content>
</entry>

Request HTTP-Header


Content-Type:           application/json
Accept:                 application/json
SubscriptionToken:      g93af799-6ae8-e111-8406-0050568261dc
Cookie:                 .ASPXAUTH=0186587E1743637D35632A7EDAF4F07EA67C6E4577770C3778FD9C17904A9D85B01369A8198B23A9AF530DBE93A68687C219BE1876B16B 0DAEBBD2C3318CA6C99D9C53E5B9FE17B7CF9661C5CDDDB97B90D5D3AF550100227EC8D6E6858FAE986AF2302C337B8DFEC6099898C19AA335A81317AB2B382DE72586AA9DF830C715332215AEBFD5E2FBA45F2BB5A7CA9793; path=/; HttpOnly

Request Body


{
"ForeignId" : "1",
"Name" : "Hardware",
"IsRootLevel" : "true"
}

Response Body


{
"d" : {
"__metadata" : {
"uri" : "http://sandboxapi.via.de/PublicApi/v1/Api.svc/Catalogs(1L)",
"type" : "Via.BlackBox.Entities.Api.Catalog"
},
"Id" : "1",
"ForeignId" : "1",
"Name" : "Hardware",
"IsRootLevel" : true,
"Products" : {
"__deferred" : {
"uri" : "http://sandboxapi.via.de/PublicApi/v1/Api.svc/Catalogs(1L)/Products"
}
},
"ChildCatalogs" : {
"__deferred" : {
"uri" : "http://sandboxapi.via.de/PublicApi/v1/Api.svc/Catalogs(1L)/ChildCatalogs"
}
},
"ParentCatalogs" : {
"__deferred" : {
"uri" : "http://sandboxapi.via.de/PublicApi/v1/Api.svc/Catalogs(1L)/ParentCatalogs"
}
}
}
}

Request Body



{
"ForeignId" : "4",
"Name" : "Zubehör",
"IsRootLevel" : "true"
}

Response Body


{
"d" : {
"__metadata" : {
"uri" : "http://sandboxapi.via.de/PublicApi/v1/Api.svc/Catalogs(4L)",
"type" : "Via.BlackBox.Entities.Api.Catalog"
},
"Id" : "4",
"ForeignId" : "4",
"Name" : "Zubehör",
"IsRootLevel" : true,
"Products" : {
"__deferred" : {
"uri" : "http://sandboxapi.via.de/PublicApi/v1/Api.svc/Catalogs(4L)/Products"
}
},
"ChildCatalogs" : {
"__deferred" : {
"uri" : "http://sandboxapi.via.de/PublicApi/v1/Api.svc/Catalogs(4L)/ChildCatalogs"
}
},
"ParentCatalogs" : {
"__deferred" : {
"uri" : "http://sandboxapi.via.de/PublicApi/v1/Api.svc/Catalogs(4L)/ParentCatalogs"
}
}
}
}

Response

Response HTTP-Header


Status Code:            201 Created
Cache-Control:          no-cache
Content-Length:         2154
Content-Type:           application/atom+xml;charset=utf-8
DataServiceVersion:     1.0;
...


Zuweisung von Unterkatalogen

Das Zuordnen eines Unterkataloges zu einem Oberkatalog erfolgt über den OData Operator $links.

Mit diesem Operator können sogenannte Links angelegt und gelöscht werden.

Request

Im unterem Beispiel werdem dem Katalog Hardware die Kataloge Festplatten und Arbeitsspeicher zugewiesen.

Request Methode


POST                    http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(1L)/$links/ChildCatalogs



Request HTTP-Header


Content-Type:           application/atom+xml
SubscriptionToken:      g93af799-6ae8-e111-8406-0050568261dc
Cookie:                 .ASPXAUTH=0186587E1743637D35632A7EDAF4F07EA67C6E4577770C3778FD9C17904A9D85B01369A8198B23A9AF530DBE93A68687C219BE1876B16B 0DAEBBD2C3318CA6C99D9C53E5B9FE17B7CF9661C5CDDDB97B90D5D3AF550100227EC8D6E6858FAE986AF2302C337B8DFEC6099898C19AA335A81317AB2B382DE72586AA9DF830C715332215AEBFD5E2FBA45F2BB5A7CA9793; path=/; HttpOnly

Request Body

Für den Katalog Festplatten mit der Id 2


<uri xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">
  http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(2L)
</uri>

Für den Katalog Arbeitsspeicher mit der Id 3


<uri xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">
  http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(3L)
</uri>


Im unterem Beispiel werdem dem Katalog Festplatten mit der Id 2 die Kataloge SSD mit der Id 5 und Zubehör mit der Id 4 zugewiesen.

Request Methode


POST                    http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(2L)/$links/ChildCatalogs

Request HTTP-Header


Content-Type:           application/atom+xml
SubscriptionToken:      g93af799-6ae8-e111-8406-0050568261dc
Cookie:                 .ASPXAUTH=0186587E1743637D35632A7EDAF4F07EA67C6E4577770C3778FD9C17904A9D85B01369A8198B23A9AF530DBE93A68687C219BE1876B16B 0DAEBBD2C3318CA6C99D9C53E5B9FE17B7CF9661C5CDDDB97B90D5D3AF550100227EC8D6E6858FAE986AF2302C337B8DFEC6099898C19AA335A81317AB2B382DE72586AA9DF830C715332215AEBFD5E2FBA45F2BB5A7CA9793; path=/; HttpOnly

Request Body

Für den Katalog Zubehör mit der Id 4


<uri xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">
  http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(4L)
</uri>

Für den Katalog SSD mit der Id 5


<uri xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">
  http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(5L)
</uri>



Request HTTP-Header


Content-Type:           application/json
Accept:                 application/json
SubscriptionToken:      g93af799-6ae8-e111-8406-0050568261dc
Cookie:                 .ASPXAUTH=0186587E1743637D35632A7EDAF4F07EA67C6E4577770C3778FD9C17904A9D85B01369A8198B23A9AF530DBE93A68687C219BE1876B16B 0DAEBBD2C3318CA6C99D9C53E5B9FE17B7CF9661C5CDDDB97B90D5D3AF550100227EC8D6E6858FAE986AF2302C337B8DFEC6099898C19AA335A81317AB2B382DE72586AA9DF830C715332215AEBFD5E2FBA45F2BB5A7CA9793; path=/; HttpOnly

Request Body

Für den Katalog Festplatten mit der Id 2


{
"uri" : "http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(2L)"
}

Für den Katalog Arbeitsspeicher mit der Id 3


{
"uri" : "http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(3L)"
}


Im unterem Beispiel werdem dem Katalog Festplatten mit der Id 2 die Kataloge SSD mit der Id 5 und Zubehör mit der Id 4 zugewiesen.

Request Methode


POST                    http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(2L)/$links/ChildCatalogs

Request HTTP-Header


Content-Type:           application/json
Accept:                 application/json
SubscriptionToken:      g93af799-6ae8-e111-8406-0050568261dc
Cookie:                 .ASPXAUTH=0186587E1743637D35632A7EDAF4F07EA67C6E4577770C3778FD9C17904A9D85B01369A8198B23A9AF530DBE93A68687C219BE1876B16B 0DAEBBD2C3318CA6C99D9C53E5B9FE17B7CF9661C5CDDDB97B90D5D3AF550100227EC8D6E6858FAE986AF2302C337B8DFEC6099898C19AA335A81317AB2B382DE72586AA9DF830C715332215AEBFD5E2FBA45F2BB5A7CA9793; path=/; HttpOnly

Request Body

Für den Katalog Zubehör mit der Id 4

{
"uri" : "http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(4L)"
}

Für den Katalog SSD mit der Id 5


{
"uri" : "http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(5L)"
}

Response

Response HTTP-Header


Status Code:            204 No Content
Cache-Control:          no-cache
DataServiceVersion:     1.0;
...


Katalogzuweisung zu einem Produkt erstellen

Das Zuordnen eines Produktes zu einem Katalog erfolgt über den OData Operator $links.

Mit diesem Operator können sogenannte Links angelegt und gelöscht werden.

Request

Im unteren Beispiel wird dem Katalog mit der Id 1 ein Produkt mit der Id 1 zugewiesen.

Request Methode


POST                    http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(1L)/$links/Products



Request HTTP-Header


Content-Type:           application/atom+xml
SubscriptionToken:      g93af799-6ae8-e111-8406-0050568261dc
Cookie:                 .ASPXAUTH=0186587E1743637D35632A7EDAF4F07EA67C6E4577770C3778FD9C17904A9D85B01369A8198B23A9AF530DBE93A68687C219BE1876B16B 0DAEBBD2C3318CA6C99D9C53E5B9FE17B7CF9661C5CDDDB97B90D5D3AF550100227EC8D6E6858FAE986AF2302C337B8DFEC6099898C19AA335A81317AB2B382DE72586AA9DF830C715332215AEBFD5E2FBA45F2BB5A7CA9793; path=/; HttpOnly

Request Body


<uri xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">
  http://sandboxapi.via.de/publicapi/v1/api.svc/Products(1L)
</uri>



Request HTTP-Header


Content-Type:           application/json
Accept:                 application/json
SubscriptionToken:      g93af799-6ae8-e111-8406-0050568261dc
Cookie:                 .ASPXAUTH=0186587E1743637D35632A7EDAF4F07EA67C6E4577770C3778FD9C17904A9D85B01369A8198B23A9AF530DBE93A68687C219BE1876B16B 0DAEBBD2C3318CA6C99D9C53E5B9FE17B7CF9661C5CDDDB97B90D5D3AF550100227EC8D6E6858FAE986AF2302C337B8DFEC6099898C19AA335A81317AB2B382DE72586AA9DF830C715332215AEBFD5E2FBA45F2BB5A7CA9793; path=/; HttpOnly

Request Body


{
"uri" : "http://sandboxapi.via.de/publicapi/v1/api.svc/Products(1L)"
}

Response

Response HTTP-Header


Status Code:            204 No Content
Cache-Control:          no-cache
DataServiceVersion:     1.0;
...

Katalogzuweisung von einem Produkt entfernen

Im unteren Beispiel das Produkt mit der Id 1 aus dem Katalog mit der Id 1 entfernt.

Request

Request Methode


DELETE                  http://sandboxapi.via.de/publicapi/v1/api.svc/Catalogs(1L)/$links/Products(1L)

Request HTTP-Header


SubscriptionToken:      g93af799-6ae8-e111-8406-0050568261dc
Cookie:                 .ASPXAUTH=0186587E1743637D35632A7EDAF4F07EA67C6E4577770C3778FD9C17904A9D85B01369A8198B23A9AF530DBE93A68687C219BE1876B16B 0DAEBBD2C3318CA6C99D9C53E5B9FE17B7CF9661C5CDDDB97B90D5D3AF550100227EC8D6E6858FAE986AF2302C337B8DFEC6099898C19AA335A81317AB2B382DE72586AA9DF830C715332215AEBFD5E2FBA45F2BB5A7CA9793; path=/; HttpOnly

Response

Response HTTP-Header


Status Code:            204 No Content
Cache-Control:          no-cache
DataServiceVersion:     1.0;
...


Tags:
Erstellt von Thomas Hoffmann am 2012/09/28 09:22

Copyright 2004-2023 XWiki