[Beta]{class="badge informative"}

Een streamingbronverbinding en gegevensstroom maken voor Shopify -gegevens met de Flow Service API

NOTE
De Shopify -streamingbron bevindt zich in bèta. Gelieve te lezen het overzicht van bronnenvoor meer informatie bij het gebruiken van bèta-geëtiketteerde bronnen.

Het volgende leerprogramma verstrekt stappen op hoe te om een het stromen bronverbinding en dataflow tot stand te brengen aan stroomgegevens van Shopifyaan Adobe Experience Platform gebruikend Flow Service API.

Aan de slag getting-started

Deze handleiding vereist een goed begrip van de volgende onderdelen van het Experience Platform:

  • Bronnen: Experience Platform staat gegevens toe om van diverse bronnen worden opgenomen terwijl het voorzien van u van de capaciteit om, inkomende gegevens te structureren te etiketteren en te verbeteren gebruikend Platform diensten.
  • Sandboxes: Experience Platform verstrekt virtuele zandbakken die één enkele instantie van het Platform in afzonderlijke virtuele milieu's verdelen helpen digitale ervaringstoepassingen ontwikkelen en ontwikkelen.

Platform-API's gebruiken

Voor informatie over hoe te om vraag aan Platform APIs met succes te maken, zie de gids op begonnen wordt met Platform APIs.

Gegevens streamen Shopify naar platform met behulp van de Flow Service API

In het volgende voorbeeld worden de stappen beschreven die u moet uitvoeren om een bronverbinding en een gegevensstroom te maken om uw Shopify -gegevens te streamen naar Platform.

Een bronverbinding maken source-connection

Maak een bronverbinding door een verzoek tot POST in te dienen op de Flow Service API en de verbindingsspecificatie-id van uw bron, details zoals naam en beschrijving en de indeling van uw gegevens op te geven.

API formaat

POST /sourceConnections

Verzoek

Het volgende verzoek leidt tot een bronverbinding voor UUR:

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Shopify Streaming Source Connection",
      "providerId": "521eee4d-8cbe-4906-bb48-fb6bd4450033",
      "description": "Shopify Streaming Source Connection",
      "connectionSpec": {
          "id": "e77fd9d2-22a8-11ed-861d-0242ac120002",
          "version": "1.0"
      },
      "data": {
          "format": "json"
      }
    }'
Eigenschap
Beschrijving
name
De naam van de bronverbinding. Zorg ervoor dat de naam van uw bronverbinding beschrijvend is, aangezien u dit kunt gebruiken om informatie over uw bronverbinding op te zoeken.
description
Een optionele waarde die u kunt opnemen voor meer informatie over de bronverbinding.
connectionSpec.id
De verbindingsspecificatie-id die overeenkomt met uw bron.
data.format
De indeling van de Shopify -gegevens die u wilt invoeren. Momenteel is de enige ondersteunde gegevensindeling json .

Reactie

Een succesvolle reactie keert het unieke herkenningsteken (id) van de pas gecreëerde bronverbinding terug. Deze id is in een latere stap vereist om een gegevensstroom te maken.

{
     "id": "246d052c-da4a-494a-937f-a0d17b1c6cf5",
     "etag": "\"712a8c08-fda7-41c2-984b-187f823293d8\""
}

Een doel-XDM-schema maken target-schema

Om de brongegevens in Platform te gebruiken, moet een doelschema worden gecreeerd om de brongegevens volgens uw behoeften te structureren. Het doelschema wordt dan gebruikt om een dataset van het Platform tot stand te brengen waarin de brongegevens bevat zijn.

Een doelXDM schema kan worden gecreeerd door een verzoek van de POST aan de Registratie API van het Schemauit te voeren.

Voor gedetailleerde stappen op hoe te om een doelXDM schema tot stand te brengen, zie het leerprogramma op creërend een schema gebruikend API.

Een doelgegevensset maken target-dataset

Een doeldataset kan worden gecreeerd door een verzoek van de POST aan de Dienst API van de Catalogus uit te voeren, verstrekkend identiteitskaart van het doelschema binnen de nuttige lading.

Voor gedetailleerde stappen op hoe te om een doeldataset tot stand te brengen, zie het leerprogramma op het creëren van een dataset gebruikend API.

Een doelverbinding maken target-connection

Een doelverbinding vertegenwoordigt de verbinding met de bestemming waar de ingesloten gegevens moeten worden opgeslagen. Om een doelverbinding tot stand te brengen, moet u vaste identiteitskaart van de verbindingsspecificatie verstrekken die aan het gegevens meer beantwoordt. Deze id is: c604ff05-7f1a-43c0-8e18-33bf874cb11c .

U hebt nu de unieke herkenningstekens, een doelschema, een doeldataset, en identiteitskaart van de verbindingsspecificatie aan het gegevensmeer. Met behulp van deze id's kunt u een doelverbinding maken met de Flow Service API om de gegevensset op te geven die de binnenkomende brongegevens zal bevatten.

API formaat

POST /targetConnections

Verzoek

Met de volgende aanvraag wordt een doelverbinding voor Shopify gemaakt:

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Shopify Streaming Target Connection",
      "description": "Shopify Streaming Target Connection",
      "connectionSpec": {
          "id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
          "version": "1.0"
      },
      "data": {
          "format": "json",
          "schema": {
              "id": "{TARGET_XDM_SCHEMA}",
              "version": "application/vnd.adobe.xed-full+json;version=1"
          }
      },
      "params": {
          "dataSetId": "{TARGET_DATASET}"
      }
  }'
Eigenschap
Beschrijving
name
De naam van de doelverbinding. Zorg ervoor dat de naam van uw doelverbinding beschrijvend is, aangezien u dit kunt gebruiken om informatie over uw doelverbinding op te zoeken.
description
Een optionele waarde die u kunt opnemen voor meer informatie over de doelverbinding.
connectionSpec.id
De id van de verbindingsspecificatie die correspondeert met het data-meer. Deze vaste id is: c604ff05-7f1a-43c0-8e18-33bf874cb11c .
data.format
De indeling van de Shopify -gegevens die u naar het platform wilt verzenden.
params.dataSetId
De doel dataset ID die in een vorige stap wordt teruggewonnen.

Reactie

Een succesvolle reactie keert het unieke herkenningsteken van de nieuwe doelverbinding (id) terug. Deze id is vereist in latere stappen.

{
     "id": "7c96c827-3ffd-460c-a573-e9558f72f263",
     "etag": "\"a196f685-f5e8-4c4c-bfbd-136141bb0c6d\""
}

Een toewijzing maken mapping

Opdat de brongegevens in een doeldataset moeten worden opgenomen, moet het eerst aan het doelschema worden in kaart gebracht dat de doeldataset zich aan houdt. Dit wordt bereikt door een verzoek van de POST aan Data Prep APImet gegevenstoewijzingen uit te voeren die binnen de verzoeklading worden bepaald.

API formaat

POST /conversion/mappingSets

Verzoek

curl -X POST \
  'https://platform.adobe.io/data/foundation/mappingSets' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "version": 0,
      "xdmSchema": "{TARGET_XDM_SCHEMA}",
      "xdmVersion": "1.0",
      "mappings": [
          {
              "destinationXdmPath": "person.name.firstName",
              "sourceAttribute": "firstName",
              "identity": false,
              "version": 0
          },
          {
              "destinationXdmPath": "person.name.lastName",
              "sourceAttribute": "lastName",
              "identity": false,
              "version": 0
          }
      ]
  }'
Eigenschap
Beschrijving
xdmSchema
Identiteitskaart van het doelXDM- schemain een vroegere stap wordt geproduceerd.
mappings.destinationXdmPath
Het doel-XDM-pad waaraan het bronkenmerk wordt toegewezen.
mappings.sourceAttribute
Het bronkenmerk dat moet worden toegewezen aan een XDM-doelpad.
mappings.identity
Een Booleaanse waarde die aangeeft of de toewijzingsset wordt gemarkeerd voor Identity Service .

Reactie

Een succesvolle reactie keert details van de pas gecreëerde afbeelding met inbegrip van zijn uniek herkenningsteken (id) terug. Deze waarde is in een latere stap vereist om een gegevensstroom te maken.

{
    "id": "bf5286a9c1ad4266baca76ba3adc9366",
    "version": 0,
    "createdDate": 1597784069368,
    "modifiedDate": 1597784069368,
    "createdBy": "{CREATED_BY}",
    "modifiedBy": "{MODIFIED_BY}"
}

Een flow maken flow

De laatste stap op weg naar het verzenden van gegevens van Shopify naar Platform is het maken van een gegevensstroom. Momenteel zijn de volgende vereiste waarden voorbereid:

Een dataflow is verantwoordelijk voor het plannen en verzamelen van gegevens uit een bron. U kunt een gegevensstroom tot stand brengen door een verzoek van de POST uit te voeren terwijl het verstrekken van de eerder vermelde waarden binnen de lading.

API formaat

POST /flows

Verzoek

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/flows' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Shopify Streaming Dataflow",
      "description": "Shopify Streaming Dataflow",
      "flowSpec": {
          "id": "e77fde5a-22a8-11ed-861d-0242ac120002",
          "version": "1.0"
      },
      "sourceConnectionIds": [
          "246d052c-da4a-494a-937f-a0d17b1c6cf5"
      ],
      "targetConnectionIds": [
          "7c96c827-3ffd-460c-a573-e9558f72f263"
      ],
      "transformations": [
      {
        "name": "Mapping",
        "params": {
          "mappingId": "bf5286a9c1ad4266baca76ba3adc9366",
          "mappingVersion": 0
        }
      }
    ]
  }'
Eigenschap
Beschrijving
name
De naam van uw gegevensstroom. Zorg ervoor dat de naam van uw gegevensstroom beschrijvend is, aangezien u dit kunt gebruiken om op informatie over uw gegevensstroom omhoog te kijken.
description
Een optionele waarde die u kunt opnemen voor meer informatie over uw gegevensstroom.
flowSpec.id
De flow specification-id die is vereist om een gegevensstroom te maken. Deze vaste id is: e77fde5a-22a8-11ed-861d-0242ac120002 .
flowSpec.version
De corresponderende versie van de specificatie-id voor de stroom. Deze waarde is standaard ingesteld op 1.0 .
sourceConnectionIds
bron verbindingsidentiteitskaartdie in een vroegere stap wordt geproduceerd.
targetConnectionIds
De identiteitskaart van de doelverbindingdie in een vroegere stap wordt geproduceerd.
transformations
Deze eigenschap bevat de verschillende transformaties die op de gegevens moeten worden toegepast. Dit bezit wordt vereist wanneer het brengen van niet-XDM-Volgzame gegevens aan Platform.
transformations.name
De naam die aan de transformatie is toegewezen.
transformations.params.mappingId
afbeelding identiteitskaartdie in een vroegere stap wordt geproduceerd.
transformations.params.mappingVersion
De corresponderende versie van de toewijzing-id. Deze waarde is standaard ingesteld op 0 .

Reactie

Een succesvolle reactie keert identiteitskaart (id) van nieuw gecreeerd dataflow terug. Met deze id kunt u uw gegevensstroom controleren, bijwerken of verwijderen.

{
     "id": "993f908f-3342-4d9c-9f3c-5aa9a189ca1a",
     "etag": "\"510bb1d4-8453-4034-b991-ab942e11dd8a\""
}

Uw URL voor het streamingeindpunt ophalen

Met uw gemaakte gegevensstroom, kunt u uw het stromen eindpunt URL nu terugwinnen. U zult dit eindpunt URL gebruiken om uw bron aan een webhaak in te tekenen, toestaand uw bron om met Experience Platform te communiceren.

Om uw het stromen eindpunt URL terug te winnen, doe een verzoek van de GET aan het /flows eindpunt en verstrek identiteitskaart van uw gegevensstroom.

API formaat

GET /flows/{FLOW_ID}

Verzoek

curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/flows/993f908f-3342-4d9c-9f3c-5aa9a189ca1a' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

Reactie

Een geslaagde reactie retourneert informatie over de gegevensstroom, inclusief de URL van het eindpunt, gemarkeerd als inletUrl .

{
   "header":{
      "xactionId":"1658464615769:0062:161",
      "source":{
         "name":"shopify"
      },
      "sandboxId":"d537df80-c5d7-11e9-aafb-87c71c35cac8",
      "sandboxName":"prod",
      "originalTimestamp":1658464615770,
      "msgId":"1658464615769:0062:161",
      "msgVersion":"1.0",
      "traceContext":{
         "traceId":"ff3e7544618471eee6b934a4c5929d4e",
         "spanId":"74a759c5cc5f5a06",
         "isSampled":1.0
      },
      "_dcsMeta":{
         "inletId":"9d411a24aa3c0a3eded92bac6c64d0da986ee7a8212f87168c5fb42d9ddc3227",
         "authenticatedRequest":false,
         "debug":true
      }
   },
   "body":{
      "id":4135234371722,
      "admin_graphql_api_id":"gid://shopify/Order/4135234371722",
      "app_id":1354745,
      "browser_ip":null,
      "buyer_accepts_marketing":false,
      "cancel_reason":null,
      "cancelled_at":null,
      "cart_token":null,
      "checkout_id":21706716217482,
      "checkout_token":"b143503216124d50141fe0832fa3f4b0",
      "client_details":{
         "accept_language":null,
         "browser_height":null,
         "browser_ip":null,
         "browser_width":null,
         "session_hash":null,
         "user_agent":null
      },
      "closed_at":null,
      "confirmed":true,
      "contact_email":null,
      "created_at":"2022-07-22T00:36:48-04:00",
      "currency":"INR",
      "current_subtotal_price":"40000.00",
      "current_subtotal_price_set":{
         "shop_money":{
            "amount":"40000.00",
            "currency_code":"INR"
         },
         "presentment_money":{
            "amount":"40000.00",
            "currency_code":"INR"
         }
      },
      "current_total_discounts":"0.00",
      "current_total_discounts_set":{
         "shop_money":{
            "amount":"0.00",
            "currency_code":"INR"
         },
         "presentment_money":{
            "amount":"0.00",
            "currency_code":"INR"
         }
      },
      "current_total_duties_set":null,
      "current_total_price":"47200.00",
      "current_total_price_set":{
         "shop_money":{
            "amount":"47200.00",
            "currency_code":"INR"
         },
         "presentment_money":{
            "amount":"47200.00",
            "currency_code":"INR"
         }
      },
      "current_total_tax":"7200.00",
      "current_total_tax_set":{
         "shop_money":{
            "amount":"7200.00",
            "currency_code":"INR"
         },
         "presentment_money":{
            "amount":"7200.00",
            "currency_code":"INR"
         }
      },
      "customer_locale":null,
      "device_id":null,
      "discount_codes":[

      ],
      "email":"",
      "estimated_taxes":false,
      "financial_status":"paid",
      "fulfillment_status":null,
      "gateway":"manual",
      "landing_site":null,
      "landing_site_ref":null,
      "location_id":39129743498,
      "name":"#1005",
      "note":null,
      "note_attributes":[

      ],
      "number":5,
      "order_number":1005,
      "order_status_url":"https://connnectors-test.myshopify.com/31913214090/orders/ffd48198c78ef460177e44e22b19e6ab/authenticate?key=79a40d7da4b23d6a0beb2ba774f6ac83",
      "original_total_duties_set":null,
      "payment_gateway_names":[
         "manual"
      ],
      "phone":null,
      "presentment_currency":"INR",
      "processed_at":"2022-07-22T00:36:48-04:00",
      "processing_method":"manual",
      "reference":null,
      "referring_site":null,
      "source_identifier":null,
      "source_name":"shopify_draft_order",
      "source_url":null,
      "subtotal_price":"40000.00",
      "subtotal_price_set":{
         "shop_money":{
            "amount":"40000.00",
            "currency_code":"INR"
         },
         "presentment_money":{
            "amount":"40000.00",
            "currency_code":"INR"
         }
      },
      "tags":"",
      "tax_lines":[
         {
            "price":"7200.00",
            "rate":0.18,
            "title":"IGST",
            "price_set":{
               "shop_money":{
                  "amount":"7200.00",
                  "currency_code":"INR"
               },
               "presentment_money":{
                  "amount":"7200.00",
                  "currency_code":"INR"
               }
            },
            "channel_liable":false
         }
      ],
      "taxes_included":false,
      "test":false,
      "token":"ffd48198c78ef460177e44e22b19e6ab",
      "total_discounts":"0.00",
      "total_discounts_set":{
         "shop_money":{
            "amount":"0.00",
            "currency_code":"INR"
         },
         "presentment_money":{
            "amount":"0.00",
            "currency_code":"INR"
         }
      },
      "total_line_items_price":"40000.00",
      "total_line_items_price_set":{
         "shop_money":{
            "amount":"40000.00",
            "currency_code":"INR"
         },
         "presentment_money":{
            "amount":"40000.00",
            "currency_code":"INR"
         }
      },
      "total_outstanding":"0.00",
      "total_price":"47200.00",
      "total_price_set":{
         "shop_money":{
            "amount":"47200.00",
            "currency_code":"INR"
         },
         "presentment_money":{
            "amount":"47200.00",
            "currency_code":"INR"
         }
      },
      "total_price_usd":"589.95",
      "total_shipping_price_set":{
         "shop_money":{
            "amount":"0.00",
            "currency_code":"INR"
         },
         "presentment_money":{
            "amount":"0.00",
            "currency_code":"INR"
         }
      },
      "total_tax":"7200.00",
      "total_tax_set":{
         "shop_money":{
            "amount":"7200.00",
            "currency_code":"INR"
         },
         "presentment_money":{
            "amount":"7200.00",
            "currency_code":"INR"
         }
      },
      "total_tip_received":"0.00",
      "total_weight":800,
      "updated_at":"2022-07-22T00:36:49-04:00",
      "user_id":44968935562,
      "discount_applications":[

      ],
      "fulfillments":[

      ],
      "line_items":[
         {
            "id":10630730743946,
            "admin_graphql_api_id":"gid://shopify/LineItem/10630730743946",
            "fulfillable_quantity":1,
            "fulfillment_service":"manual",
            "fulfillment_status":null,
            "gift_card":false,
            "grams":800,
            "name":"Mobile Phones",
            "origin_location":{
               "id":3141069111434,
               "country_code":"IN",
               "province_code":"UP",
               "name":"Noida",
               "address1":"Noida",
               "address2":"",
               "city":"Noida",
               "zip":"201301"
            },
            "price":"40000.00",
            "price_set":{
               "shop_money":{
                  "amount":"40000.00",
                  "currency_code":"INR"
               },
               "presentment_money":{
                  "amount":"40000.00",
                  "currency_code":"INR"
               }
            },
            "product_exists":true,
            "product_id":4525859963018,
            "properties":[

            ],
            "quantity":1,
            "requires_shipping":true,
            "sku":"",
            "taxable":true,
            "title":"Mobile Phones",
            "total_discount":"0.00",
            "total_discount_set":{
               "shop_money":{
                  "amount":"0.00",
                  "currency_code":"INR"
               },
               "presentment_money":{
                  "amount":"0.00",
                  "currency_code":"INR"
               }
            },
            "variant_id":32045196640394,
            "variant_inventory_management":"shopify",
            "variant_title":"",
            "vendor":"Connnectors Test",
            "tax_lines":[
               {
                  "channel_liable":false,
                  "price":"7200.00",
                  "price_set":{
                     "shop_money":{
                        "amount":"7200.00",
                        "currency_code":"INR"
                     },
                     "presentment_money":{
                        "amount":"7200.00",
                        "currency_code":"INR"
                     }
                  },
                  "rate":0.18,
                  "title":"IGST"
               }
            ],
            "duties":[

            ],
            "discount_allocations":[

            ]
         }
      ],
      "payment_terms":null,
      "refunds":[

      ],
      "shipping_lines":[

      ]
   }
}

Bijlage

In de volgende sectie vindt u informatie over de stappen die u kunt uitvoeren om uw gegevensstroom te controleren, bij te werken en te verwijderen.

Uw gegevensstroom controleren

Zodra uw gegevensstroom is gecreeerd, kunt u de gegevens controleren die door het worden opgenomen om informatie over stroomlooppas, voltooiingsstatus, en fouten te zien. Voor volledige API voorbeelden, lees de gids op controlerend uw brongegevens gebruikend API.

Uw gegevensstroom bijwerken

Werk de details van uw gegevensstroom, zoals zijn naam en beschrijving, evenals zijn looppas programma en bijbehorende kaartreeksen bij, door een verzoek van PATCH aan het /flows eindpunt van Flow Service API, terwijl het verstrekken van identiteitskaart van uw dataflow. Wanneer u een PATCH-verzoek indient, moet u de unieke etag gegevens van uw gegevensstroom opgeven in de If-Match -header. Voor volledige API voorbeelden, lees de gids bij het bijwerken bronnen dataflows gebruikend API

Uw account bijwerken

Werk de naam, beschrijving en gegevens van uw bronaccount bij door een PATCH-aanvraag uit te voeren naar de Flow Service API en uw basis-verbindings-id op te geven als een queryparameter. Wanneer u een PATCH-aanvraag indient, moet u de unieke etag van uw bronaccount opgeven in de If-Match -header. Voor volledige API voorbeelden, lees de gids bij het bijwerken van uw bronrekening gebruikend API.

Uw gegevensstroom verwijderen

Verwijder de gegevensstroom door een DELETE-aanvraag uit te voeren naar de Flow Service API en de id op te geven van de gegevensstroom die u wilt verwijderen als onderdeel van de queryparameter. Voor volledige API voorbeelden, lees de gids op schrappend uw dataflows gebruikend API.

Uw account verwijderen

Verwijder uw account door een DELETE-aanvraag uit te voeren naar de Flow Service API terwijl u de basis verbinding-id opgeeft van het account dat u wilt verwijderen. Voor volledige API voorbeelden, lees de gids bij het schrappen van uw bronrekening gebruikend API.

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089