Werking van basis API's in Sherpa

Werking van basis API's in Sherpa


Hieronder staan enkele van de meest gebruikte Sherpa web methodes beschreven.

Via support@sherpaan.nl kun je de API url opvragen voor jullie Sherpa omgeving.
Ook kun je daar je daar het security token opvragen, welke je bij elke call moet mee geven.

Het aanmaken van orders, customers en items.

Voor het aanamaken van orders, customers en items hebben we 1 endpoint: GetResponse.
De werking van deze endpoint staat hier beschreven: https://download.sherpaan.nl/files/Communication_Specifications.pdf 

ChangedOrders

Met deze methode krijg je een X aantal orders terug welke zijn gewijzigd na token Y.
Bij de eerste aanvraag geef je het token 0 mee, waarna je in elke ResponseValue een nieuw token krijgt.

Vervolgens roep je de methode opnieuw aan (met het hoogste token wat je hebt terug gekregen) net zolang tot je geen resultaten meer krijgt.
Vanaf dat moment kun je de methode elke minuut aanroepen en zo alle orders in sync houden met een eigen systeem.

Request:
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <ChangedOrders xmlns="http://sherpa.sherpaan.nl/">
      <securityCode>string</securityCode>
      <token>long</token>
      <count>int</count>
    </ChangedOrders>
  </soap12:Body>
</soap12:Envelope>


Response:
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <ChangedOrdersResponse xmlns="http://sherpa.sherpaan.nl/">
      <ChangedOrdersResult>
        <ResponseTime>int</ResponseTime>
        <ResponseValue>
          <OrderNumberToken>
            <OrderNumber>string</OrderNumber>
            <Token>long</Token>
            <OrderStatus>BackOrder or Created or PicklistPrinted or Processed or Invoiced or Cancelled or OnHold or WaitingForPayment</OrderStatus>
            <WarehouseCode>string</WarehouseCode>
          </OrderNumberToken>
          <OrderNumberToken>
            <OrderNumber>string</OrderNumber>
            <Token>long</Token>
            <OrderStatus>BackOrder or Created or PicklistPrinted or Processed or Invoiced or Cancelled or OnHold or WaitingForPayment</OrderStatus>
            <WarehouseCode>string</WarehouseCode>
          </OrderNumberToken>
        </ResponseValue>
      </ChangedOrdersResult>
    </ChangedOrdersResponse>
  </soap12:Body>
</soap12:Envelope>

ChangedItems

Met deze methode krijg je een X aantal items terug welke zijn gewijzigd na token Y.
Bij de eerste aanvraag geef je het token 0 mee, waarna je in elke ResponseValue een nieuw token krijgt.

Vervolgens roep je de methode opnieuw aan (met het hoogste token wat je hebt terug gekregen) net zolang tot je geen resultaten meer krijgt.
Vanaf dat moment kun je de methode elke minuut aanroepen en zo alle items in sync houden met een eigen systeem.

Request:
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <ChangedItems xmlns="http://sherpa.sherpaan.nl/">
      <securityCode>string</securityCode>
      <token>long</token>
    </ChangedItems>
  </soap12:Body>
</soap12:Envelope>

Response:
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <ChangedItemsResponse xmlns="http://sherpa.sherpaan.nl/">
      <ChangedItemsResult>
        <ResponseTime>int</ResponseTime>
        <ResponseValue>
          <ItemCodeToken>
            <ItemCode>string</ItemCode>
            <Token>long</Token>
            <ItemStatus>Active or EndOfLife or EndOfSale or Passive</ItemStatus>
          </ItemCodeToken>
          <ItemCodeToken>
            <ItemCode>string</ItemCode>
            <Token>long</Token>
            <ItemStatus>Active or EndOfLife or EndOfSale or Passive</ItemStatus>
          </ItemCodeToken>
        </ResponseValue>
      </ChangedItemsResult>
    </ChangedItemsResponse>
  </soap12:Body>
</soap12:Envelope>


ChangedStock

Met deze methode krijg je een X aantal items terug welke zijn gewijzigd na token Y.
Bij de eerste aanvraag geef je het token 0 mee, waarna je in elke ResponseValue een nieuw token krijgt.

Vervolgens roep je de methode opnieuw aan (met het hoogste token wat je hebt terug gekregen) net zolang tot je geen resultaten meer krijgt.
Vanaf dat moment kun je de methode elke minuut aanroepen en zo alle items in sync houden met een eigen systeem.

Request:
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <ChangedStock xmlns="http://sherpa.sherpaan.nl/">
      <securityCode>string</securityCode>
      <token>long</token>
      <maxResult>int</maxResult>
    </ChangedStock>
  </soap12:Body>
</soap12:Envelope>

Response:
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <ChangedStockResponse xmlns="http://sherpa.sherpaan.nl/">
      <ChangedStockResult>
        <ResponseTime>int</ResponseTime>
        <ResponseValue>
          <ItemStockToken>
            <Token>long</Token>
            <ExpectedDate>dateTime</ExpectedDate>
            <QtyWaitingToReceive>int</QtyWaitingToReceive>
            <FirstExpectedDate>dateTime</FirstExpectedDate>
            <FirstExpectedQtyWaitingToReceive>int</FirstExpectedQtyWaitingToReceive>
            <LastModified>dateTime</LastModified>
            <AvgPurchasePrice>decimal</AvgPurchasePrice>
            <WarehouseCode>string</WarehouseCode>
            <CostPrice>decimal</CostPrice>
          </ItemStockToken>
          <ItemStockToken>
            <Token>long</Token>
            <ExpectedDate>dateTime</ExpectedDate>
            <QtyWaitingToReceive>int</QtyWaitingToReceive>
            <FirstExpectedDate>dateTime</FirstExpectedDate>
            <FirstExpectedQtyWaitingToReceive>int</FirstExpectedQtyWaitingToReceive>
            <LastModified>dateTime</LastModified>
            <AvgPurchasePrice>decimal</AvgPurchasePrice>
            <WarehouseCode>string</WarehouseCode>
            <CostPrice>decimal</CostPrice>
          </ItemStockToken>
        </ResponseValue>
      </ChangedStockResult>
    </ChangedStockResponse>
  </soap12:Body>
</soap12:Envelope>


GetOrderInformation

Met deze methode kun je alle informatie omtrent een order ophalen op basis van een Sherpa Ordernumber.
Aan de hand van de OrderInformationTypes bepaal je wat je terug wilt hebben van de order.

Request:
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <GetOrderInformation xmlns="http://sherpa.sherpaan.nl/">
      <securityCode>string</securityCode>
      <orderNumber>string</orderNumber>
      <orderInformationTypes>
        <OrderInformationType>General or Customer or Tax or Follow or Reference or UserRemarks or Remarks or CollectionAgency or CustomFields or OrderAddress or OrderLines or ElectronicPayment or Payment or Parcel or Note or Rma</OrderInformationType>
        <OrderInformationType>General or Customer or Tax or Follow or Reference or UserRemarks or Remarks or CollectionAgency or CustomFields or OrderAddress or OrderLines or ElectronicPayment or Payment or Parcel or Note or Rma</OrderInformationType>
      </orderInformationTypes>
    </GetOrderInformation>
  </soap12:Body>
</soap12:Envelope>

Response:
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <GetOrderInformationResponse xmlns="http://sherpa.sherpaan.nl/">
      <GetOrderInformationResult>
        <ResponseTime>int</ResponseTime>
        <ResponseValue>
          <General>
            <OrderNumber>string</OrderNumber>
            <OrderDate>dateTime</OrderDate>
            <OrderStatus>BackOrder or Created or PicklistPrinted or Processed or Invoiced or Cancelled or OnHold or WaitingForPayment</OrderStatus>
            <InvoiceNumber>string</InvoiceNumber>
            <InvoiceDate>dateTime</InvoiceDate>
            <SendInvoiceByEmail>boolean</SendInvoiceByEmail>
            <NumberOfColli>int</NumberOfColli>
            <Priority>boolean</Priority>
            <ShippingDate>dateTime</ShippingDate>
            <PricesIncl>boolean</PricesIncl>
            <OrderAmountInclVAT>decimal</OrderAmountInclVAT>
            <OrderAmountInclVATInclBackOrderItems>decimal</OrderAmountInclVATInclBackOrderItems>
            <Paid>decimal</Paid>
            <ElectronicPaid>decimal</ElectronicPaid>
            <AmountDue>decimal</AmountDue>
            <Margin>decimal</Margin>
            <WarehouseCode>string</WarehouseCode>
            <OrderWarning>string</OrderWarning>
            <PaymentMethodCode>string</PaymentMethodCode>
            <ParcelServiceCode>string</ParcelServiceCode>
            <ParcelTypeCode>string</ParcelTypeCode>
            <Token>long</Token>
          </General>
          <Customer>
            <CustomerCode>string</CustomerCode>
            <ShopCode>string</ShopCode>
          </Customer>
          <Tax>
            <TaxIdNumber>string</TaxIdNumber>
          </Tax>
          <Follow>
            <FollowOrderFromOrderNumber>string</FollowOrderFromOrderNumber>
            <FollowedByOrderOrderNumber>string</FollowedByOrderOrderNumber>
          </Follow>
          <Reference>
            <Reference>string</Reference>
          </Reference>
          <UserRemarks>
            <UserRemarks>string</UserRemarks>
          </UserRemarks>
          <Remarks>
            <Remarks>string</Remarks>
          </Remarks>
          <CollectionAgency>
            <CollectionAgencyCode>int</CollectionAgencyCode>
          </CollectionAgency>
          <CustomFields>
            <CustomFields xsi:nil="true" />
          </CustomFields>
          <OrderAddress>
            <BillingAddress xsi:nil="true" />
            <ShipmentAddress xsi:nil="true" />
          </OrderAddress>
          <OrderLines>
<OrderLine>
<LineNumber>int</LineNumber>
<ItemCode>string</ItemCode>
<Description>string</Description>
<QuantityOrdered>int</QuantityOrdered>
<QuantityToDeliver>int</QuantityToDeliver>
<QuantityBackorder>int</QuantityBackorder>
<QuantityDropship>int</QuantityDropship>
<Price>decimal</Price>
<PriceIncl>decimal</PriceIncl>
<Amount>decimal</Amount>
<AmountIncl>decimal</AmountIncl>
<ItemMargin xsi:nil="true"/>
<LineMargin xsi:nil="true"/>
<DateExpected>dateTime</DateExpected>
<Properties>
<OrderLineProperty>
<Name></Name>
</OrderLineProperty>
</Properties>
<QuantityNeeded>int</QuantityNeeded>
<VatPercentage>decimal</VatPercentage>
</OrderLine>
          </OrderLines>
          <ElectronicPayment>
            <ElectronicPayments xsi:nil="true" />
          </ElectronicPayment>
          <Payment>
            <Payments xsi:nil="true" />
          </Payment>
          <Parcel>
            <Parcels xsi:nil="true" />
          </Parcel>
          <Note>
            <Notes xsi:nil="true" />
          </Note>
          <Rma>
            <RmaNumber>string</RmaNumber>
          </Rma>
        </ResponseValue>
      </GetOrderInformationResult>
    </GetOrderInformationResponse>
  </soap12:Body>
</soap12:Envelope>

GetCustomerInformation

Met deze methode kun je alle informatie omtrent een customer ophalen op basis van een Sherpa CustomerCode.
Aan de hand van de CustomerInformationTypes bepaal je wat je terug wilt hebben van de order.

Request:
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <GetCustomerInformation xmlns="http://sherpa.sherpaan.nl/">
      <securityCode>string</securityCode>
      <customerCode>string</customerCode>
      <customerInformationTypes>
        <CustomerInformationType>General or CustomFields or CustomerAddress or TotalInvoicedOrders</CustomerInformationType>
        <CustomerInformationType>General or CustomFields or CustomerAddress or TotalInvoicedOrders</CustomerInformationType>
      </customerInformationTypes>
    </GetCustomerInformation>
  </soap12:Body>
</soap12:Envelope>

Response:
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <GetCustomerInformationResponse xmlns="http://sherpa.sherpaan.nl/">
      <GetCustomerInformationResult>
        <ResponseTime>int</ResponseTime>
        <ResponseValue>
          <General>
            <CustomerCode>string</CustomerCode>
            <ShopCode>string</ShopCode>
            <DefaultPaymentMethodCode>string</DefaultPaymentMethodCode>
            <CalculateVAT>boolean</CalculateVAT>
            <Deleted>boolean</Deleted>
            <Creditlimit>decimal</Creditlimit>
            <AmountDue>decimal</AmountDue>
            <MaxNumberOfOrdersDue>int</MaxNumberOfOrdersDue>
            <CreditLimitExceeded>boolean</CreditLimitExceeded>
            <DateAdded>dateTime</DateAdded>
            <LastModified>dateTime</LastModified>
            <Token>long</Token>
          </General>
          <CustomFields>
            <CustomFields xsi:nil="true" />
          </CustomFields>
          <CustomerAddress>
            <BillingAddress xsi:nil="true" />
            <ShipmentAddress xsi:nil="true" />
            <SenderAddress xsi:nil="true" />
          </CustomerAddress>
          <TotalInvoicedOrders>
            <TotalInvoicedOrders>int</TotalInvoicedOrders>
            <TotalInvoicedOrdersAmountIncl>decimal</TotalInvoicedOrdersAmountIncl>
            <TotalInvoicedOrdersAmountExcl>decimal</TotalInvoicedOrdersAmountExcl>
          </TotalInvoicedOrders>
        </ResponseValue>
      </GetCustomerInformationResult>
    </GetCustomerInformationResponse>
  </soap12:Body>
</soap12:Envelope>

ItemInfo

Hiermee haal je op basis van het Sherpa ItemCode alle informatie omtrent een item op.

Request:
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <ItemInfo xmlns="http://sherpa.sherpaan.nl/">
      <securityCode>string</securityCode>
      <itemCode>string</itemCode>
    </ItemInfo>
  </soap12:Body>
</soap12:Envelope>

Response:
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <ItemInfoResponse xmlns="http://sherpa.sherpaan.nl/">
      <ItemInfoResult>
        <ResponseTime>int</ResponseTime>
        <ResponseValue>
          <ItemCode>string</ItemCode>
          <Description>string</Description>
          <ItemType>Unknown or Stock or Assembly or Text</ItemType>
          <ItemStatus>Active or EndOfLife or EndOfSale or Passive</ItemStatus>
          <Brand>string</Brand>
          <Dropship>boolean</Dropship>
          <AvgPurchasePrice>decimal</AvgPurchasePrice>
          <CostPrice>decimal</CostPrice>
          <Price>decimal</Price>
          <PriceIncl>decimal</PriceIncl>
          <VatCode>string</VatCode>
          <Location>string</Location>
          <StockPeriod>int</StockPeriod>
          <OrderVolume>int</OrderVolume>
          <MinStock>int</MinStock>
          <MaxStock>int</MaxStock>
          <QtyPicklistPrinted>int</QtyPicklistPrinted>
          <QtyCreated>int</QtyCreated>
          <QtyProcessed>int</QtyProcessed>
          <QtyOnHold>int</QtyOnHold>
          <QtyWaitingForPayment>int</QtyWaitingForPayment>
          <Stock>int</Stock>
          <Reserved>int</Reserved>
          <QtyBackorder>int</QtyBackorder>
          <EanCodes>
            <string>string</string>
            <string>string</string>
          </EanCodes>
          <ItemSuppliers>
            <ItemSupplier xsi:nil="true" />
            <ItemSupplier xsi:nil="true" />
          </ItemSuppliers>
          <ItemAssemblies>
            <ItemAssembly xsi:nil="true" />
            <ItemAssembly xsi:nil="true" />
          </ItemAssemblies>
          <ItemPurchases>
            <ItemPurchase xsi:nil="true" />
            <ItemPurchase xsi:nil="true" />
          </ItemPurchases>
          <CustomFields>
            <ItemCustomField xsi:nil="true" />
            <ItemCustomField xsi:nil="true" />
          </CustomFields>
          <Warehouses>
            <ItemWarehouse xsi:nil="true" />
            <ItemWarehouse xsi:nil="true" />
          </Warehouses>
          <Weight>float</Weight>
          <Length>float</Length>
          <Height>float</Height>
          <Width>float</Width>
          <Token>long</Token>
          <AvailableStock>int</AvailableStock>
          <AccountNumber>string</AccountNumber>
        </ResponseValue>
      </ItemInfoResult>
    </ItemInfoResponse>
  </soap12:Body>
</soap12:Envelope>


GetInvoice

Met de methode GetInvoice is het mogelijk de factuur van een bepaalde order op te halen aan de hand van een Sherpa CustomerCode en Sherpa OrderNumber.
Deze geeft de factuur als PDF terug in base64 formaat.

Request:
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <GetInvoice xmlns="http://sherpa.sherpaan.nl/">
      <securityCode>string</securityCode>
      <customerCode>string</customerCode>
      <orderNumber>string</orderNumber>
    </GetInvoice>
  </soap12:Body>
</soap12:Envelope>


Response:
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
  <soap12:Body>
    <GetInvoiceResponse xmlns="http://sherpa.sherpaan.nl/">
      <GetInvoiceResult>
        <ResponseTime>int</ResponseTime>
        <ResponseValue>
          <InvoiceNumber>string</InvoiceNumber>
          <InvoiceData>base64Binary</InvoiceData>
        </ResponseValue>
      </GetInvoiceResult>
    </GetInvoiceResponse>
  </soap12:Body>
</soap12:Envelope>


Overige methodes

Sherpa heeft nog veel meer methodes en deze kunnen per klant worden aangezet.



    • Related Articles

    • RMA API's

      Een overzicht van de verschillende API methods voor het maken / beheren van RMA's in Sherpa. De getoonde url's zijn voorbeelden en verschillen per Sherpa omgeving. De implementatie is uiteraard wel gelijk. De methods kunnen per Sherpa omgeving ...
    • Webhook voor verzendlabel(s)

      In Sherpa heb je de mogelijkheid om een verzendlabel op te halen via een in te stellen URL. Om dit te configureren neem je contact op met de Support van Sherpaan. Sherpa kan een HTTP(S) request doen naar een URL naar keuze. In dit request zit alle ...
    • Sherpa API overzicht

      Er zijn 3 API endpoints, de methodes binnen de endpoints zijn per Sherpa omgeving te activeren / deactiveren. De url's in dit document zijn voorbeeld API's en bevatten alle API methods die Sherpa op dit moment ondersteund. Via support@sherpaan.nl kan ...
    • BOL API credentials ophalen

      Voor de BOL koppeling hebben we API credentials nodig. Je kunt deze als volgt in je BOL portal aanmaken. Log in op je BOL portaal Log in op je BOL portaal en ga naar Instellingen > API Instellingen. Als er nog geen technische contact gegevens zijn ...
    • (Bij)betaaltool van Trentine

      De Bijbetaaltool / koppeling is ontwikkeld door: Trentine Leimuidenplaats 11 6843 HH  Arnhem info@trentine.com www.trentine.com Voor deze koppeling kan je contact opnemen met onze contactpersoon Gerwin Reuling hij kan je alles vertellen over de ...