*************** Personalization *************** Personalization is the process of adding a name and other consumer details to one or more tickets. Personalizing a ticket is only possible in the personalization period of an event. You can get the personalization period from the :doc:`/documentation/event` resource. Some events require that tickets are personalized before allowing entry. Usually this means you have to personalize all tickets in an order before the E-Ticket download option becomes available. After successfully personalizing a ticket, the fan will receive an email confirming the personalization. There are two ways to do the personalization request: - :ref:`personalize-as-creator` - :ref:`personalize-as-friend` .. _personalize-as-creator: Personalize a ticket as the order creator ========================================= Use this way when you have access to the order. You have access to the order if you own an :ref:`order-token` or when you have a :ref:`cognito-token` for the creator of the order. Request data ------------ ========================= ============================================ ================================================= Field name Type Description ========================= ============================================ ================================================= order :doc:`orders` reference A reference to the order of the tickets. tickets :doc:`Ticket ` references A list of tickets references to be personalized. consumer :doc:`/documentation/consumer` A consumer object, describing the information of the consumer for whom the order is being placed. opt_in Object with ``{: }`` Opt-in choice indicating teh consumer's preference regarding newsletters and marketing. See :ref:`set-opt-in`. ========================= ============================================ ================================================= Example request --------------- .. code-block:: bash # With an Order-Token or Cognito-Token request header [POST] https://shopping-api.paylogic.com/personalization .. code-block:: javascript { "order": "https://shopping-api.paylogic.com/orders/1a701ca300944a0da88212b5c18e74d2&q", "tickets": [ "https://shopping-api.paylogic.com/tickets/333cdbb9ce254c7e9fb4c10337481d04" ], "consumer": { "gender": 1, "first_name": "John", "last_name": "Doe", "date_of_birth": "1970-01-01", "email": "john.doe@example.org", "cognito_user": "c1c35532-1e0e-455e-83c5-d0e52b3206fa" // Add a cognito_user when Cognito is enabled for the channel of the original order. }, "opt_in": { "opt_in": false, "opt_in_2": false } } The server will respond with the schema returned in :ref:`get-personalization` if the ticket was successfully personalized. .. _personalize-as-friend: Personalize a ticket as a friend ================================ Use this way when someone other than the creator of an order needs to personalize a ticket. This flow is explained in :doc:`/documentation/personalization_request`. Authenticate the request with a :ref:`personalization-request-token`. Request data ------------ ========================= ============================================ ================================================= Field name Type Description ========================= ============================================ ================================================= personalization_request :doc:`personalization_request` reference A reference to the personalization_request of the tickets. tickets :doc:`Ticket ` references A list of references to tickets that should be personalized. consumer :doc:`/documentation/consumer` A consumer object, describing the information of the consumer for whom the order is being placed. opt_in Object with ``{: }`` Opt-in choice indicating teh consumer's preference regarding newsletters and marketing. See :ref:`set-opt-in`. ========================= ============================================ ================================================= Example request --------------- .. code-block:: bash # With a Personalization-Request-Token request header [POST] https://shopping-api.paylogic.com/personalization .. code-block:: javascript { "personalization_request": "https://shopping-api.paylogic.com/personalization-requests/cbc0fde8aa804984b559feab6d8fc683", "tickets": [ "https://shopping-api.paylogic.com/tickets/333cdbb9ce254c7e9fb4c10337481d04" ], "consumer": { "gender": 1, "first_name": "John", "last_name": "Doe", "date_of_birth": "1970-01-01", "email": "john.doe@example.org" }, "opt_in": { "opt_in": false, "opt_in_2": false } } The server will respond with returned in :ref:`get-personalization` if the ticket was successfully personalized. .. _get-personalization: Get a personalization ===================== A personalization can be fetched by sending a GET request using the associated :code:`uid`. Authentication goes via the :ref:`order-token` or when you have a :ref:`cognito-token` for the creator of the order. Response -------- ======================== =============================== ===================================================================== Field name Type Description ======================== =============================== ===================================================================== consumer :doc:`/documentation/consumer` Additional information of a the consumer of the personalization. ======================== =============================== ===================================================================== Embedded resources ~~~~~~~~~~~~~~~~~~ * ``shop:ticket``: embedded list of tickets in this personalization, see :doc:`/documentation/tickets`. * ``shop:product``: embedded list of products belonging to the tickets in this personalization, see :doc:`/documentation/product`. Example ~~~~~~~ .. code-block:: bash [GET] https://shopping-api.paylogic.com/personalization/0c2019503cd666fb35c5a3dbd7bafe86 .. code-block:: javascript { "_links": { "self": { "href": "http://127.0.0.1/personalization/b8e908f8fedd46cda6c869fad7ed9362" }, "curies": [ { "href": "https://shopping-api-docs.paylogic.com/documentation/{rel}.html", "name": "shop", "templated": true, "type": "text/html" } ] }, "_embedded": { "shop:ticket": [ { "_links": { "self": { "href": "http://127.0.0.1/tickets/e4e5dfa7bdf04fafa720bbe4e788b2f0" }, "shop:ticket_transfer_approvals": { "href": "http://127.0.0.1/ticket-transfer-approvals" }, "shop:event": { "href": "http://127.0.0.1/events/6c30df8b025c4c9483fd44617634f108" }, "shop:product": { "href": "http://127.0.0.1/products/bb43b11d96284a83b595ab479eda6ffb" }, "shop:order": { "href": "http://127.0.0.1/orders/b54881be4b6d4479946081b8b66f7522" }, "profile": { "href": "https://shopping-api-docs.paylogic.com/documentation/tickets.html", "type": "text/html" }, "shop:eticket": { "href": "http://127.0.0.1:8001/download/eticket/efQqrLtb6b2HCGkeWeIegbFADsf4QGIuGvHjMR_3LUU" }, "shop:personalization_request": [], "shop:refund_requests": [], "curies": [ { "href": "https://shopping-api-docs.paylogic.com/documentation/{rel}.html", "name": "shop", "templated": true, "type": "text/html" } ] }, "uid": "e4e5dfa7bdf04fafa720bbe4e788b2f0", "price": { "amount": "1.20", "currency": "EUR" }, "seating": { "seat": "", "seat_label": { "en": "", "nl": "", "de": "", "es": "", "fr": "", "pt": "" }, "row": "", "row_label": { "en": "", "nl": "", "de": "", "es": "", "fr": "", "pt": "" }, "section": "", "section_label": { "en": "", "nl": "", "de": "", "es": "", "fr": "", "pt": "" }, "venue": { "en": "", "nl": "", "de": "", "es": "", "fr": "", "pt": "" } }, "personalized": true, "needs_personalization": false, "personalization_form": null, "personalization_start": null, "personalization_end": null, "code": "8278798513688", "is_scanned": false, "subproduct": { "en": "", "nl": "", "de": "", "es": "", "fr": "", "pt": "" }, "_embedded": { "shop:transfer_sale": [] }, "status": "valid", "consumer": { "first_name": "Larry", "last_name": "Phillips", "date_of_birth": "1969-01-01", "email": "charles16fitqzwawe@rodriguez.com", "phone_number": "9808567708529", "company_name": "Clark Group", "vat_number": "", "gender": 1, "address": "816 Bailey Prairie", "postal_code": "39746", "city": "East Jeantown", "country": "NL", "state": "CO", "realm": "aad3fec4f4b5469095a050dcd17b5144", "language": "en", "external_reference": null }, "has_valid_subscription": false, "service_fee_paid": { "amount": "2.00", "currency": "EUR" }, "fulfillment_starts_at": null } ], "shop:product": [ { "_links": { "self": { "href": "http://127.0.0.1/products/bb43b11d96284a83b595ab479eda6ffb" } }, "name": { "en": "Simple product 1", "nl": "Gewoon product 1", "de": "", "es": "", "fr": "", "pt": "" }, "price": { "amount": "1.20", "currency": "EUR" }, "analytics_data": { "reference": 8 } } ] }, "consumer": { "first_name": "Larry", "last_name": "Phillips", "date_of_birth": "1969-01-01", "email": "charles16fitqzwawe@rodriguez.com", "phone_number": "9808567708529", "gender": 1, "address": "816 Bailey Prairie", "postal_code": "39746", "city": "East Jeantown", "country": "Netherlands", "state": null, "language": "en" } } Get all personalizations on the order ===================================== All personalizations for a specific order can be fetched by sending a GET request using the associated order URI. Authentication goes via the :ref:`order-token` or when you have a :ref:`cognito-token` for the creator of the order. Example ------- .. code-block:: bash [GET] https://shopping-api.paylogic.com/personalization/?order=https://shopping-api.paylogic.com/orders/87a2195h3gd162fb35c5a3dbd7bapo1l .. code-block:: javascript { "_links":{ "self":{ "href":"http://127.0.0.1/personalization" }, "curies":[ { "href":"https://shopping-api-docs.paylogic.com/documentation/{rel}.html", "name":"shop", "templated": true, "type":"text/html" } ] }, "_embedded":{ "shop:personalization":[ { "_links": { "self": { "href": "http://127.0.0.1/personalization/b8e908f8fedd46cda6c869fad7ed9362" }, "curies": [ { "href": "https://shopping-api-docs.paylogic.com/documentation/{rel}.html", "name": "shop", "templated": true, "type": "text/html" } ] }, "_embedded": { "shop:ticket": [ { "_links": { "self": { "href": "http://127.0.0.1/tickets/e4e5dfa7bdf04fafa720bbe4e788b2f0" }, "shop:ticket_transfer_approvals": { "href": "http://127.0.0.1/ticket-transfer-approvals" }, "shop:event": { "href": "http://127.0.0.1/events/6c30df8b025c4c9483fd44617634f108" }, "shop:product": { "href": "http://127.0.0.1/products/bb43b11d96284a83b595ab479eda6ffb" }, "shop:order": { "href": "http://127.0.0.1/orders/b54881be4b6d4479946081b8b66f7522" }, "profile": { "href": "https://shopping-api-docs.paylogic.com/documentation/tickets.html", "type": "text/html" }, "shop:eticket": { "href": "http://127.0.0.1:8001/download/eticket/efQqrLtb6b2HCGkeWeIegbFADsf4QGIuGvHjMR_3LUU" }, "shop:personalization_request": [], "shop:refund_requests": [], "curies": [ { "href": "https://shopping-api-docs.paylogic.com/documentation/{rel}.html", "name": "shop", "templated": true, "type": "text/html" } ] }, "uid": "e4e5dfa7bdf04fafa720bbe4e788b2f0", "price": { "amount": "1.20", "currency": "EUR" }, "seating": { "seat": "", "seat_label": { "en": "", "nl": "", "de": "", "es": "", "fr": "", "pt": "" }, "row": "", "row_label": { "en": "", "nl": "", "de": "", "es": "", "fr": "", "pt": "" }, "section": "", "section_label": { "en": "", "nl": "", "de": "", "es": "", "fr": "", "pt": "" }, "venue": { "en": "", "nl": "", "de": "", "es": "", "fr": "", "pt": "" } }, "personalized": true, "needs_personalization": false, "personalization_form": null, "personalization_start": null, "personalization_end": null, "code": "8278798513688", "is_scanned": false, "subproduct": { "en": "", "nl": "", "de": "", "es": "", "fr": "", "pt": "" }, "_embedded": { "shop:transfer_sale": [] }, "status": "valid", "consumer": { "first_name": "Larry", "last_name": "Phillips", "date_of_birth": "1969-01-01", "email": "charles16fitqzwawe@rodriguez.com", "phone_number": "9808567708529", "company_name": "Clark Group", "vat_number": "", "gender": 1, "address": "816 Bailey Prairie", "postal_code": "39746", "city": "East Jeantown", "country": "NL", "state": "CO", "realm": "aad3fec4f4b5469095a050dcd17b5144", "language": "en", "external_reference": null }, "has_valid_subscription": false, "service_fee_paid": { "amount": "2.00", "currency": "EUR" }, "fulfillment_starts_at": null } ], "shop:product": [ { "_links": { "self": { "href": "http://127.0.0.1/products/bb43b11d96284a83b595ab479eda6ffb" } }, "name": { "en": "Simple product 1", "nl": "Gewoon product 1", "de": "", "es": "", "fr": "", "pt": "" }, "price": { "amount": "1.20", "currency": "EUR" }, "analytics_data": { "reference": 8 } } ] }, "consumer": { "first_name": "Larry", "last_name": "Phillips", "date_of_birth": "1969-01-01", "email": "charles16fitqzwawe@rodriguez.com", "phone_number": "9808567708529", "gender": 1, "address": "816 Bailey Prairie", "postal_code": "39746", "city": "East Jeantown", "country": "Netherlands", "state": null, "language": "en" } } ] } }